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.
Pour suivre ce guide, vous devrez avoir accès à un serveur CentOS 8 en tant qu’utilisateur sudo
.
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 :
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.
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
:
…
; 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
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 :
<?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 :
Voici des liens vers des guides plus détaillés relatifs à ce tutoriel :
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!