LEMP est un ensemble de quatre composants logiciels open source qui sont utilisés ensemble pour héberger un site Web sur Internet. Dans la pile LEMP, L représente le système d'exploitation Linux, E représente le serveur Web Nginx, M représente le serveur de base de données MariaDB/MySQL et P représente le langage de programmation PHP. Comme tous les composants sont open source dans la pile LEMP, elle est utilisée dans des applications à grande échelle sur le Web.
Dans cet article, nous allons vous montrer comment installer une pile LEMP sur Oracle Linux 8.
Prérequis
- Un serveur exécutant Oracle Linux 8 sur la plate-forme cloud Atlantic.Net
- Un mot de passe root configuré sur votre serveur
Étape 1 - Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Oracle Linux 8 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Une fois connecté à votre serveur, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.
dnf update -y
Étape 2 - Installer le serveur Web Nginx sur Oracle Linux 8
Nginx est le premier composant de la pile LEMP. Par défaut, le package Nginx est inclus dans le référentiel par défaut d'Oracle Linux 8. Vous pouvez l'installer à l'aide de la commande suivante :
dnf install nginx -y
Une fois Nginx installé, démarrez le service Nginx et activez-le pour qu'il démarre au redémarrage du système.
systemctl start nginx systemctl enable nginx
Vous pouvez également vérifier l'état de Nginx avec la commande suivante :
systemctl status nginx
Pour vérifier la version de Nginx, exécutez la commande suivante :
nginx -v
Vous devriez voir le résultat suivant :
nginx version: nginx/1.14.1
Maintenant, ouvrez votre navigateur Web et tapez l'URL http://your-server-ip . Vous devriez voir la page par défaut de Nginx sur l'écran suivant :
Étape 3 - Installer le serveur de base de données MariaDB sur Oracle Linux 8
MariaDB est un serveur de base de données open source utilisé pour stocker le contenu du site Web. Par défaut, MariaDB est inclus dans le référentiel par défaut d'Oracle Linux 8. Vous pouvez l'installer à l'aide de la commande suivante :
dnf install mariadb-server mariadb -y
Une fois MariaDB installée, démarrez le service MariaDB et activez-le pour qu'il démarre au redémarrage du système :
systemctl start mariadb systemctl enable mariadb
Vous pouvez vérifier l'état de MariaDB à l'aide de la commande suivante :
systemctl status mariadb
Vous obtiendrez la commande suivante :
● mariadb.service - MariaDB 10.3 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-06-11 00:46:12 EDT; 6s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 27020 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 26883 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS) Process: 26859 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 26988 (mysqld) Status: "Taking your SQL requests now..." Tasks: 30 (limit: 11409) Memory: 80.0M CGroup: /system.slice/mariadb.service └─26988 /usr/libexec/mysqld --basedir=/usr
Vous pouvez également vérifier la version de MariaDB avec la commande suivante :
mysqladmin -V
Vous devriez voir le résultat suivant :
mysqladmin Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Maintenant, vous devrez sécuriser l'installation de MariaDB. Vous pouvez le sécuriser avec la commande suivante :
mysql_secure_installation
Il vous sera demandé de définir un mot de passe root comme indiqué ci-dessous :
Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] Y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success!
Ensuite, il vous sera demandé de supprimer les utilisateurs anonymes comme indiqué ci-dessous :
By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y
Tapez Y et appuyez sur Entrée. Il vous sera demandé d'interdire la connexion root à distance :
... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] Y
Tapez Y et appuyez sur la touche Entrée. Il vous sera demandé de supprimer la base de données de test :
... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] Y
Appuyez sur Y et appuyez sur la touche Entrée. Il vous sera demandé de recharger le tableau des privilèges :
- Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y
Tapez Y et appuyez sur la touche Entrée pour sécuriser MariaDB.
... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Étape 4 - Installer PHP sur Oracle Linux 8
Vous pouvez les ajouter en exécutant la commande suivante :
dnf install epel-release -y dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Maintenant, répertoriez toutes les versions PHP disponibles dans la sortie suivante :
dnf module list php
Vous verrez toutes les versions PHP disponibles dans la sortie suivante :
Safe Remi's RPM repository for Enterprise Linux 8 - x86_64 1.8 MB/s | 2.1 MB 00:01 Oracle Linux 8 Application Stream (x86_64) Name Stream Profiles Summary php 7.2 [d][e] common [d], devel, minimal PHP scripting language php 7.3 common [d], devel, minimal PHP scripting language php 7.4 common [d], devel, minimal PHP scripting language php 8.0 common [d], devel, minimal PHP scripting language Remi's Modular repository for Enterprise Linux 8 - x86_64 Name Stream Profiles Summary php remi-7.2 common [d], devel, minimal PHP scripting language php remi-7.3 common [d], devel, minimal PHP scripting language php remi-7.4 common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language php remi-8.1 common [d], devel, minimal PHP scripting language
Maintenant, réinitialisez le module PHP par défaut et activez PHP version 8.1 avec la commande suivante :
dnf module reset php dnf module enable php:remi-8.1
Ensuite, installez PHP avec les autres extensions requises à l'aide de la commande suivante :
dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache -y
Ensuite, éditez le fichier de configuration par défaut de PHP-FPM et changez l'utilisateur d'apache à nginx :
nano /etc/php-fpm.d/www.conf
Modifiez les lignes suivantes :
user = nginx Group = nginx
Enregistrez et fermez le fichier, puis démarrez le service PHP-FPM et activez-le au redémarrage du système :
systemctl start php-fpm systemctl enable php-fpm
Étape 5 - Créer un exemple de site Web avec Nginx
Dans cette section, nous allons vous montrer comment héberger un site Web simple à l'aide d'un hôte virtuel Nginx. Tout d'abord, créez un répertoire pour stocker le contenu du site :
mkdir -p /var/www/html/website
Ensuite, modifiez la propriété et les autorisations du site Web à l'aide de la commande suivante :
chown -R nginx:nginx /var/www/html/website chmod -R 755 /var/www/html/website
Créez ensuite une page PHP simple à l'aide de la commande suivante :
nano /var/www/html/website/info.php
Ajoutez le code PHP suivant :
<?php phpinfo(); ?>
Enregistrez et fermez le fichier, puis créez un fichier de configuration d'hôte virtuel Nginx :
nano /etc/nginx/conf.d/website.conf
Ajoutez les lignes suivantes :
server { listen 80; server_name website.example.com; location / { root /var/www/html/website/; index info.php; try_files $uri $uri/ =404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index info.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Enregistrez et fermez le fichier, puis modifiez le fichier de configuration principal de Nginx :
nano /etc/nginx/nginx.conf
Ajoutez la ligne suivante après la ligne http {:
server_names_hash_bucket_size 64;
Enregistrez et fermez le fichier, puis vérifiez la configuration de Nginx à l'aide de la commande suivante :
nginx -t
Vous devriez voir le résultat suivant :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Ensuite, redémarrez le service Nginx pour appliquer la configuration :
systemctl restart nginx
Étape 6 - Vérifier le site Web Nginx
Maintenant, ouvrez votre navigateur Web et tapez l'URL http://website.example.com . Vous devriez voir la page PHP sur l'écran suivant :
Conclusion
Dans cet article, nous avons appris à installer le serveur LEMP sur Oracle Linux 8. Vous pouvez désormais utiliser la fonctionnalité d'hébergement virtuel Nginx pour héberger plusieurs sites Web sur une seule machine. Essayez-le sur l'hébergement VPS d'Atlantic.Net !