Installez Nginx, MariaDB et PHP (LEMP) sur Debian 11 (Bullseye)
Ce guide complet, étape par étape, vous guide dans l'installation et la configuration de Nginx, MariaDB et PHP (LEMP Stack) sur Debian 11.
Debian est l’une des distributions Linux les plus fiables, sécurisées et stables, garantissant le fonctionnement transparent de votre serveur. En raison de ces qualités, il s'agit d'un choix raisonnable et souvent privilégié par les administrateurs système pour les serveurs basés sur Linux.
La pile logicielle LEMP se compose d'un groupe de logiciels côté serveur qui servent des pages Web dynamiques et des applications Web. Il s'agit d'un acronyme représentant quatre composants distincts : le système d'exploitation Linux, le serveur Web Nginx, la base de données MySQL/MariaDB et le langage de script PHP.
Ce tutoriel vous montre comment installer Nginx, MariaDB et PHP sur Debian 11 (Bullseye), en le transformant en un serveur ultime pour développer et héberger vos applications Web. Alors sans plus attendre, mettons-nous au travail.
Conditions préalables
Vous aurez besoin d’accéder à un serveur Debian 11 pour terminer ce guide. De plus, toutes les commandes de ce didacticiel sont exécutées par un utilisateur régulier possédant des capacités d'exécution sudo
. Par conséquent, vous devriez en posséder un.
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 et le port 443 si vous envisagez d'utiliser SSL.
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 11 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
2. Installez le serveur Web Nginx sur Debian 11
Le serveur Web vous permet de proposer du contenu tel que des pages Web aux visiteurs du site 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 11. Lorsque vous y êtes invité, saisissez « Y » pour confirmer que vous souhaitez l'installer.
sudo apt install nginx
Une fois l'installation terminée, le serveur Web Nginx sera opérationnel sur votre serveur Debian 11. 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.
Le système devrait afficher la page d'accueil de Nginx.
3. Installez le serveur MariaDB sur Debian 11
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 installerons MariaDB dans ce tutoriel.
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 MariaDB dangereux.
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 appuyez sur « Entrée ».
Super! Vous avez sécurisé le serveur MariaDB dans la pile LEMP sur Debian 11.
Nous précisons que le mot de passe spécifié ci-dessus pour les comptes root MariaDB est uniquement destiné aux utilisateurs distants. 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 normalement.
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, pour quitter le shell MariaDB et revenir au terminal système, utilisez la commande « quit
».
4. Installez PHP sur Debian 11
La dernière étape pour installer une pile LEMP complète sur notre système Debian 11 « Bullseye » 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
5. Configurez Nginx pour exécuter des fichiers PHP
Maintenant que nous avons installé tous les composants LEMP sur notre système Debian 11, 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;
}
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/php7.4-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.
Lorsque vous êtes prêt, redémarrez Nginx pour que les modifications prennent effet.
sudo systemctl restart nginx
Si vous souhaitez apprendre en détail comment créer et modifier des blocs de serveur Nginx pour vos hôtes virtuels, nous vous recommandons notre excellent guide sur le sujet, « Comment créer un hôte virtuel Nginx (bloc de serveur). »
6. Testez votre installation Debian 11 LEMP
Vous avez terminé l'installation de Nginx, MariaDB et PHP sur Debian 11, 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 11.
Conclusion
Ce guide vous a montré comment installer la pile LEMP (Nginx, MariaDB et PHP) sur Debian 11 « Bullseye ». En conséquence, les applications Web basées sur PHP peuvent désormais s'exécuter sur votre serveur.
Il y a plusieurs prochaines étapes que vous pourriez suivre à partir d’ici. Par exemple, je vous recommande de lire 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 vous trouverez ce guide utile. Vos retours et commentaires sont les bienvenus.