Comment installer LEMP sur le serveur Debian 10
Une pile « LEMP » est un mélange de logiciels open source généralement installés sur un serveur Linux pour déployer des applications dynamiques. Ce terme est un acronyme qui représente le système d'exploitation Linux, le serveur Web Nginx, une base de données MariaDB et la programmation PHP.
Lire aussi : Comment installer LAMP sur le serveur Debian 10
Bien que cette pile « LEMP » contienne normalement MySQL comme système de gestion de base de données, certaines distributions Linux telles que Debian — utilisent MariaDB. en remplacement immédiat de MySQL.
Exigences
- Comment installer un serveur minimal Debian 10 (Buster)
Dans cet article, nous allons vous expliquer comment installer et configurer un environnement LEMP sur un serveur Debian 10, en utilisant MariaDB comme base de données de gestion. plate-forme.
Installation du serveur Web Nginx sur Debian 10
Nginx est un serveur open source et multiplateforme, léger mais puissant et facile à configurer HTTP et proxy inverse, un serveur proxy de messagerie et un proxy TCP/UDP générique. serveur, avec une architecture modulaire.
Certaines de ses fonctionnalités de base incluent la gestion de fichiers statiques et d'index ; prise en charge accélérée avec mise en cache des serveurs FastCGI, uwsgi, SCGI et Memcached, équilibrage de charge et tolérance aux pannes, SSL et prise en charge de TLS SNI, prise en charge de HTTP/2 avec priorisation pondérée et basée sur les dépendances.
Pour installer le package Nginx, utilisez le gestionnaire de packages apt de Debian comme indiqué.
apt update
apt install nginx
Une fois l'installation de Nginx terminée, le programme d'installation activera systemd pour démarrer le service Nginx pour le moment et lui permettra de démarrer automatiquement au démarrage du système. Vous pouvez vérifier l'état de Nginx à l'aide de la commande systemctl suivante.
systemctl status nginx
Vous pouvez également utiliser les commandes importantes suivantes pour démarrer, redémarrer, arrêter et recharger la configuration du service Nginx sous systemd.
systemctl start nginx
systemctl restart nginx
systemctl stop nginx
systemctl reload nginx
systemctl status nginx
Ensuite, si le pare-feu UFW est en cours d'exécution (il est généralement désactivé par défaut), vous devez ouvrir les ports 80 (HTTP) et 443 (HTTPS) pour autoriser le trafic entrant. sur Nginx.
ufw allow 80
ufw allow 443
ufw status
À ce stade, vous devez tester si Nginx est correctement installé, s'il est en cours d'exécution et peut servir des pages Web. Pour ce faire, ouvrez un navigateur Web et pointez-le vers l'URL suivante pour accéder à la page Web Nginx Debian Default.
http://SERVER_IP/
OR
http://localhost/
Installer MariaDB sur Debian 10
Ensuite, vous devez installer un système de base de données pour pouvoir stocker et gérer les données de votre site Web ou de votre application Web. Debian 10 prend en charge MariaDB par défaut, en remplacement de MySQL.
Pour installer MariaDB, exécutez la commande suivante.
apt install mariadb-server
Ensuite, vérifiez l'état du service MariaDB puisqu'il est démarré automatiquement par systemd et activé pour démarrer au démarrage du système, pour vous assurer qu'il est opérationnel, utilisez la commande suivante.
systemctl status mariadb
Pour gérer (démarrer, redémarrer, arrêter et recharger) le service MariaDB sous systemd, vous pouvez utiliser la commande suivante.
systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb
Ensuite, le déploiement MariaDB ne sera pas sécurisé par défaut. Vous devez exécuter un script shell fourni avec le package pour vous permettre d'améliorer la sécurité de la base de données.
mysql_secure_installation
Après avoir exécuté le script, vous devrez répondre à une série de questions suivantes pour modifier les paramètres par défaut de l'installation de MariaDB, comme indiqué dans la capture d'écran suivante.
Installation de PHP-FPM (Fast Process Manager) sur Debian 10
Contrairement à Apache et à d'autres serveurs Web, Nginx ne fournit pas de support natif pour PHP, car il utilise PHP-FPM. pour gérer les requêtes de pages PHP. PHP-FPM est un démon FastCGI alternatif pour PHP qui permet à un site Web de gérer des charges élevées, en utilisant des processus de travail pour gérer les requêtes.
Pour installer PHP-FPM version 7.3 et un module PHP pour communiquer avec un système de base de données MariaDB/MySQL, exécutez la commande suivante.
apt install php-fpm php-mysqli
Une fois PHP-FPM installé, le programme d'installation activera systemd pour démarrer le service PHP-FPM pour le moment et lui permettra de démarrer automatiquement au démarrage du système. Pour vérifier s'il est opérationnel, exécutez la commande suivante.
systemctl status php-fpm
Vous pouvez également démarrer, redémarrer, arrêter et recharger la configuration du service PHP-FPM sous systemd, comme suit.
systemctl start php-fpm
systemctl restart php-fpm
systemctl stop php-fpm
systemctl reload php-fpm
systemctl status php-fpm
Ensuite, vous devez sécuriser PHP-FPM en apportant quelques modifications au fichier de configuration /etc/php/7.3/fpm/php.ini comme suit.
vi /etc/php/7.3/fpm/php.ini
Recherchez le ;cgi.fix_pathinfo=1
, décommentez-le en supprimant le caractère ;
au début, définissez sa valeur sur 0
. Cela empêche Nginx d'autoriser l'exécution de fichiers non PHP en tant que PHP.
cgi.fix_pathinfo=0
Par défaut, PHP-FPM est configuré pour écouter sur un soxket UNIX, /run/php/php7.3-fpm.sock comme défini dans le /etc /php/7.3/fpm/pool.d/www.conf fichier de configuration. Vous devez configurer tous vos blocs serveurs (ou hôtes virtuels) pour utiliser ce socket s'ils doivent traiter et servir des pages PHP.
Vous pouvez utiliser le fichier de configuration de bloc du serveur par défaut de Nginx /etc/nginx/sites-available/default pour le tester.
vi /etc/nginx/sites-available/default
Recherchez la section suivante et décommentez-la pour transmettre les scripts PHP au serveur FastCGI comme indiqué dans la capture d'écran.
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}
Ensuite, testez si la structure de configuration de Nginx est OK à l'aide de la commande suivante.
nginx -t
Si la configuration de Nginx est OK, pour appliquer les modifications récemment apportées, redémarrez les services php7.3-fpm et nginx comme suit.
systemctl restart php7.2-fpm
systemctl restart nginx
Test du traitement PHP-FPM sur Nginx
Après avoir configuré PHP-FPM et Nginx pour qu'ils fonctionnent ensemble, vous devez tester si deux services peuvent traiter et servir des pages PHP aux clients. Pour ce faire, créez un simple script PHP dans votre DocumentRoot Web comme suit.
echo “<?php phpinfo(); ?>” | tee /var/www/html/info.php
Enfin, ouvrez un navigateur et saisissez l'adresse suivante pour voir les configurations PHP sur le système telles que générées par la fonction phpinfo()
.
http://SERVER_IP/info.php
OR
http://localhost/info.php
Conclusion
Dans cet article, nous avons montré comment installer et configurer la pile LEMP dans Debian 10. Si vous avez des questions ou des commentaires, veuillez nous contacter et nous le faire savoir via le formulaire de commentaires ci-dessous.