Tutorial

Comment installer la pile Linux, Nginx, MySQL, PHP (LEMP) sur CentOS 8 [Démarrage rapide]

NginxCentOSPHPMariaDBLEMPCentOS 8

Introduction

Dans ce tutoriel, vous allez installer une pile LEMP sur un serveur CentOS 8. Bien que MySQL soit disponible à partir des référentiels par défaut dans CentOS 8, ce guide présente le processus de mise en place d'une pile LEMP avec MariaDB comme système de gestion de base de données.

Pour une version plus détaillée de ce tutoriel, avec plus d'explications sur chaque étape, veuillez vous référer à Comment installer la pile Linux, Nginx, MySQL, PHP (LEMP) sur CentOS 8.

Conditions préalables

Pour suivre ce guide, vous devrez avoir accès à un serveur CentOS 8 en tant qu'utilisateur sudo.

Étape 1 - Installation de Nginx

Installez le package nginx avec :

  • sudo dnf install nginx

Une fois l'installation terminée, exécutez la commande suivante pour activer et démarrer le serveur :

  • sudo systemctl start nginx

Si firewalld est actif, vous devrez exécuter la commande suivante pour autoriser l'accès externe sur le port 80 (HTTP) :

  • sudo firewall-cmd --permanent --add-service=http

Rechargez la configuration du pare-feu pour que les changements prennent effet :

  • sudo firewall-cmd --reload

Avec l'ajout de la nouvelle règle de pare-feu, vous pouvez vérifier si le serveur est opérationnel en accédant à l'adresse IP publique ou au nom de domaine de votre serveur depuis votre navigateur web. Vous verrez une page comme celle-ci :

Page Nginx par défaut CentOS 8

Étape 2 - Installation de MariaDB

Nous allons installer MariaDB, un fork communautaire du serveur MySQL original d'Oracle. Pour installer ce logiciel, exécutez :

  • sudo dnf install mariadb-server

Lorsque l'installation est terminée, activez et démarrez le serveur MariaDB avec :

  • sudo systemctl start mariadb

Pour améliorer la sécurité de votre serveur de base de données, il est recommandé d'exécuter un script de sécurité qui est pré-installé avec MariaDB. Démarrez le script interactif avec :

  • sudo mysql_secure_installation

La première invite vous demandera de saisir le mot de passe actuel de l'utilisateur root de la base de données. Comme vous venez d'installer MariaDB et que vous n'avez pas encore apporté de modifications à la configuration, ce mot de passe sera vide, il suffit donc d'appuyer sur ENTER (ENTRÉE) à l'invite.

L'invite suivante vous demande si vous souhaitez créer un mot de passe pour l'utilisateur root de la base de données. Comme MariaDB utilise une méthode d'authentification spéciale pour l'utilisateur root, qui est généralement plus sûre que l'utilisation d'un mot de passe, vous n'avez pas besoin de le définir maintenant. Tapez N et appuyez ensuite sur ENTER.

À partir de là, vous pouvez appuyer sur Y puis sur ENTER pour accepter les valeurs par défaut pour toutes les questions suivantes.

Étape 3 - Installation de PHP-FPM

Pour installer les packages php-fpm et php-mysql, exécutez :

  • sudo dnf install php-fpm php-mysqlnd

Une fois l'installation terminée, vous devrez modifier le fichier /etc/php-fpm.d/www.conf afin d'ajuster quelques paramètres. Nous allons installer nano pour faciliter l'édition de ces fichiers :

  • sudo dnf install nano

Ouvrez maintenant le fichier de configuration /etc/php-fpm.d/www.conf en utilisant nano ou l'éditeur de votre choix :

  • sudo nano /etc/php-fpm.d/www.conf

Cherchez les directives user et group. Si vous utilisez nano, vous pouvez appuyer sur CTRL+W pour rechercher ces termes dans le fichier ouvert. Assurez-vous de changer les deux valeurs de apache à nginx :

/etc/php-fpm.d/www.conf
…
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

Enregistrez et fermez le fichier lorsque vous avez fini de le modifier.

Pour activer et démarrer le service php-fpm, exécutez :

  • sudo systemctl start php-fpm

Enfin, redémarrez le serveur web Nginx afin qu'il charge les fichiers de configuration créés par l'installation de php-fpm :

  • sudo systemctl restart nginx

Étape 4 - Test de PHP avec Nginx

Sous CentOS 8, l'installation par défaut de php-fpm crée automatiquement des fichiers de configuration qui permettront à votre serveur web Nginx de gérer les fichiers .php à la racine par défaut du document root dans /usr/share/nginx/html. Vous n'aurez pas besoin de modifier la configuration de Nginx pour que PHP fonctionne correctement sur votre serveur web.

Il vous suffira de modifier le propriétaire et le groupe par défaut sur la racine du document Nginx, afin que vous puissiez créer et modifier des fichiers à cet endroit en utilisant votre utilisateur habituel du système non root :

  • sudo chown -R sammy.sammy /usr/share/nginx/html/

Créez un nouveau fichier PHP appelé info.php dans le répertoire /usr/share/nginx/html :

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

Le code PHP suivant affichera des informations sur l'environnement PHP en cours d'exécution sur le serveur :

/usr/share/nginx/html/info.php
<?php

phpinfo();

Copiez ce contenu dans votre fichier info.php, et n'oubliez pas de le sauvegarder lorsque vous avez terminé.

Nous pouvons maintenant tester si notre serveur web peut afficher correctement le contenu généré par un script PHP. Allez dans votre navigateur et accédez au nom d'hôte ou à l'adresse IP de votre serveur, suivi de /info.php :

http://server_host_or_IP/info.php

Vous verrez une page similaire à celle-ci :

Infos PHP par défaut CentOS 8

Tutoriels connexes

Voici des liens vers des guides plus détaillés relatifs à ce tutoriel :

Creative Commons License