Comment installer la pile LEMP sur Debian 10

Dans ce tutoriel, nous allons vous montrer comment installer LEMP Stack sur Debian 10. Pour ceux d’entre vous qui ne le savaient pas, LEMP est un acronyme pour Linux, Nginx, MySQL/MariaDB et PHP. Linux est le système d’exploitation du serveur. Nginx (qui se prononce comme Engine-X, d’où la lettre E dans l’acronyme) est le logiciel du serveur Web.

Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L’installation est assez simple et suppose que vous utilisez le compte root, sinon vous devrez peut-être ajouter ‘sudo‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer l’installation étape par étape du LEMP sur une Debian 10 (Buster).

Installer la pile LEMP sur Debian 10 Buster

Étape 1. Avant d’exécuter le didacticiel ci-dessous, il est important de vous assurer que votre système est à jour en exécutant ce qui suit apt commandes dans le terminal :

sudo apt update

Étape 2. Installation de Nginx sur Debian 10.

Nginx est un serveur HTTP et proxy inverse open source et multiplateforme, léger mais puissant et facile à configurer. Exécutez la commande suivante pour l’installer :

sudo apt install nginx

Une fois installé, Nginx devrait démarrer automatiquement. Vérifiez son état avec systemctl:

sudo 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 :

sudo ufw allow 80
sudo ufw allow 443

Tapez maintenant l’adresse IP publique de votre serveur Debian 10 dans la barre d’adresse du navigateur. Vous devriez voir la page Web par défaut « Bienvenue sur Nginx », ce qui signifie que le serveur Web Nginx fonctionne correctement.

https://your-server-ip-address

Étape 3. Installation de MariaDB sur Debian 10.

MariaDB est le système de base de données par défaut dans Debian 10. Pour installer MariaDB, exécutez la commande suivante :

sudo apt install mariadb-server

Le service MariaDB devrait être opérationnel à ce moment. Vérifiez l’état du service MariaDB à l’aide de la commande ci-dessous :

sudo systemctl status mariadb

Par défaut, MariaDB n’est pas renforcée. Vous pouvez sécuriser MariaDB en utilisant le mysql_secure_installation scénario. vous devez lire attentivement et ci-dessous chaque étape qui définira un mot de passe root, supprimera les utilisateurs anonymes, interdira la connexion root à distance et supprimera la base de données de test et l’accès à MariaDB sécurisé :

mysql_secure_installation

Configurez-le comme ceci :

- Set root password? [Y/n] y
- 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

Pour vous connecter à MariaDB, utilisez la commande suivante (notez qu’il s’agit de la même commande que vous utiliseriez pour vous connecter à une base de données MariaDB) :

mysql -u root -p

Étape 4. Installation de PHP sur Debian 10.

Installez le PHP FastCGI Processing Manager, qui inclut les dépendances PHP principales :

sudo apt install php-fpm php-cli php-gd php-curl php-mysql

Maintenant, lancez php-fpm et activez le démarrage automatique au démarrage :

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Étape 5. Configurez Nginx pour qu’il fonctionne avec PHP.

Maintenant, nous créons un tout nouveau fichier de bloc de serveur sous /etc/nginx/conf.d/ répertoire avec un éditeur de texte en ligne de commande :

sudo nano /etc/nginx/conf.d/default.conf

Ajoutez le fichier suivant :

server {
  listen 80;
  listen [::]:80;
  server_name _;
  root /usr/share/nginx/html/;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ .php$ {
    fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

 # A long browser cache lifetime can speed up repeat visits to your page
  location ~* .(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }

  # disable access to hidden files
  location ~ /.ht {
      access_log off;
      log_not_found off;
      deny all;
  }
}

Une fois cela fait, appliquez les modifications récemment apportées, redémarrez les services php-fpm et nginx comme suit :

sudo nginx -t
sudo systemctl reload nginx

Étape 5. Testez PHP.

Pour tester PHP, créez un fichier de test nommé info.php avec le contenu ci-dessous. Save le fichier, puis accédez-y pour voir si PHP fonctionne :

sudo nano /usr/share/nginx/html/info.php

Collez le code PHP suivant dans le fichier :

<?php
phpinfo();
?>

Maintenant, dirigez-vous vers le navigateur et parcourez le fichier info.php comme indiqué https://your-server-ip-address/info.php. Si la page d’informations PHP est affichée dans votre navigateur, tout semble bon et vous êtes prêt à continuer.

Toutes nos félicitations! Vous avez correctement installé LEMP. Merci d’avoir utilisé ce didacticiel pour installer la dernière version de LEMP Stack sur le système Debian. Pour une aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le site officiel du LEMP.