La pile LEMP, qui signifie Linux (le système d'exploitation), Nginx (le serveur Web), MariaDB/MySQL (la base de données) et PHP (le langage de programmation), est la plate-forme idéale pour héberger des sites Web et des applications dynamiques à fort trafic.
Dans cet article, nous verrons comment installer LEMP Stack sur Debian 11.
Prérequis
Pour installer la pile LEMP sur Debian 11, vous devez disposer des privilèges sudo sur le système.
Installer la pile LEMP
Installer Linux
Suivez l'installation étape par étape de Debian 11 ou mettez à niveau Debian 10 « Buster » vers Debian 11 « Bullseye ».
Procédez à l'installation d'AMP (Nginx v1.20, PHP-FPM v7.4, MariaDB v10.5) sur Debian 11.
Installer Nginx
Nginx est un serveur Web gratuit et open source qui fournit des fonctionnalités HTTP, proxy inverse, mise en cache et équilibrage de charge. C'est une excellente alternative à Apache, et il est facile à configurer.
Installez les packages ci-dessous.
sudo apt update sudo apt install -y curl gnupg2 ca-certificates lsb-release
Téléchargez la clé de signature du référentiel Nginx et ajoutez-la au système.
curl -fsSL http://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-keyring.gpg
Ajoutez le référentiel Nginx au système.
echo "deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Installez le package Nginx à l'aide de la commande suivante.
sudo apt update sudo apt install -y nginx
Démarrez le service Nginx après l'installation.
sudo systemctl start nginx
Ouvrez un navigateur Web et visitez l'URL ci-dessous.
http://votre-adresse-ipVous obtiendrez la page d'accueil qui confirme que Nginx a été installé avec succès et est opérationnel.
La racine de document par défaut de Nginx dans Debian 11 est /usr/share/nginx/html/. Les fichiers de configuration se trouvent dans le répertoire /etc/nginx/.
Installer MariaDB
MariaDB est un remplacement direct de MySQL qui prend en charge toutes les fonctionnalités MySQL standard. Nous allons configurer MariaDB dans le cadre d'une pile LEMP (Linux, Nginx, MariaDB/MySQL, PHP) dans notre installation.
Installez le serveur MariaDB v10.5 à partir du référentiel Debian.
Au moment de la rédaction de cet article, MariaDB v10.6 est disponible dans le référentiel officiel MariaDB. Si vous le souhaitez, vous pouvez installer MariaDB v10.6 sur Debian 11 OU installez MySQL 8.0 / 5.7 à la place de MariaDB.sudo apt install -y mariadb-server mariadb-client
Le service MariaDB devrait être opérationnel en ce moment. Tout d'abord, vérifiez l'état du service MariaDB à l'aide de la commande ci-dessous.
sudo systemctl status mariadb
Ensuite, sécurisez le serveur MariaDB en exécutant la commande mysql_secure_installation.
Installer PHP
Le gestionnaire de processus PHP FastCGI (FPM) est une implémentation alternative de PHP FastCGI avec des fonctionnalités supplémentaires utiles pour les sites plus grands et plus occupés. Il peut gérer beaucoup plus de requêtes par seconde que les autres implémentations PHP FastCGI.
Installez le package php-fpm et l'extension PHP MySQL.
Debian 11 est livré avec PHP v7.4. Cependant, vous pouvez installer PHP 8.0 sur Debian 11 à partir du référentiel SURY.sudo apt install -y php-fpm php-mysql php-cli
Modifiez le fichier de configuration.
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
Changez la propriété et le groupe de www-data en nginx pour le socket Unix.
listen.owner = nginx listen.group = nginx
Créer un hôte virtuel
Maintenant, créez un hôte virtuel sur le serveur Nginx pour les détails suivants afin de tester la pile LEMP.
Nom du serveur :site.itzgeek.local
Racine du document :/usr/share/nginx/html/site.itzgeek.local
Créez un fichier de configuration d'hôte virtuel site.itzgeek.local.conf dans le répertoire /etc/nginx/conf.d/.
sudo nano /etc/nginx/conf.d/site.itzgeek.local.conf
Ajoutez le contenu suivant.
server { server_name site.itzgeek.local; root /usr/share/nginx/html/site.itzgeek.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/site.itzgeek.local$fastcgi_script_name; } }
Créez le répertoire racine des documents pour l'hôte virtuel.
sudo mkdir /usr/share/nginx/html/site.itzgeek.local
Placez un fichier PHP à la racine du document.
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/site.itzgeek.local/index.php
Redémarrez les services Nginx et PHP-FPM.
sudo systemctl restart nginx sudo systemctl restart php7.4-fpm
Tester la pile LEMP
Tout d'abord, créez une entrée d'hôte pour votre domaine (site.itzgeek.local ) dans le fichier /etc/hosts pour tester la pile LEMP localement. Ensuite, ouvrez votre navigateur Web et saisissez votre nom de domaine dans l'adresse Web.
http://site.itzgeek.localLa page ressemblera à ceci :
Comme vous pouvez le voir sur la capture d'écran, le PHP fonctionne via FPM/FastCGI (API serveur).
Faites défiler la page plus bas pour afficher la prise en charge de PHP pour MySQL, XML et d'autres extensions.
Conclusion
J'espère que cet article vous a aidé à installer la pile LEMP sur Debian 11. De plus, vous pouvez installer phpMyAdmin pour gérer MariaDB via l'interface Web.