GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Nginx, MariaDB, PHP (pile LEMP) sur Debian 11

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-ip

Vous 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.local

La 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.


Debian
  1. Comment installer Phorum avec Nginx sur Debian 9

  2. Comment installer Linux, Nginx, MariaDB, PHP (pile LEMP) dans CentOS 7 / RHEL 7

  3. Comment installer et configurer PHP et Nginx (LEMP) sur Debian 11

  4. Comment installer la pile LEMP Nginx, MySQL, PHP sur Debian 11

  5. Comment installer la pile LEMP sur Debian 10 Buster

Comment installer la pile LEMP sur le serveur/bureau Debian 10 Buster

Comment installer phpBB avec LEMP (Nginx, MariaDB et PHP) sur Debian 11 Bullseye

Comment installer la pile LEMP (Nginx, MariaDB et PHP) sur AlmaLinux 8

Comment installer la pile LAMP sur Debian 8

Comment installer la pile LEMP sur Debian 11

Comment installer la pile Nginx, MySQL, PHP (LEMP) sur un serveur cloud Debian 8.3