Installer un serveur Web LAMP (Apache, MySQL, PHP) sur WSL 2

Installer un serveur Web LAMP (Apache, MySQL, PHP) sur WSL 2

I. Présentation

Dans ce tutoriel, nous allons installer un serveur Web sur WSL 2 (Windows Subsystem for Linux 2), à partir d’une distribution Ubuntu (Linux). L’objectif étant d’avoir un serveur LAMP complet basé sur Apache2, MySQL et PHP.

Pour ce dixième épisode de ma série d’articles au sujet de WSL, nous allons mettre en œuvre un rôle sur une distribution Linux. Puisque WSL 2 intègre un noyau Linux complet, c’est l’occasion de monter un serveur Web facilement, sans devoir monter sa propre machine virtuelle, et sans devoir installer WAMP ou XAMPP sur sa machine Windows directement.

Comme nous avons pu le voir, on peut facilement accéder aux données de notre machine Linux depuis Windows, ce qui sera pratique au quotidien ! Du coup, avec WSL 2, on a tout ce qu’il faut à disposition pour monter un serveur Web le temps du développement, avant de le basculer en production sur un serveur dédié à cet usage.

Si l’idée vous plaît, vous n’avez plus qu’à suivre les étapes ci-dessous.

II. Installation du serveur LAMP sur Ubuntu via WSL

Je pars du principe que WSL 2 est déjà actif et que vous avez déjà une distribution Ubuntu 20.04 installée également. Pour ma part, je me trouve sur Windows 10 pour réaliser les manipulations.

wsl -l -v

Je vais démarrer ma distribution Ubuntu et directement accéder à sa console.

wsl -d Ubuntu

Commençons par mettre à jour le cache des paquets :

sudo apt update

Puis, mettons à jour les paquets en eux-mêmes pour partir sur une bonne base :

sudo apt upgrade

Une fois cette première étape franchie, passons à l’installation des paquets nécessaires à la mise en œuvre d’un serveur LAMP sous Ubuntu.

Pour faciliter l’installation des paquets Apache2, MySQL et PHP, ainsi que certains modules, nous allons directement utiliser le meta package « lamp-server ». Cela va éviter d’installer les composants séparément, mais cela fonctionnerait aussi.

Voici la commande à exécuter (le caractère « ^ » à la fin est important) :

sudo apt-get install lamp-server^

Sur la copie d’écran ci-dessous, vous pouvez voir tous les paquets qui seront installés :

Serveur LAMP WSL 2

III. S’assurer du bon fonctionnement du serveur Web

Une fois que l’installation des paquets est effectuée, on peut démarrer notre serveur Web Apache2 :

sudo service apache2 start

D’ailleurs, il est livré avec une page index.html très basique, mais qui va permettre de s’assurer que le serveur Web est joignable. Ce fichier est disponible dans le répertoire « /var/www/html », qui correspond au répertoire du site par défaut d’Apache2.

ls /var/www/html/

Depuis la machine Windows, nous pouvons accéder à la page d’accueil de notre site Web via un navigateur :

http://localhost

Serveur Apache avec WSL

Pour vérifier que notre moteur de script PHP est bien actif lui aussi, on peut créer un fichier phpinfo.php (ou un autre nom) à la racine de notre site Web :

sudo nano /var/www/html/phpinfo.php

Dans ce fichier, indiquez le code suivant :


La fonction phpinfo() permet d’afficher la configuration actuelle de PHP sur notre serveur. Elle est très intéressante et riche en information. Il faudra penser à supprimer ce fichier quand votre site deviendra public : les informations ne doivent pas être à la disposition de n’importe qui…

Si l’on retourne sur la machine Windows 10 et que l’on accède à notre page phpinfo.php, on voit bien que ça fonctionne !

http://localhost/phpinfo.php

Pour éditer la configuration du site par défaut d’Apache2, il faut s’attaquer au fichier suivant :

sudo nano /etc/apache2/sites-available/000-default.conf

Quant à la partie MySQL 8.0, elle mérite aussi un peu d’attention. Commençons par démarrer le service :

sudo service mysql start

La commande ci-dessous va permettre d’obtenir la version actuelle de MySQL que l’on a déployé sur notre distribution Ubuntu :

sudo mysql -V
mysql Ver 8.0.25-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

Ensuite, nous allons exécuter une opération de sécurisation de notre instance MySQL en exécutant la commande suivante :

sudo mysql_secure_installation

Un assistant va s’exécuter et vous allez avoir le droit à un interrogatoire ! 😉

Première étape : le composant « Validate Password », que je vous recommande d’activer en indiquant « y ». Il va permettre entre autre d’imposer une politique de mots de passe au niveau de votre MySQL. Ensuite, il faut choisir une politique de validation des mots de passe entre LOW (0), MEDIUM (1) et STRONG (2).

Une fois que c’est fait, vous devrez définir le mot de passe « root » de l’instance MySQL : un mot de passe complexe à ne surtout pas perdre !

S’en suit une série de questions… Pour sécuriser au minimum votre instance MySQL, je vous recommande de répondre « Oui » (« y ») à toutes les questions. Par exemple, cela va permettre d’empêcher les accès anonymes et de désactiver les connexions distantes avec l’utilisateur « root ».

Une fois que c’est fait, vous pouvez accéder à la ligne de commande MySQL grâce à la commande suivante :

sudo mysql -u root -p

Il ne reste plus qu’à saisir le mot de passe « root » de MySQL.

Notre serveur LAMP sur Ubuntu, via WSL 2 (et Windows 10) est en place ! Il ne reste plus qu’à configurer le serveur Web comme on pourrait le faire dans une machine virtuelle classique. Libre à vous de déployer votre application favorite sur ce serveur : WordPress, Nextcloud, etc… Ou développer votre propre projet.

Hébergez votre site à partir de 2$ sur 👉👉👉

À propos Santana

Analyste en cybersécurité avec 5 ans d'expérience dans la protection des systèmes d'information contre les menaces et les attaques. Expertise dans la surveillance des réseaux, l'analyse des vulnérabilités, et la gestion des incidents de sécurité. Passionnée par l'innovation technologique et la mise en œuvre de solutions de sécurité robustes pour protéger les données sensibles et assurer la conformité réglementaire.

Vérifiez également

WSL : personnaliser le démarrage de Linux avec /etc/wsl.conf

WSL : personnaliser le démarrage de Linux avec /etc/wsl.conf

Table de Matieres1 I. Présentation2 II. Création du fichier /etc/wsl.conf3 III. WSL (user) : modifier …

WSL : comment accéder aux fichiers Linux depuis Windows 10 ?

WSL : comment accéder aux fichiers Linux depuis Windows 10 ?

Table de Matieres1 I. Présentation2 II. Le partage spécial \\wsl$3 III. Découverte de la commande …

10 commandes pour maîtriser WSL sous Windows 10

10 commandes pour maîtriser WSL sous Windows 10

Table de Matieres1 I. Présentation2 III. WSL : modifier la version d’une distribution Linux3 IV. …

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.