Le terme LEMP est un acronyme désignant un ensemble de logiciels open-source utilisés pour créer des serveurs web puissants et performants. Il est composé de Linux, Nginx (le serveur web), MariaDB (le système de gestion de bases de données), et PHP (le langage de programmation côté serveur).
Précédemment, j’ai publié un petit tutoriel sur l’installation de LAMP (Linux, Apache, MariaDB, PHP) sur Debian 12. Cependant, il existe quelques différences subtiles entre LAMP et LEMP, notamment avec l’utilisation de Nginx à la place d’Apache. Nginx est souvent préféré pour sa capacité à gérer un grand nombre de connexions simultanées, ce qui le rend idéal pour les sites à fort trafic.
Dans ce guide, nous allons installer et configurer un environnement LEMP sur Debian 12 avec MariaDB pour un seul site web, sans modification des virtual hosts. À la fin de ce tutoriel, vous aurez un serveur web fonctionnel et comprendrez les différences importantes entre LAMP et LEMP.
Prérequis
Dans ce tutoriel, j’utilise un conteneur LXC Debian 12 configuré sous Proxmox, mais vous pouvez également suivre ces étapes sur un serveur Debian ou Ubuntu. Il est nécessaire d’avoir un accès SSH au conteneur avec un utilisateur ayant les privilèges sudo (par exemple, j’ai créé un utilisateur nommé oleks et l’ai ajouté au groupe sudoers).
Étape 1: Préparation du système
Connexion au serveur : Connectez-vous à votre serveur Debian 12 via SSH en utilisant un client comme PuTTY ou MobaXterm.
Mettre à jour le système : Avant de commencer l’installation, il est important de mettre à jour votre système pour s’assurer que vous disposez des derniers paquets.
sudo apt update sudo apt upgrade -y
Installer les paquets requis : Installez des outils nécessaires à l’installation de LEMP, comme wget et curl.
sudo apt install wget curl -y
Étape 2: Installation de Nginx
Installer Nginx : Nginx est un serveur web rapide et léger. Pour l’installer, exécutez la commande suivante :
sudo apt install nginx -y
Démarrer et activer Nginx :
sudo systemctl start nginx sudo systemctl enable nginx
Vérifier le statut de Nginx :
sudo systemctl status nginx
Tester Nginx : Ouvrez votre navigateur et saisissez l’adresse IP de votre serveur, par exemple : http://votre_adresse_ip. Vous devriez voir la page d’accueil par défaut de Nginx.
Dans mon cas:
http://192.168.0.252
Étape 3: Installation de MariaDB
Installer MariaDB : MariaDB est une alternative open-source à MySQL. Pour l’installer, tapez la commande suivante :
sudo apt install mariadb-server -y
Démarrer et sécuriser MariaDB :
sudo systemctl start mariadb sudo mysql_secure_installation
Suivez les instructions à l’écran et choisissez y pour toutes les options proposées. Pour plus d’informations détaillées sur la sécurisation de MariaDB, consultez mon article “Installation de MariaDB sur Debian“, dans la section “Sécurisation de MariaDB”.
Accéder à MariaDB : Pour accéder à la base de données en tant qu’utilisateur root, tapez :
sudo mysql -u root -p
Étape 4: Installation de PHP
Installer PHP et les extensions nécessaires : PHP est le langage de programmation utilisé pour créer des pages web dynamiques. Pour l’installer avec ses extensions communes, tapez :
sudo apt install php-fpm php-mysql -y
PHP-FPM (FastCGI Process Manager) est utilisé pour traiter les scripts PHP avec Nginx.
Vérifier le version php :
php -v
Étape 5: Configurer Nginx pour utiliser PHP
Maintenant que PHP est installé, nous devons configurer Nginx pour qu’il puisse traiter les fichiers PHP.
Modifier le fichier de configuration Nginx :
sudo nano /etc/nginx/sites-available/default
Trouvez la ligne index index.html index.htm et modifiez-la comme suit pour inclure index.php :
index index.php index.html index.htm;
Décommentez ensuite les lignes suivantes pour activer le traitement des fichiers PHP :
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; # Modifiez cette ligne pour correspondre à votre version de PHP }
Enregistrez le fichier et redémarrez Nginx pour appliquer les modifications :
sudo systemctl restart nginx
Étape 6: Test de l’installation PHP
Créer un fichier PHP de test :
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
Ensuite, accédez à http://votre_adresse_ip/info.php dans votre navigateur. Si PHP est correctement configuré, vous verrez une page avec les informations PHP.
Supprimer le fichier de test :
sudo rm /var/www/html/info.php
Étape 7: Test de l’environnement LEMP
Créer un fichier PHP de test personnalisé :
Ouvrez le fichier index.php avec nano :
sudo nano /var/www/html/index.php
Ajoutez le code suivant pour tester l’installation :
<?php echo 'Bonjour, LEMP est installé avec succès!'; ?>
Vérifier le fichier index.php :
Ouvrez votre navigateur et accédez à http://votre_adresse_ip. Vous devriez voir le message :
Bonjour, LEMP est installé avec succès!
Vous avez maintenant un environnement LEMP fonctionnel sur Debian 12. Cette configuration vous permet d’héberger des sites web dynamiques avec Nginx pour gérer les requêtes HTTP, MariaDB pour la gestion des bases de données, et PHP pour les scripts côté serveur. Contrairement à LAMP, qui utilise Apache, LEMP utilise Nginx, offrant une meilleure gestion des connexions simultanées et des performances accrues pour les sites à fort trafic.
Félicitations, vous êtes maintenant prêt à héberger vos propres applications web !
Bonne chance!