Recherche de site Web

Comment installer la pile LEMP sur Rocky Linux 8


LEMP est une pile populaire qui comprend des logiciels open source collectivement utilisés pour héberger et servir des applications Web, que ce soit en production ou à n'importe quelle étape du cycle de développement.

La terminologie LEMP est un acronyme pour Linux, Nginx (prononcé comme Engine X, d'où le E) qui est un navigateur Web, MariaDB ou MySQL – base de données et PHP pour le traitement du contenu dynamique). La pile LEMP est couramment utilisée pour héberger des applications et des sites Web à fort trafic et hautement évolutifs.

Dans ce guide, vous apprendrez comment installer la pile LEMP sur Rocky Linux 8.4.

Conditions préalables

Avant de commencer à installer la pile LEMP, assurez-vous que les conditions suivantes sont remplies.

  • Une instance de Rocky Linux 8 avec un utilisateur sudo configuré.
  • Accès SSH à l'instance Rocky Linux.

Commençons…

Étape 1 : Installer Nginx sur Rocky Linux

La première étape consiste à installer le premier composant de la pile LEMP qui est le serveur web Nginx. Tout d’abord, mettez à niveau les packages.

sudo dnf update -y

Une fois la mise à jour terminée, installez Nginx en exécutant la commande suivante. Cela installe Nginx avec d'autres dépendances requises par le serveur Web.

sudo dnf install nginx 

Une fois Nginx en place, activez-le pour démarrer au démarrage et démarrez le démon Nginx.

sudo systemctl enable nginx 
sudo systemctl start nginx 

Pour confirmer que le serveur Web est en cours d'exécution, exécutez la commande :

sudo systemctl status nginx

D’après le résultat, nous pouvons conclure que le serveur Web est opérationnel.

Si vous êtes assez curieux, vous pouvez vérifier la version de Nginx comme suit. Le résultat indique que nous exécutons Nginx 1.14.1.

nginx -v

nginx version: nginx/1.14.1

De plus, vous pouvez confirmer que le navigateur fonctionne en parcourant l'URL affichée. Cela affichera la page de bienvenue Nginx par défaut indiquant que tout va bien.

http://server-ip or domain name

Si vous rencontrez des problèmes pour afficher la page, envisagez d'ouvrir le port 80 ou d'autoriser le trafic HTTP sur le pare-feu.

sudo firewall-cmd --zone=public --add-service=http --permanent 

Rechargez ensuite le pare-feu et rechargez la page.

sudo firewall-cmd --reload

Étape 2 : Installez MariaDB sur Rocky Linux

Pour ce guide, nous installerons la base de données MariaDB. Cela est dû aux performances optimisées et à la richesse des moteurs de stockage qu'il fournit, ce qui le rend bien supérieur à MySQL.

Pour installer le serveur de base de données MariaDB, exécutez la commande :

sudo dnf install mariadb-server mariadb

Une fois terminé, activez et démarrez MariaDB comme indiqué.

sudo systemctl enable mariadb
sudo systemctl start mariadb

Vérifiez ensuite son statut.

sudo systemctl status mariadb

Les paramètres par défaut de MariaDB ne sont pas suffisamment sécurisés et votre base de données peut facilement être piratée. Par mesure de précaution pour dissuader les intrus au niveau le plus élémentaire, exécutez le script ci-dessous.

sudo mysql_secure_installation

Assurez-vous de configurer le mot de passe Root.

Pour les invites restantes, tapez simplement 'Y' pour supprimer les utilisateurs anonymes, refuser la connexion root à distance, supprimer la base de données de test et enfin enregistrer les modifications apportées.

Pour vous connecter au serveur de base de données, exécutez la commande :

sudo mysql -u root -p

Fournissez le mot de passe et appuyez sur ENTRÉE.

Étape 3 : Installer PHP sur Rocky Linux

Le dernier composant à installer est PHP via PHP-FPM, qui signifie FastCGI Process Manager. Il s'agit d'un processeur PHP efficace et très avancé qui fournit des fonctionnalités garantissant des performances et une sécurité optimales pour les sites Web à fort trafic.

Pour commencer, nous allons installer le référentiel Remi qui est un référentiel tiers gratuit qui fournit les dernières versions de PHP.

Pour activer le dépôt Remi, exécutez la commande :

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Une fois le référentiel Remi activé, consultez la liste des modules PHP hébergés à l'aide de la commande affichée.

sudo dnf module list php

À partir du résultat, nous pouvons voir que la version par défaut est 7.2 – avec la balise [d]. Cependant, nous allons installer le dernier module qui est Remi 8.0.

Par conséquent, réinitialisez les modules PHP par défaut et activez le dernier module Remi PHP.

sudo dnf module list reset php
sudo dnf module enable php:remi-8.0

Ensuite, mettez à jour le système et installez PHP et PHP-FPM ainsi que les extensions PHP de votre préférence.

sudo dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache

Une fois l'installation terminée, activez et démarrez PHP-FPM comme indiqué.

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

Ensuite, vérifiez l'état d'exécution de PHP-FPM.

sudo systemctl status php-fpm

Normalement, PHP-FPM s'exécute en tant qu'utilisateur Apache, mais comme nous utilisons Nginx, nous devons le définir sur Nginx. Alors, ouvrez le fichier de configuration suivant.

sudo vim /etc/php-fpm.d/www.conf

Définissez l'utilisateur et le groupe sur Nginx.

user = nginx
Group = nginx

Ensuite, rechargez le démon PHP-FPM.

sudo systemctl reload php-fpm

Pour confirmer que nous avons installé la dernière version de PHP, exécutez la commande.

php -v

Une autre façon astucieuse de tester PHP consiste à créer un simple fichier PHP et à le placer dans le répertoire webroot qui se trouve dans /usr/share/nginx/html. Créez donc un simple fichier info.php dans le répertoire racine Web /usr/share/nginx/html.

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

Ajoutez le contenu suivant et enregistrez le fichier.

<?php

phpinfo();

?>

Pour effectuer les modifications, rechargez le serveur Web Nginx.

sudo systemctl restart nginx

Enfin, accédez à l'URL suivante.

http://server-ip/info.php

Une page Web contenant des informations détaillées sur la version PHP installée ainsi que d'autres extensions PHP sera affichée.

À ce stade, notre configuration LEMP est terminée. Dans la prochaine étape, nous allons héberger un exemple de site en configurant un bloc serveur Nginx.

Étape 3 : configurer le bloc de serveur Nginx dans Rocky Linux

Un bloc serveur permet aux administrateurs d'héberger plusieurs sites Web sur un seul serveur en définissant différents répertoires racine des documents du site. Ce sont les répertoires qui contiennent les fichiers du site Web.

Ici, nous allons créer un seul fichier de bloc de serveur Nginx pour héberger un exemple de site Web.

Étape 1 : Créer un répertoire de sites Web

Tout d’abord, créez le répertoire de documents du site qui contiendra les données du site qui seront disponibles pour les visiteurs du site. Supposons que vous disposez d'un domaine appelé example.com. Créez le répertoire de domaine du site comme suit. Assurez-vous de remplacer example.com par le nom de domaine complet ou le domaine enregistré de votre site.

sudo mkdir -p /var/www/example.com/html

Étape 2 : Définir la propriété et les autorisations sur le site Web

La structure de répertoires du domaine est désormais configurée pour héberger les fichiers du site. Actuellement, c’est l’utilisateur root qui possède les fichiers. Nous devons définir la propriété de telle sorte que ce soit l'utilisateur régulier qui possède le fichier.

Pour attribuer la propriété des fichiers à l'utilisateur actuellement connecté, utilisez la commande chown.

sudo chown -R $USER:$USER /var/www/example.com/html

La variable $USER prend la valeur de l'utilisateur actuellement connecté et accorde à l'utilisateur la propriété des fichiers et sous-répertoires HTML. De plus, accordez une autorisation de lecture au répertoire racine Web général afin que les visiteurs du site puissent accéder aux pages du site.

sudo chmod -R 755 /var/www

L’annuaire du site est désormais bien configuré pour servir les pages Web du site.

Étape 3 : Créer un site de démonstration

Créons maintenant un exemple de site de test. Nous allons créer un fichier index.html très basique dans le répertoire html du domaine.

sudo vim /var/www/example.com/html/index.html

Collez le contenu ci-dessous. Comme vous pouvez le constater, c’est assez basique car nous ne l’utilisons qu’à des fins de tests.

<html>
  <head>
    <title>Welcome to Example.com!</title>
  </head>
  <body>
    <h1>Success! The server block is active!</h1>
  </body>
</html>

Enregistrez et quittez le fichier HTML.

Étape 4 : Créer un bloc de serveur Nginx pour le site Web

Un fichier de bloc serveur est un fichier qui contient la configuration du site. Il explique comment le serveur Web Nginx répond aux demandes des visiteurs du site. Nous allons commencer par créer deux répertoires :

  • /etc/nginx/sites-available – Il s'agit du répertoire qui contiendra le fichier de blocage du serveur.
  • /etc/nginx/sites-enabled – Le répertoire informe Nginx que le fichier de blocage du serveur est prêt à répondre aux requêtes.

Par conséquent, créez les répertoires comme suit :

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

Ensuite, modifiez le fichier de configuration principal de Nginx.

sudo mkdir /etc/nginx/nginx.conf

Collez les lignes suivantes. La première ligne spécifie le chemin d'accès au répertoire contenant les fichiers de configuration supplémentaires. La deuxième ligne augmente la mémoire allouée à l'analyse des noms de domaine.

include /etc/nginx/sites-enabled/*.conf;
server_names_hash_bucket_size 64;

Sauvegarder et quitter.

Ensuite, créez un fichier de blocage de serveur.

sudo vim /etc/nginx/sites-available/example.com.conf

Collez le contenu ci-dessous. Remplacez example.com par votre nom de domaine complet (FQDN) ou l'adresse IP de votre serveur.

server {
    listen  80;

    server_name example.com www.example.com;

    location / {
        root  /var/www/example.com/html;
        index  index.html index.htm;
        try_files $uri $uri/ =404;
    }

    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
        root  /usr/share/nginx/html;
    }
}

Enregistrez et quittez le fichier.

Étape 5 : Activer le blocage du serveur Nginx

Enfin, nous devons activer le fichier de blocage du serveur. Pour ce faire, nous allons créer un lien symbolique pour le fichier de blocage du serveur vers le répertoire activé pour les sites.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf

Redémarrez ensuite Nginx pour que les modifications soient appliquées.

sudo systemctl restart nginx

Étape 6 : tester le site Web Nginx

Pour tester la configuration lancez votre navigateur et visitez le domaine de votre site

http://example.com

Cela devrait afficher le site du bloc serveur tel que nous l'avons configuré à l'étape 3.

Et ceci conclut. Dans ce guide, nous vous avons guidé à travers l'installation de la pile LEMP sur Rocky Linux 8 et sommes allés plus loin pour créer et configurer un fichier de blocage de serveur sur lequel nous avons hébergé un site internet personnalisé.