Serveur Web · 7 min read · Jan 05, 2026
Installer la pile LEMP (Nginx, PHP et MariaDB) sur Debian 11

La pile LEMP est un ensemble de logiciels open-source et de frameworks ou bibliothèques utilisés pour héberger des applications web sur Internet. Une pile se compose du système d’exploitation Linux, du serveur web Nginx, du serveur de base de données MariaDB/MySQL et du langage PHP. Un LEMP bénéficie d’un bon soutien communautaire et est utilisé dans de nombreuses applications web hautement évolutives à travers le monde.
Dans cet article, nous allons vous montrer comment installer la pile LEMP sur Debian 11.
Prérequis
- Un serveur exécutant Debian 11.
- Un nom de domaine valide pointé vers l’IP de votre serveur.
- Un mot de passe root configuré sur le serveur.
Commencer
Avant de commencer, il est conseillé de mettre à jour les paquets de votre système vers la dernière version. Vous pouvez mettre à jour tous les paquets en utilisant la commande suivante :
apt-get update -yUne fois votre système mis à jour, vous pouvez passer à l’étape suivante.
Installer le serveur web Nginx
Nginx est un serveur web gratuit et open-source qui suit une architecture orientée événements et est capable de gérer plusieurs requêtes dans un seul thread. Il est compatible avec les applications couramment utilisées et est utilisé pour servir des fichiers statiques.
Par défaut, le paquet Nginx est inclus dans le dépôt par défaut de Debian 11. Vous pouvez l’installer en utilisant la commande suivante :
apt-get install nginx -yUne fois Nginx installé, démarrez le service Nginx et activez-le pour qu’il démarre au redémarrage du système :
systemctl start nginx
systemctl enable nginxVous pouvez également vérifier la version installée de Nginx avec la commande suivante :
nginx -vVous devriez voir la sortie suivante :
nginx version: nginx/1.18.0
Par défaut, Nginx fonctionne sur le port 80. Vous pouvez le vérifier en utilisant la commande suivante :
ss -antpl | grep nginxVous devriez voir la sortie suivante :
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=44342,fd=8),("nginx",pid=44341,fd=8))
LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=44342,fd=9),("nginx",pid=44341,fd=9))
Vous pouvez également vérifier l’installation de Nginx en utilisant l’URL http://your-server-ip. Vous devriez voir la page de test de Nginx sur la page suivante :

À ce stade, le serveur web Nginx est installé. Vous pouvez maintenant passer à l’étape suivante.
Installer le serveur de base de données MariaDB
MariaDB est une base de données SQL open-source utilisée pour stocker et gérer des données pour des sites web. Par défaut, le paquet MariaDB est inclus dans le dépôt par défaut de Debian 11. Vous pouvez l’installer en utilisant la commande suivante :
apt-get install mariadb-server -yUne fois le serveur de base de données MariaDB installé, démarrez le service MariaDB et activez-le pour qu’il démarre au redémarrage du système :
systemctl start mariadb
systemctl enable mariadbVous pouvez également vérifier l’état du service MariaDB avec la commande suivante :
systemctl status mariadbVous devriez voir la sortie suivante :
? mariadb.service - Serveur de base de données MariaDB 10.3.31
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-08-21 04:13:25 UTC; 1min 36s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 1838 (mysqld)
Status: "Prise en charge de vos requêtes SQL maintenant..."
Tasks: 31 (limit: 2353)
Memory: 66.1M
CGroup: /system.slice/mariadb.service
??1838 /usr/sbin/mysqld
Il est également recommandé de sécuriser votre installation de MariaDB et de définir un mot de passe root pour MariaDB. Vous pouvez exécuter le script mysql_secure_installation pour sécuriser l’installation de MariaDB :
mysql_secure_installationVous serez invité à définir un mot de passe root pour MariaDB, à supprimer les utilisateurs anonymes, à interdire la connexion root à distance et à supprimer la base de données de test comme indiqué ci-dessous :
Enter current password for root (enter for none):
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Par défaut, MariaDB fonctionne sur le port 3306. Vous pouvez le vérifier en utilisant la commande suivante :
ss -antpl | grep mariadbVous devriez voir la sortie suivante :
LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* users:(("mariadbd",pid=12181,fd=15))
Pour vous connecter à la console MariaDB, exécutez la commande suivante :
mysql -u root -pFournissez votre mot de passe root MariaDB et appuyez sur Entrée pour vous connecter à la console MariaDB. Une fois connecté, vous devriez voir la sortie suivante :
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Maintenant, exécutez la commande suivante pour vérifier la version de MariaDB :
MariaDB [(none)]> SELECT VERSION();Vous devriez voir la sortie suivante :
+-------------------+
| VERSION() |
+-------------------+
| 10.5.11-MariaDB-1 |
+-------------------+
1 row in set (0.001 sec)
À ce stade, le serveur de base de données MariaDB est installé et sécurisé. Vous pouvez maintenant passer à l’étape suivante.
Installer le langage PHP
PHP signifie Preprocessor Hypertext et est un langage de script utilisé côté serveur. Il est open-source, bénéficie d’un large soutien communautaire et est utilisé pour héberger des applications PHP sur Internet.
Par défaut, la version de PHP disponible dans Debian 11 est PHP 7.4. Vous pouvez installer PHP avec d’autres extensions couramment utilisées avec la commande suivante :
apt-get install php php-fpm php-cli php-mysql php-zip php-curl php-xml -yUne fois PHP installé, vérifiez la version de PHP en utilisant la commande suivante :
php -vVous devriez voir la sortie suivante :
PHP 7.4.21 (cli) (built: Jul 2 2021 03:59:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies
Créer un hôte virtuel pour Nginx
Ici, nous allons créer un répertoire example.com pour héberger une page PHP. Vous pouvez le créer avec la commande suivante :
mkdir /var/www/html/example.comEnsuite, définissez la propriété du répertoire example.com sur www-data :
chown -R www-data:www-data /var/www/html/example.comEnsuite, créez un fichier de configuration d’hôte virtuel Nginx avec la commande suivante :
nano /etc/nginx/conf.d/example.confAjoutez les lignes suivantes :
server {
listen 80;
server_name example.com;
root /var/www/html/example.com;
index index.php;
access_log /var/log/nginx/example_access.log;
error_log /var/log/nginx/example_error.log;
client_max_body_size 100M;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Enregistrez et fermez le fichier, puis vérifiez la configuration de Nginx pour toute erreur de configuration avec la commande suivante :
nginx -tVous devriez voir la sortie suivante :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ensuite, redémarrez le service Nginx pour appliquer les modifications de configuration :
systemctl restart nginxVous pouvez également vérifier l’état du service Nginx en utilisant la commande suivante :
systemctl status nginxVous devriez voir la sortie suivante :
? nginx.service - Un serveur web haute performance et un serveur proxy inverse
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-08-21 04:37:27 UTC; 5s ago
Docs: man:nginx(8)
Main PID: 4378 (nginx)
Tasks: 2 (limit: 2353)
Memory: 6.2M
CGroup: /system.slice/nginx.service
??4378 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
??4379 nginx: worker process
Aug 21 04:37:27 debian11 systemd[1]: Starting Un serveur web haute performance et un serveur proxy inverse...
Aug 21 04:37:27 debian11 systemd[1]: Started Un serveur web haute performance et un serveur proxy inverse.
Vérifier l’installation de PHP sur Nginx
Ensuite, vous devrez créer un fichier PHP d’exemple à servir via le serveur web Nginx. Vous pouvez créer un fichier phpinfo.php dans votre répertoire example.com :
nano /var/www/html/example.com/phpinfo.phpAjoutez la ligne suivante :
Enregistrez et fermez le fichier, puis ouvrez votre navigateur web et accédez à votre page PHP en utilisant l’URL http://example.com/phpinfo.php. Vous devriez voir votre page PHP à l’écran suivant :
Conclusion
Dans le guide ci-dessus, nous avons expliqué comment installer la pile LEMP sur Debian 11. Vous pouvez maintenant commencer à héberger votre premier site web en utilisant la pile LEMP. N’hésitez pas à me poser des questions si vous en avez.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.