Comment Installer L’Empilement LEMP avec PhpMyAdmin sur Ubuntu 20.04

Pour ceux d’entre vous qui ne savent pas ce qu’est LEMP – il s’agit d’une combinaison de packages logiciels – Linux, Nginx (prononcé EngineX), MariaDB et PHP.

Vous pouvez utiliser LEMP à la fois à des fins de test ou dans un environnement de production réel pour déployer des applications web utilisant des frameworks PHP tels que Laravel ou Yii, ou des systèmes de gestion de contenu tels que WordPress, Drupal, ou Joomla

Vous vous demandez peut-être quelle est la différence entre LAMP et LEMP. Eh bien, la seule différence est le serveur web inclus – Apache (dans LAMP) et Nginx (dans LEMP). Les deux serveurs web sont très performants et bien que Apache soit le plus fréquemment utilisé, Nginx ne démérite en rien.

Une autre application largement utilisée normalement installée aux côtés de la pile LEMP est PhpMyAdmin – un outil basé sur le web en PHP pour administrer un serveur de base de données MySQL/MariaDB à partir d’un navigateur web.

Si vous recherchez une configuration LAMP pour votre Ubuntu 20.04, alors vous devriez lire notre guide de configuration LAMP sur Ubuntu 20.04.

Prérequis:

  1. Guide d’installation du serveur Ubuntu 20.04

Dans cet article, vous apprendrez comment installer et configurer la pile LEMP avec PhpMyAdmin sur le serveur Ubuntu 20.04.

Étape 1 : Installation de Nginx sur Ubuntu 20.04

1. Nginx est un serveur web moderne et rapide conçu pour servir de nombreuses connexions simultanées sans consommer trop de ressources serveur. C’est pourquoi il est souvent le choix préféré dans les environnements d’entreprise.

NGINX est également couramment utilisé comme un équilibreur de charge et un cache de contenu web. Il prend en charge les serveurs virtuels basés sur le nom et l’adresse IP (analogues aux hôtes virtuels dans Apache).

Vous pouvez installer Nginx sur votre bureau ou serveur Ubuntu 20.04 en exécutant la commande suivante.

$ sudo apt update
$ sudo apt install nginx
Install Nginx on Ubuntu 20.04

Les fichiers de configuration de Nginx sont stockés sous le répertoire /etc/nginx et son fichier de configuration principal est /etc/nginx/nginx.conf. Importamment, son répertoire de documents par défaut pour stocker vos fichiers web est /usr/share/nginx/html/. Mais vous pouvez utiliser le standard /var/www/html qui devrait être configuré dans le fichier de configuration du bloc serveur de votre site web ou application.

2. L’installateur de paquets Ubuntu déclenche systemd pour démarrer le service Nginx et le rendre automatiquement démarrable à chaque redémarrage du serveur. Utilisez les commandes systemctl suivantes pour confirmer que le service est en cours d’exécution et est activé.

$ sudo systemctl status nginx 
$ sudo systemctl is-enabled nginx
Check Nginx Service Status

3. Il est maintenant temps de vérifier si l’installation de Nginx a été réussie en appelant la page Nginx via le navigateur en utilisant l’adresse IP du serveur.

http://SERVER_IP

Si vous ne connaissez pas l’adresse IP de votre serveur, vous pouvez la trouver en utilisant la commande IP comme indiqué.

$ ip addr show

La page web par défaut de NGINX devrait se charger comme indiqué dans la capture d’écran suivante, confirmant une installation et un fonctionnement corrects.

Test Nginx Installation

Étape 2 : Installation de la base de données MariaDB sur Ubuntu 20.04

4. MariaDB est un système de gestion de base de données relationnelle relativement nouveau qui a été conçu comme un fork communautaire de MySQL après son acquisition par Oracle.

L’installation de MariaDB est simple et peut être démarrée avec la commande suivante :

$ sudo apt install mariadb-server mariadb-client
Install MariaDB on Ubuntu 20.04

5. Le service MariaDB est également démarré automatiquement et activé pour démarrer toujours au démarrage du système et vous pouvez le confirmer en utilisant les commandes suivantes.

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb
Check MariaDB Service

6. Si vous souhaitez améliorer la sécurité de MariaDB, vous pouvez exécuter la commande mysql_secure_installation, qui fournira quelques options de configuration de base, mais importantes :

$ sudo mysql_secure_installation

Ensuite, choisissez l’option pour définir le mot de passe de l’utilisateur racine de la base de données (ou administrateur) et suivez les invites et lisez attentivement les questions. Pour sécuriser votre serveur de base de données, répondez aux questions comme indiqué dans la capture d’écran.

  • Entrez le mot de passe actuel pour root (entrez pour aucun) : Entrez
  • Définir un mot de passe root ? [O/n] o
  • Supprimer les utilisateurs anonymes ? [O/n] o
  • Interdire la connexion à distance en tant que root ? [O/n] o
  • Supprimer la base de données de test et l’accès à celle-ci ? [O/n] o
  • Recharger les tables de privilèges maintenant ? [O/n] o
Secure MariaDB Server

7. Pour créer, gérer et effectuer des opérations sur la base de données, vous devez utiliser la commande shell mysql avec le drapeau -u pour spécifier le nom d’utilisateur de la base de données et -p pour fournir le mot de passe de l’utilisateur.

Pour vous connecter en tant qu’utilisateur root, utilisez la commande sudo (même sans le drapeau -p) sinon vous recevrez l’erreur surlignée dans la capture d’écran suivante.

$ mysql -u root -p
$ sudo mysql -u root
Access MariaDB Shell

Étape 3 : Installation de PHP dans Ubuntu 20.04

8. PHP est un langage de script populaire, flexible et dynamique pour la construction de sites Web et d’applications Web. Il prend en charge une variété de techniques de programmation. Importamment, la communauté PHP est large et diversifiée, composée de nombreuses bibliothèques, frameworks et autres composants utiles.

NGINX utilise FPM (Gestionnaire de processus FastCGI) ou PHP-FPM pour traiter les scripts PHP. PHP-FPM est une implémentation alternative largement utilisée de FastCGI pour PHP, qui est livrée avec de nombreuses fonctionnalités supplémentaires et est utilisée pour alimenter les sites/applications Web à fort trafic.

Pour installer PHP et PHP-FPM, exécutez la commande suivante qui installera également certains paquets supplémentaires requis.

$ sudo apt install php php-mysql php-fpm
Install PHP and PHP-FPM on Ubuntu 20.04

Étant donné que PHP 7.4 est la version par défaut de PHP dans Ubuntu 20.04, les fichiers de configuration PHP sont situés dans /etc/php/7.4/ et les fichiers de configuration PHP-FPM sont stockés sous /etc/php/7.4/fpm.

9. Ensuite, vérifiez si le service php7.4-fpm est actif et en cours d’exécution, et s’il est activé avec la commande suivante.

$ sudo systemctl status php7.4-fpm
$ sudo systemctl is-enabled php7.4-fpm
Check PHP-FPM Status

Étape 4 : Configuration de Nginx pour fonctionner avec PHP-FPM

10. Maintenant, vous devez configurer NGINX pour rediriger les demandes des clients vers PHP-FPM, qui est configuré par défaut pour écouter sur un socket UNIX tel que défini par le paramètre listen dans le fichier de configuration de pool par défaut /etc/php/7.4/fpm/pool.d/www.conf.

$ sudo vi /etc/php/7.4/fpm/pool.d/www.conf 
Configure PHP-FPM Socket

11. Dans le fichier de configuration du bloc serveur par défaut (/etc/nginx/sites-available/default), décommentez la directive de localisation pour le traitement des demandes PHP afin qu’elle ressemble à celle indiquée dans la capture d’écran suivante.

$ sudo vi /etc/nginx/sites-available/default
Configure Nginx Block to Use PHP-FPM Socket

Enregistrez le fichier et quittez.

12. Ensuite, testez la syntaxe de configuration NGINX pour vérifier sa correction. Si tout est OK, redémarrez le service Nginx pour appliquer les nouvelles modifications.

$ sudo nginx -t
$ sudo systemctl restart nginx
Check Nginx Configuration

13. Testez maintenant si NGINX peut fonctionner en conjonction avec PHP-FPM pour traiter les demandes PHP. Créez une page info.php simple sous le répertoire racine du document.

$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

14. Dans votre navigateur, accédez à l’adresse suivante. La page de configuration PHP devrait s’afficher comme indiqué dans la capture d’écran suivante.

http://SERVER_IP/info.php
Check PHP and PHP-FPM Info

Étape 5 : Installation de PhpMyAdmin dans Ubuntu 20.04

15. PhpMyAdmin est une application PHP web gratuite et open-source spécialement conçue pour administrer les serveurs de base de données MySQL/MariaDB via un navigateur web. Il fournit une interface graphique intuitive et prend en charge une large gamme de fonctionnalités courantes pour les tâches d’administration de base de données.

$ sudo apt install phpmyadmin
Install PhpMyAdmin in Ubuntu 20.04

16. Lors de l’installation du package, on vous demandera de configurer plusieurs aspects du package PhpMyAdmin. Tout d’abord, vous serez invité à choisir le serveur web par défaut pour son exécution. Appuyez sur Échap car NGINX n’est pas dans la liste fournie.

Choose Web Server to Configure PHPMyAdmin

17. Ensuite, PhpMyAdmin nécessite une base de données pour fonctionner. Dans cette invite de configuration de package, choisissez Oui pour configurer une base de données pour PhpMyAdmin avec le paquet dbconfig-common.

Configure Database for PhpMyAdmin

18. À la prochaine invite, vous devez fournir un mot de passe pour PhpMyAdmin pour s’enregistrer avec la base de données MariaDB. Entrez un mot de passe sécurisé et appuyez sur Entrée.

Create a Password for PhpMyAdmin

Étape 6 : Configuration de NGINX pour servir le site PhpMyAdmin

19. Pour permettre à NGINX de servir le site PhpMyAdmin situé à /usr/share/phpmyadmin, créez un lien symbolique pour ce répertoire sous le répertoire de documents, puis définissez les autorisations et la propriété correctes sur le répertoire PHPMyAdmin comme suit.

$ sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:www-data -R /usr/share/phpmyadmin/

20. De plus, assurez-vous que la directive index dans le fichier de configuration du bloc serveur par défaut (/etc/nginx/sites-available/default) inclut index.php comme indiqué dans la capture d’écran suivante.

Configure Nginx Index Directive

21. Ensuite, redémarrez une fois de plus le service Nginx pour appliquer les changements ci-dessus.

$ sudo systemctl restart nginx

22. Accédez maintenant au site PhpMyAdmin à partir d’un navigateur en utilisant l’adresse suivante.

http://SERVER_IP/phpmyadmin

Sur la page de connexion, authentifiez-vous avec le nom d’utilisateur et le mot de passe PHPMyAdmin. Rappelez-vous que la connexion de l’utilisateur root à distance est désactivée à moins que vous n’accédiez à PHPMyAdmin sur l’ordinateur local où la base de données MariaDB est installée, l’accès root ne fonctionnera pas.

PhpMyAdmin Login
PhpMyAdmin Dashboard

Votre installation de PhpMyAdmin est maintenant sécurisée en suivant notre guide: 4 Astuces Utiles pour Sécuriser l’Interface Web de PhpMyAdmin.

Conclusion

Votre configuration LEMP est maintenant complète et vous pouvez commencer à développer vos applications web ou simplement jouer avec les services Nginx et MariaDB que vous venez d’installer. Ils sont largement utilisés et acquérir plus de connaissances à leur sujet est vivement recommandé pour les administrateurs système.

Source:
https://www.tecmint.com/install-lemp-with-phpmyadmin-in-ubuntu-20-04/