Dans ce guide, vous apprendrez à installer la pile LEMP sur un serveur Arch Linux. LEMP est une pile populaire utilisée par les développeurs Web pour tester et héberger des sites Web et des applications. LEMP est une abréviation de Linux Nginx (prononcé comme moteur X) MariaDB / MySQL et PHP . Nginx est un serveur Web performant et stable qui peut également être utilisé comme proxy inverse. Il est populaire pour desservir les sites à fort trafic et est généralement préféré à Apache dans les serveurs de production. MariaDB / MySQL sont des moteurs de base de données open source pour stocker les données du site Web. MariaDB est un fork de MySQL et est surtout préféré depuis le rachat de MySQL par Oracle. Enfin, nous avons PHP qui est un langage de script côté serveur utilisé pour développer des pages Web dynamiques. Nous allons installer chacun de ces composants et tester leur installation sur Arch Linux.
Commençons !
Étape 1) Installer le serveur Web Nginx
Avant l'installation de tout paquet, c'est toujours une bonne idée de mettre à jour les paquets système. Alors, continuez et mettez à jour les packages Arch en utilisant la commande :
$ sudo pacman -Syy
Pour installer Nginx, exécutez la commande :
$ sudo pacman -S nginx
Une fois installé, activez Nginx pour qu'il démarre au démarrage et démarrez le service Nginx en exécutant les commandes.
$ sudo systemctl enable nginx $ sudo systemctl start nginx
Pour confirmer que Nginx est en cours d'exécution, exécutez la commande :
$ sudo systemctl status nginx
La sortie indique que Nginx est opérationnel. De plus, vous pouvez confirmer que le serveur Web Nginx est opérationnel en lançant votre navigateur et en saisissant l'adresse IP de votre serveur dans la barre d'URL, comme indiqué.
http://IP-serveur
Pour vérifier la version de Nginx installée, exécutez :
$ nginx -v
Par défaut, Nginx écoute sur le port 80. Pour le confirmer, utilisez la commande netstat comme indiqué :
$ sudo netstat -plntu
Étape 2) Installer le moteur de base de données MariaDB
Pour installer le moteur de base de données MariaDB, exécutez la commande :
$ sudo pacman -S mariadb
Une fois installé, continuez et initialisez le répertoire de données MariaDB et créez des tables système comme indiqué ci-dessous.
$ sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
Une fois l'initialisation terminée, activez et démarrez le service MariaDB comme indiqué
$ sudo systemctl enable mariadb $ sudo systemctl start mariadb
Par défaut, lors de l'installation, le moteur de base de données MariaDB n'a pas de mot de passe pour l'utilisateur root. Cela peut créer un trou de boucle pour une violation potentielle. Pour éviter que cela ne se produise, nous devons sécuriser notre moteur de base de données et appliquer une liste d'autres restrictions.
Passez donc à l'utilisateur root et exécutez la commande ci-dessous pour commencer à renforcer MariaDB
$ mysql_secure_installation
Cela lancera une série d'invites. Tout d'abord, vous devrez définir le mot de passe root . Dans un premier temps, vous serez averti que le compte root est protégé et que vous pouvez procéder à votre discrétion et ignorer la modification du mot de passe root.
Si vous pensez que vous devez changer le mot de passe, appuyez sur 'Y ' sur le clavier et fournissez un mot de passe fort et confirmez-le.
Le reste de l'invite vous demandera d'effectuer quelques ajustements de renforcement de votre moteur de base de données MariaDB. Cela inclut la suppression des utilisateurs anonymes , désactivation de la connexion racine à distance , suppression de la base de données de test et enfin recharger les tables de privilèges auquel vous devez répondre Oui à tous en tapant le Y clé.
Pour vous connecter à votre instance de base de données, exécutez la commande :
$ mysql -u root -p
Saisissez le mot de passe root mysql que vous avez défini lors de "mysql_secure_installation ” commande
Étape 3) Installer PHP et PHP-FPM
Le composant à installer est PHP-FPM qui regroupe également PHP. Abréviation de PHP FastCGI Process Manager, PHP-FPM est un outil Web pratique qui accélère les performances d'un site Web. Il permet à votre serveur Web de gérer simultanément un énorme volume de trafic réseau.
Pour installer PHP-FPM, lancez la commande :
$ sudo pacman -S php php-fpm
Une fois l'installation terminée, activez PHP-FPM au démarrage et démarrez le service en exécutant la commande :
$ sudo systemctl enable php-fpm $ sudo systemctl start php-fpm
Vérifiez que PHP-FPM est en cours d'exécution en exécutant la commande :
$ sudo systemctl status php-fpm
Pour que PHP-FPM traite les pages Web Nginx, quelques modifications sont nécessaires. Passons au fichier de configuration Nginx
$ sudo vim /etc/nginx/nginx.conf
Ajoutez ou ajoutez les modifications apparaissant en orange comme indiqué ci-dessous
location / { root /usr/share/nginx/html; index index.html index.htm index.php; } location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; root /usr/share/nginx/html; include fastcgi.conf; }
Enregistrez le fichier et redémarrez Nginx et PHP-FPM pour que les modifications prennent effet.
$ sudo systemctl restart nginx $ sudo systemctl restart php-fpm
Pour vérifier que PHP fonctionne et que PHP-FPM peut servir des pages Web nginx sans aucun problème, créez un fichier info.php dans le chemin /usr/share/nginx/html/
$ sudo vim /usr/share/nginx/html/info.php
Ajoutez les lignes ci-dessous et enregistrez le fichier.
<?php phpinfo(); ?>
Lancez votre navigateur et parcourez l'URL de votre serveur comme indiqué
http://server-ip/info.php
Vous devriez obtenir une page Web affichée comme indiqué, affichant clairement la version de PHP et des informations détaillées sur les différents modules PHP.
À partir de la page Web, nous pouvons clairement voir que nous avons installé la dernière version de PHP, à savoir PHP 7.4.3. Cela peut également être confirmé en exécutant la commande ci-dessous dans le terminal.
$ php -v
Étape 4) Configurer le pare-feu ufw
Pour autoriser les connexions externes à notre serveur Web Arch Linux, nous devons ouvrir les ports Web 80 et 443. Mais d'abord, installons le pare-feu ufw.
$ sudo pacman -S ufw
Pour autoriser le port à traverser le pare-feu, exécutez les commandes :
$ sudo ufw allow 80/tcp $ sudo ufw allow 443/tcp
Ensuite, activez et rechargez le pare-feu pour que les modifications prennent effet
$ sudo ufw enable
Pour vérifier l'état de l'exécution du pare-feu :
$ sudo ufw status
À ce stade, nous avons installé avec succès la pile LEMP. En tant que module complémentaire, nous allons couvrir l'installation de phpMyAdmin qui est un utilitaire frontal PHP qui facilite l'administration et la gestion des bases de données MariaDB / MySQL. Si vous n'êtes pas fan de travailler sur un shell MySQL / MariaDB, cet outil vous apportera beaucoup de répit.
Pour installer phpMyAdmin exécutez la commande
$ sudo pacman -S phpmyadmin
Ensuite, créez un lien symbolique pour permettre l'accès à phpMyAdmin
$ sudo ln -s /usr/share/webapps/phpMyAdmin/ /usr/share/nginx/html/
Enfin, redémarrez Nginx et le service PHP-FPM pour que les modifications prennent effet.
$ sudo systemctl restart nginx $ sudo systemctl restart php-fpm
Pour accéder au frontal phpMyAdmin, parcourez l'URL comme indiqué
http://server-ip/phpMyAdmin
Connectez-vous à l'aide des informations d'identification root et le tableau de bord s'affichera comme indiqué
Et c'est tout! Nous avons installé avec succès la pile LEMP sur Arch Linux ! Nous apprécions vos commentaires. Contactez-nous pour tout commentaire ou commentaire.
Lire aussi :Comment créer et configurer un utilisateur Sudo sur Arch Linux