GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Nginx avec PHP et MySQL (pile LEMP) sur Ubuntu 18.04

Nginx (prononcez "engine x") est un serveur HTTP gratuit, open source et hautes performances. Nginx est connu pour sa stabilité, son riche ensemble de fonctionnalités, sa configuration simple et sa faible consommation de ressources. Ce tutoriel montre comment installer Nginx sur un serveur Ubuntu 18.04 LTS avec prise en charge de PHP 7.2 (via PHP-FPM) et MySQL (LEMP = L inux + nginx (prononcé "e moteur x") + M ySQL + P HP).

Prérequis

  • Serveur Ubuntu 18.04 LTS
  • Privilèges root

Qu'allons-nous faire ?

  1. Installer Nginx
  2. Installer MySQL
  3. Installer PHP-FPM
  4. Configurer Nginx et PHP-FPM
  5. Installer PhpMyAdmin
  6. Configurer PhpMyAdmin
  7. Test

Étape 1 - Installer Nginx

Nginx ou moteur x est un serveur HTTP et proxy hautes performances à faible consommation de mémoire. La plupart des sites Web à grande échelle comme Netflix, Pinterest, CloudFlare, GitHub utilisent Nginx.

Dans cette étape, nous allons installer le serveur Web Nginx à partir du référentiel Ubuntu.

Exécutez la commande ci-dessous.

sudo apt install nginx -y

Une fois l'installation terminée, démarrez le service Nginx et activez-le pour qu'il se lance à chaque démarrage du système.

systemctl démarrer nginx
systemctl activer nginx

L'installation de Nginx est terminée.

Configurer le pare-feu

Il est recommandé d'activer le pare-feu sur le serveur.

Ajoutez le port de service SSH et HTTP à la configuration du pare-feu.

Exécutez la commande UFW ci-dessous.

ufw autorise ssh
ufw autorise http

Démarrez maintenant le pare-feu UFW et activez-le pour qu'il se lance à chaque démarrage du système.

activation ufw

Le serveur Web Nginx est opérationnel sous le pare-feu UFW.

Étape 2 - Installer MySQL

MySQL est le système de gestion de base de données relationnelle open source le plus populaire créé par Oracle Corporation. Il s'agit d'un composant central de la pile LEMP, et nous installerons la dernière version de MySQL à partir du référentiel Ubuntu.

Installez MySQL à l'aide de la commande apt ci-dessous.

sudo apt install mysql-server mysql-client -y

Une fois l'installation de MySQL terminée, démarrez le service MySQL et activez-le pour qu'il se lance à chaque démarrage du système.

systemctl démarrer mysql
systemctl activer mysql

Et nous avons installé MySQL 5.7 sur le serveur Ubuntu 18.04.

Étape 3 - Installer PHP-FPM

PHP-FPM ou FastCGI Process Manager est une alternative à l'ancien PHP FastCGI qui fournit des fonctionnalités supplémentaires et des améliorations de vitesse. Il convient bien aux petits et grands sites basés sur le langage de programmation PHP.

Dans cette étape, nous allons installer PHP7.2-FPM avec quelques extensions supplémentaires requises par phpmyadmin.

Installez PHP-FPM en utilisant la commande ci-dessous.

sudo apt install php7.2 php7.2-fpm php7.2-cli php7.2-curl php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php-pear -y 

Démarrez maintenant le service PHP-FPM et activez-le pour qu'il se lance à chaque fois au démarrage du système une fois l'installation terminée.

systemctl start php7.2-fpm
systemctl enable php7.2-fpm

PHP7.2-FPM est opérationnel sur Ubuntu 18.04 sous le fichier chaussette, vérifiez-le à l'aide de la commande netstat.

netstat -pl | grep php

Étape 4 - Configurer Nginx et PHP-FPM

Dans cette étape, nous allons configurer le serveur Web Nginx et PHP-FPM.

Configurer Nginx

Accédez au répertoire de configuration '/etc/nginx' et modifiez le fichier 'nginx.conf' à l'aide de vim ou nano.

cd /etc/nginx/
vim nginx.conf

Décommentez les lignes suivantes.

keepalive_timeout 2;server_tokens désactivé ;

Enregistrez le fichier de configuration et quittez l'éditeur.

Modifiez maintenant le fichier d'hôte virtuel Nginx par défaut.

vim sites-available/default

Décommentez la ligne PHP ci-dessous et modifiez la ligne du fichier chaussette.

        location ~ \.php$ {                include snippets/fastcgi-php.conf ; #        # # Avec php-fpm (ou d'autres sockets unix) :                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock ; # # Avec php-cgi (ou d'autres sockets tcp) :        # fastcgi_pass 127.2.0.1:9000; } 

Enregistrez et quittez.

Testez la configuration de Nginx et assurez-vous qu'il n'y a pas d'erreur, puis redémarrez le service.

nginx -t
systemctl recharge nginx

Configurer PHP-FPM

Allez dans le répertoire '/etc/php/7.2' et éditez le fichier 'php.ini'.

cd /etc/php/7.2/
vim fpm/php.ini

Décommentez la ligne 'cgi.fix_patinfo' et remplacez la valeur par '0'.

cgi.fix_pathinfo=0

Enregistrez et quittez.

Rechargez le service PHP-FPM.

systemctl recharge php7.2-fpm

Et nous avons terminé la configuration du serveur Web Nginx et de PHP-FPM.

Étape 5 - Installer PhpMyAdmin

PhpMyAdmin est une application basée sur PHP pour gérer les bases de données MySQL ou MariaDB à partir d'un navigateur Web.

Dans cette étape, nous allons installer et configurer phpmyadmin sous la pile LEMP (Linux, Nginx, MySQL et PHP-FPM).

Installez PHPMyAdmin en utilisant la commande apt ci-dessous.

sudo apt install phpmyadmin -y

Lors de l'installation, il vous demandera la configuration du serveur Web pour phpmyadmin.

Choisissez aucune option et déplacez le curseur sur 'OK'.

Pour la configuration de la base de données phpmyadmin, choisissez 'Oui'.

Et tapez le nouvel administrateur phpmyadmin "FORT" tel que "[email protected]#".

Répétez le mot de passe '[email protected]#'.

Et l'installation de phpmyadmin est terminée.

Étape 6 - Configurer PhpMyAdmin

Après l'installation de phpmyadmin, nous devons configurer phpmyadmin pour qu'il s'exécute sous le serveur Web Nginx et configurer l'accès de l'utilisateur MySQL à phpmyadmin.

Configurer PhpMyAdmin avec Nginx

Afin d'exécuter phpmyadmin sous le serveur Web Nginx, nous devons ajouter la configuration au fichier de configuration de l'hôte virtuel.

Accédez au répertoire de configuration '/etc/nginx' et modifiez le fichier d'hôte virtuel par défaut.

cd /etc/nginx/
vim sites-available/default

Collez la configuration Nginx suivante pour phpmyadmin entre les crochets "serveur {...}".

emplacement /phpmyadmin {    root /usr/share/ ; index index.php; try_files $uri $uri/ =404;location ~ ^/phpmyadmin/(doc|sql|setup)/ {    tout refuser ; }emplacement ~ /phpmyadmin/(.+\.php)$ {    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; inclure fastcgi_params ; inclure snippets/fastcgi-php.conf ; }}

Enregistrez et quittez.

Testez la configuration nginx et redémarrez le service nginx.

nginx -t
systemctl recharge nginx

Et nous avons ajouté la configuration Nginx pour phpmyadmin.

Configurer l'utilisateur MySQL pour PhpMyAdmin

Dans ce tutoriel, nous utiliserons un utilisateur MySQL non root pour phpmyadmin. Nous allons créer un nouvel utilisateur et accorder tous les privilèges de la base de données à l'intérieur du serveur à l'utilisateur.

Connectez-vous au shell MySQL.

mysql -u root -p

Créez maintenant un nouvel utilisateur en utilisant les requêtes MySQL ci-dessous.

créer l'utilisateur [email protected]'localhost' identifié par '[email protected]#' ;
accorder tous les privilèges sur *.* à [email protected]'localhost' identifié par '[email protected]#';
vider les privilèges ;
quitter ;

Et nous avons créé un nouvel utilisateur pour l'accès phpmyadmin.

Étape 7 - Tester

Tester les fichiers PHP

Accédez au répertoire racine Web '/var/www/html' et créez un nouveau fichier phpinfo.

cd /var/www/html/
vim info.php

Collez le script phpinfo ci-dessous.

Enregistrez et quittez.

Ouvrez maintenant le navigateur Web et saisissez l'adresse IP du serveur comme indiqué ci-dessous. Remplacez l'IP par l'IP de votre serveur.

http://192.168.33.10/info.php

Et ci-dessous toutes les informations sur la configuration du serveur PHP.

Tester la connexion PhpMyAdmin

Sur le navigateur Web, tapez l'URL phpmyadmin suivante (remplacez l'adresse IP par l'adresse IP de votre serveur).

http://192.168.33.10/phpmyadmin/

Sur la page de connexion de phpmyadmin, saisissez l'utilisateur "hakase" avec le mot de passe "[email protected]#" et cliquez sur le bouton "Go".

Nous allons maintenant voir le tableau de bord phpmyadmin comme ci-dessous.

La pile LEMP et PhpMyAdmin sont installés avec succès sur Ubuntu 18.04 LTS.


Ubuntu
  1. Comment installer Phorum avec Nginx sur Ubuntu 18.04 LTS

  2. Comment installer Nginx avec PHP5 et MySQL sur Ubuntu 11.10

  3. Comment installer Lighttpd avec PHP5 et MySQL sur Ubuntu 11.04

  4. Comment installer et configurer PHP et Nginx (LEMP) sur Ubuntu 20.04

  5. Comment installer LEMP Stack Nginx, MySQL, PHP sur Ubuntu 22.04

Installez Nginx, MySQL, PHP (pile LEMP) sur Ubuntu 20.04 LTS

Comment installer la pile LEMP sur Ubuntu 20.04

Comment installer Nginx, MySQL et PHP (LEMP) sur Ubuntu 20.04

Comment installer LEMP WordPress Ubuntu et Debian avec Virtualhost

Comment installer la pile LEMP avec PhpMyAdmin dans Ubuntu 20.04

Comment installer Nginx, MySQL et PHP (LEMP) sur un serveur Ubuntu 15.04