Comment installer la pile LEMP (Nginx, MariaDB, PHP) sur Debian 12
Apprenez étape par étape : installez la pile LEMP (Nginx, MariaDB, PHP) sur Debian 12 "Bookworm" pour un hébergement Web efficace et des performances ultra-rapides.
Avoir une base solide est crucial pour quiconque se lance dans le développement Web, crée des sites Web dynamiques ou héberge des applications. C’est là qu’entre en jeu la pile LEMP – un acronyme représentant Linux, Nginx, MySQL/MariaDB et PHP – une combinaison puissante qui constitue l’épine dorsale d’innombrables sites Web et applications dans le monde.
Debian, connue pour sa stabilité, sa sécurité et ses vastes référentiels de paquets, reste populaire parmi les développeurs et les administrateurs pour créer des environnements de serveur fiables.
Ce guide complet vous guide étape par étape dans le processus de configuration d'un Nginx, PHP et MariaDB (pile LEMP) sur Debian 12 « Bookworm. » Alors sans plus attendre, mettons-nous au travail.
Conditions préalables
Avant de plonger dans le processus d’installation, nous présenterons les conditions préalables afin de vous assurer une expérience fluide. Cela inclut l'accès à un serveur Debian 12, une maîtrise de base de la ligne de commande et un compte utilisateur avec les privilèges d'exécution sudo
.
Bien sûr, vous pouvez ignorer la partie sudo
des commandes et les exécuter directement en tant qu'utilisateur root. Le résultat sera le même dans les deux cas.
De plus, assurez-vous que votre pare-feu ne bloque pas le port 80 du serveur ni le port 443 si vous envisagez d'utiliser SSL.
Étape 1 : Mettre à jour les référentiels de logiciels
Tout d'abord, nous utiliserons la commande APT pour mettre à jour la liste des packages disponibles. Cela garantit que seules les versions les plus récentes des packages sont utilisées tout au long de l'installation de la pile LEMP sur notre système Debian 12 et évite les difficultés.
De plus, assurez-vous que le système est entièrement mis à jour. Si les packages attendent d'être mis à jour, je conseille de les appliquer avant de continuer.
sudo apt update
sudo apt upgrade
Étape 2 : Installer le serveur Web Nginx sur Debian 12
Le serveur Web vous permet de diffuser le contenu des visiteurs, tel que des pages Web. Cette étape répond à la deuxième exigence de la pile LEMP, le serveur Web Nginx.
Utilisez les commandes suivantes pour installer la dernière version de Nginx sur votre serveur Debian 12. Lorsque vous y êtes invité, saisissez « Y » pour confirmer que vous souhaitez l'installer.
sudo apt install nginx
Après l'installation, Nginx s'exécutera sur votre serveur Debian 12. Mais d’abord, vérifions si cela fonctionne comme prévu.
Ouvrez un navigateur Web sur votre système et saisissez l'adresse IP du serveur dans la barre d'adresse.
Vous devriez être accueilli par la page d'accueil par défaut de Nginx.
Étape 3 : Installer le serveur MariaDB sur Debian 12
Maintenant que vous disposez d'un serveur Web fonctionnel, vous devez installer le serveur de base de données pour stocker et gérer les données de votre site Web. Au lieu de MySQL, nous allons installer MariaDB dans ce didacticiel.
Il s'agit d'un SGBDR (Système de gestion de base de données relationnelle) open source, rétrocompatible et binaire remplaçant MySQL. MariaDB offre des performances améliorées avec des vitesses de réplication plus rapides, des mesures de sécurité plus strictes et des moteurs de stockage supplémentaires par rapport à MySQL.
Pour installer la base de données MariaDB, exécutez les commandes ci-dessous et, lorsque vous y êtes invité, confirmez l'installation en tapant « Y » et en appuyant sur « Entrée. »
sudo apt install mariadb-server
3.1 Sécuriser le serveur MariaDB
Ensuite, nous utiliserons un script (mysql_secure_installation
) fourni par le package « mariadb-server » pour restreindre l'accès au serveur et supprimer les comptes inutilisés car la configuration par défaut rend votre Installation de MariaDB dangereuse.
Exécutez le script de sécurité post-installation.
sudo mysql_secure_installation
Après avoir exécuté la commande ci-dessus, vous serez invité à saisir le mot de passe root MariaDB. Laissez simplement le mot de passe root vide et appuyez sur la touche « Entrée ». Pour le reste, continuez à taper « Y » et à appuyer sur « Entrée. »
Le mot de passe défini ci-dessus pour le compte root MariaDB est celui si vous vous connectez au serveur à distance.
Pour vous connecter depuis l'hébergeur que nous avons installé, vous n'avez pas besoin de saisir de mot de passe et il ne vous sera pas demandé d'en saisir un. Tapez simplement « sudo mysql
» pour accéder au shell MariaDB.
3.2 Test de l'installation de MariaDB
Connectons-nous-y et exécutons une simple requête pour vérifier si le serveur de base de données fonctionne comme prévu.
Pour vous connecter, saisissez la commande ci-dessous.
sudo mysql
Cela se connectera au serveur MariaDB et le shell MariaDB devrait apparaître. Ensuite, exécutez une requête simple :
select version();
En réponse à votre requête, le serveur MariaDB doit renvoyer sa version. Enfin, utilisez la commande quit
pour quitter le shell MariaDB et revenir au terminal système.
Étape 5 : Installer PHP sur Debian 12
La dernière étape pour installer une pile LEMP complète sur notre système Debian 12 « Bookworm » consiste à installer le langage de script PHP. Pour ajouter la prise en charge de PHP à Nginx, vous devez installer et utiliser PHP-FPM pour exécuter des fichiers PHP.
Ainsi, pour installer PHP-FPM et plusieurs modules PHP les plus utilisés, tapez la commande ci-dessous et, lorsque vous y êtes invité, saisissez « Y » pour confirmer que vous souhaitez l'installer.
sudo apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache php-xml
La commande ci-dessus installera le support PHP 8.2 sur votre système Debian 12.
Étape 5 : Configurer Nginx pour exécuter des fichiers PHP
Maintenant que nous avons installé tous les composants LEMP sur notre système Debian 12, nous devons éditer le fichier de configuration de l'hôte virtuel Nginx par défaut.
sudo vim /etc/nginx/sites-enabled/default
Modifiez la partie « location / » :
location / {First attempt to serve request as file, thenas directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
À ceci :
location / {
try_files $uri $uri/ /index.php?$args;
}
Ensuite, ajoutez les lignes suivantes au bloc « server » par défaut pour permettre à Nginx de traiter les fichiers PHP :
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
}
Testez le fichier de configuration Nginx modifié pour détecter les erreurs de syntaxe en entrant la commande suivante :
sudo nginx -t
Si vous obtenez le résultat ci-dessus, tout va bien et il ne nous reste plus qu'une dernière étape. Cependant, si des erreurs sont signalées, revérifiez votre fichier avant de continuer.
Enfin, redémarrez Nginx pour que les modifications prennent effet.
sudo systemctl restart nginx
Si vous souhaitez apprendre à créer et modifier des blocs de serveur Nginx pour vos hôtes virtuels, nous vous recommandons notre excellent guide sur « Comment créer un hôte virtuel Nginx (bloc de serveur) ».
Étape 6 : Testez votre installation Debian 12 LEMP
Vous avez terminé l'installation de Nginx, MariaDB et PHP sur Debian 12, votre pile LEMP devrait donc maintenant être pleinement opérationnelle.
Enfin, créons un fichier PHP de test pour vérifier que PHP-FPM fonctionne et est intégré à Nginx. Dans le bloc de serveur par défaut ci-dessus, notre site est servi à partir de « /var/www/html », nous allons donc y créer un fichier de test :
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/test.php
Désormais, vous pouvez accéder à « test.php » à partir d'un navigateur Web en utilisant le domaine de votre site ou l'adresse IP du serveur suivi de « /test.php. »
Une page Web avec des informations complètes sur votre installation PHP apparaîtra.
Félicitations! Vous avez installé avec succès une pile LEMP entièrement fonctionnelle sur Debian 12.
Conclusion
Alors que nous terminons ce voyage, vous disposez désormais de l’expertise nécessaire pour installer, configurer et exploiter le potentiel de la pile LEMP. De plus, avec Debian 12 « Bookworm » comme plate-forme serveur, vous avez capitalisé sur une base solide, connue pour sa stabilité, sa sécurité et sa convivialité.
Il y a plusieurs prochaines étapes que vous pourriez suivre à partir d’ici. Par exemple, lisez notre guide sur la configuration des certificats SSL sur le serveur Nginx pour vous assurer que votre site Web fournit du contenu via une connexion SSL sécurisée (HTTPS).
Merci pour votre temps ! J'espère que ce guide vous a été utile. Vos retours et commentaires sont les bienvenus.