Comment installer LEMP Stack sur Rocky Linux 8
LEMP est une pile populaire qui comprend des logiciels open source qui sont utilisés collectivement 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é Engine X, d’où le E) qui est un navigateur web, MariaDB ou MySQL – base de données, et PHP pour le traitement de contenu dynamique). La pile LEMP est couramment utilisée pour l’hébergement d’applications Web et de sites Web à fort trafic et hautement évolutifs.
Dans ce guide, vous allez apprendre comment installer la pile LEMP sur Rocky Linux 8.4.
Conditions préalables
Avant de vous lancer dans l’installation de la pile LEMP, assurez-vous que les conditions suivantes sont en place.
- 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 en même temps que d’autres dépendances requises par le serveur web.
$ sudo dnf install nginx
Une fois que Nginx est en place, activez-le pour qu’il démarre au démarrage et démarrez le démon Nginx.
$ sudo systemctl enable nginx sudo systemctl start nginx
Pour vérifier 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 d’accueil par défaut de Nginx 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 : Installer MariaDB sur Rocky Linux
Pour ce guide, nous allons installer 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 cela fait, activez et démarrez MariaDB comme indiqué.
$ sudo systemctl enable mariadbsudo systemctl start mariadb
Vérifiez ensuite son état.
$ sudo systemctl status mariadb
Les paramètres par défaut de MariaDB ne sont pas assez sécurisés et votre base de données peut facilement être violé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 efficace et très avancé pour PHP qui fournit des fonctionnalités qui garantissent des performances optimales et la sécurité des sites Web à fort trafic.
Pour commencer, nous allons installer le dépôt Remi qui est un dépôt tiers gratuit qui fournit les dernières versions de PHP.
Pour activer le référentiel Remi, exécutez la commande :
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Une fois le dépôt Remi activé, consultez la liste des modules PHP qui sont hébergés à l’aide de la commande affichée.
$ sudo dnf module list php
D’après la sortie, 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 PHP Remi.
$ sudo dnf module list reset phpsudo dnf module enable php:remi-8.0
Ensuite, mettez à jour le système et installez PHP et PHP-FPM en plus des extensions PHP de votre choix.
$ 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-fpmsudo systemctl start php-fpm
Ensuite, vérifiez l’état d’exécution de PHP-FPM.
$ sudo systemctl status php-fpm
Normalement, PHP-FPM fonctionne en tant qu’utilisateur Apache, mais comme nous utilisons Nginx, nous devons le définir sur Nginx. Ouvrez donc 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 Testin PHP est de créer un simple fichier PHP et de 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 webroot /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 s’affichera.
À ce stade, la configuration de notre LEMP est terminée. Dans l’étape suivante, nous allons héberger un site exemple en configurant un bloc de serveur Nginx.
Étape 3 : Configurer Nginx Server Block dans Rocky Linux
Un bloc de serveur permet aux administrateurs d’héberger plusieurs sites Web sur un seul serveur en définissant différents répertoires racine de document de site. Il s’agit des 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éez un annuaire de site 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 ayez 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 des répertoires du domaine est maintenant 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 sorte que ce soit l’utilisateur normal qui possède le fichier.
Pour changer la propriété des fichiers en fonction de 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 lui accorde la propriété des fichiers et sous-répertoires html. En outre, accordez l’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
Le répertoire du site est maintenant bien configuré pour servir les pages Web du site.
Étape 3 : Créer un site de démonstration
Nous allons maintenant créer 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 voir, c’est assez basique car nous ne l’utilisons qu’à des fins de test.
<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 de 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 – C’est le répertoire qui contiendra le fichier de bloc de serveur.
- /etc/nginx/sites-enabled – Le répertoire informe Nginx que le fichier de bloc du serveur est prêt à servir les demandes.
Par conséquent, créez les répertoires comme suit :
sudo mkdir /etc/nginx/sites-availablesudo mkdir /etc/nginx/sites-enabled
Par la suite, 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 des 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;
Enregistrez et quittez.
Ensuite, créez un fichier de bloc 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 votre adresse IP de 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 bloc de serveur Nginx
Enfin, nous devons activer le fichier de bloc de serveur. Pour ce faire, nous allons créer un lien symbolique pour le fichier de bloc de serveur vers le répertoire site-abled.
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 effectuées.
sudo systemctl restart nginx
Étape 6 : Testez le site Web de 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 de serveur comme nous l’avons configuré à l’étape 3.
Et c’est tout. Dans ce guide, nous vous avons guidé à travers l’installation de la pile LEMP sur Rocky Linux 8 et sommes allés plus loin en créant et en configurant un fichier de bloc de serveur où nous avons hébergé un site Web personnalisé.















