Recherche de site Web

Comment installer LEMP Stack avec PhpMyAdmin dans Ubuntu 20.04


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

Vous pouvez utiliser LEMP à des fins de test ou dans un environnement de production réel pour déployer des applications Web à l'aide de frameworks PHP tels que Laravel ou Yii, ou de 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 plutôt bons et même si Apache est le plus fréquemment utilisé, Nginx ne recule en aucun cas.

Une autre application largement utilisée, normalement installée avec la pile LEMP, est PhpMyAdmin : il s'agit d'un outil Web PHP permettant d'administrer un serveur de base de données MySQL/MariaDB. à partir d'un navigateur Internet.

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

Conditions préalables:

  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 gérer de nombreuses connexions simultanées sans consommer trop de ressources du serveur. C’est pourquoi il s’agit souvent du choix privilégié dans les environnements d’entreprise.

NGINX est également couramment utilisé comme équilibreur de charge et cache de contenu Web. Il prend en charge les serveurs virtuels basés sur le nom et sur l'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

Les fichiers de configuration Nginx sont stockés dans le répertoire /etc/nginx et son fichier de configuration principal est /etc/nginx/nginx.conf. Il est important de noter que la racine du document par défaut pour stocker vos fichiers Web est /usr/share/nginx/html/. Mais vous pouvez utiliser le standard /var/www/html qui doit être configuré dans le fichier de configuration du bloc serveur de votre site Web ou de votre application.

2. Le programme d'installation du package Ubuntu déclenche systemd pour démarrer le service Nginx et lui permettre de démarrer automatiquement à chaque redémarrage du serveur. Utilisez les commandes systemctl suivantes pour confirmer que le service est en cours d'exécution et activé.

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3. Il est maintenant temps de vérifier si l'installation de Nginx a réussi 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 doit se charger comme indiqué dans la capture d'écran suivante, confirmant l'installation et le fonctionnement corrects.

É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

5. Le service MariaDB est également automatiquement démarré et activé pour toujours démarrer au démarrage du système et vous pouvez le confirmer à l'aide des commandes suivantes.

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

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

sudo mysql_secure_installation

Choisissez ensuite l'option permettant de définir le mot de passe de l'utilisateur racine (ou administrateur) de la base de données, 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 root à distance ? [O/n] o
  • Supprimer la base de données de test et y accéder ? [O/n] o
  • Recharger les tables de privilèges maintenant ? [O/n] o

7. Pour créer, gérer et effectuer des opérations de base de données, vous devez exécuter la commande shell mysql avec l'indicateur -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 l'indicateur -p), sinon vous recevrez l'erreur mise en évidence dans la capture d'écran suivante.

mysql -u root -p
sudo mysql -u root

Étape 3 : Installer PHP dans Ubuntu 20.04

8. PHP est un langage de script open source, flexible et dynamique populaire pour la création de sites Web et d'applications Web. Il prend en charge une variété de techniques de programmation. Il est important de noter que la communauté PHP est vaste et diversifiée, composée d'innombrables bibliothèques, frameworks et autres composants utiles.

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

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

sudo apt install php php-mysql php-fpm

Puisque PHP 7.4 est la version par défaut de PHP dans Ubuntu 20.04, les fichiers de configuration PHP se trouvent 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 opérationnel et s'il est activé avec la commande suivante.

sudo systemctl status php7.4-fpm
sudo systemctl is-enabled php7.4-fpm

Étape 4 : configurer Nginx pour fonctionner avec PHP-FPM

10. Vous devez maintenant configurer NGINX pour proxyer les requêtes 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 d'écoute dans le fichier de configuration du pool par défaut /etc/php/7.4/fpm/pool.d/www.conf.

sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. Dans le fichier de configuration du bloc serveur par défaut (/etc/nginx/sites-available/default), décommentez l'emplacement de la directive pour le traitement de PHP. demande de ressembler à celui présenté dans la capture d'écran suivante.

sudo vi /etc/nginx/sites-available/default

Enregistrez le fichier et quittez.

12. Testez ensuite l'exactitude de la syntaxe de configuration NGINX. Si tout est OK, redémarrez le service Nginx pour appliquer les nouvelles modifications.

sudo nginx -t
sudo systemctl restart nginx

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

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

14. Dans votre navigateur, naviguez en utilisant l'adresse suivante. La page de configuration PHP devrait se charger, comme indiqué dans la capture d'écran suivante.

http://SERVER_IP/info.php

Étape 5 : Installation de PhpMyAdmin dans Ubuntu 20.04

15. PhpMyAdmin est une application Web PHP gratuite et open source spécialement créée pour administrer les serveurs de bases de données MySQL/MariaDB via un navigateur Web. Il fournit une interface graphique intuitive et prend en charge un large éventail de fonctionnalités communes pour les tâches d'administration de bases de données.

sudo apt install phpmyadmin

16. Lors de l'installation du package, il vous sera demandé de configurer plusieurs aspects du package PhpMyAdmin. Tout d’abord, il sera invité à choisir le serveur Web par défaut pour l’exécuter. Appuyez sur Esc car NGINX ne figure pas dans la liste fournie.

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

18. À l'invite suivante, vous devez fournir un mot de passe pour PhpMyAdmin afin de vous inscrire dans la base de données MariaDB. Entrez un mot de passe sécurisé et cliquez sur Entrée.

É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 la racine du document, 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. En outre, 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.

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

sudo systemctl restart nginx

22. Accédez maintenant au site PhpMyAdmin depuis 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. N'oubliez pas que la connexion de l'utilisateur root distant est désactivée, sauf si vous accédez à PHPMyAdmin sur l'hôte local sur lequel la base de données MariaDB est installée, l'accès root ne fonctionnera pas.

Enfin et surtout, sécurisez votre installation PhpMyAdmin à l'aide de notre guide : 4 conseils utiles pour sécuriser l'interface Web de PhpMyAdmin.

Conclusion

Votre configuration LEMP est maintenant terminée et vous pouvez commencer à créer vos applications Web ou simplement jouer avec les services Nginx et MariaDB que vous venez d'installer. Ceux-ci sont largement utilisés et acquérir davantage de connaissances est fortement recommandé aux administrateurs système.