Installation LEMP · 8 min read · Oct 12, 2025

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

Nginx (prononcé “engine x”) est un serveur HTTP gratuit, open-source et haute performance. Nginx est connu pour sa grande vitesse, sa stabilité, son riche ensemble de fonctionnalités, sa configuration simple et sa faible consommation de ressources. Ce tutoriel montre comment vous pouvez installer Nginx sur un serveur Ubuntu 20.04 LTS avec le support de PHP 7.4 (via PHP-FPM) et le support de MySQL (LEMP = Linux + Nginx (prononcé “engine x”) + MySQL + PHP).

Prérequis

  • Serveur Ubuntu 20.04 LTS
  • Privilèges root

Que allons-nous faire ?

  • Installer Nginx
  • Installer MySQL
  • Installer PHP-FPM
  • Configurer Nginx et PHP-FPM
  • Installer PhpMyAdmin
  • Configurer PhpMyAdmin
  • Tester

Étape 1 - Installer Nginx

Nginx ou engine x est un serveur HTTP et proxy haute performance avec une 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 depuis le dépôt Ubuntu.

Mettez à jour tous les dépôts sur le système Ubuntu et installez les paquets Nginx en utilisant la commande apt ci-dessous.

sudo apt update  
sudo apt install nginx

Après l’installation, démarrez le service Nginx et activez-le pour qu’il se lance à chaque démarrage du système.

systemctl start nginx  
systemctl enable nginx

Maintenant, l’installation du serveur Web Nginx est terminée, vérifiez le service Nginx en utilisant la commande suivante.

systemctl status nginx

Voici le résultat que vous obtiendrez.

Installer Nginx

Vérifiez également le port HTTP sur le système Ubuntu et assurez-vous qu’il est utilisé par le service Nginx.

ss -plt4

Voici le résultat que vous obtiendrez.

En conséquence, le protocole HTTP est utilisé par le service Nginx.

Ensuite, nous allons sécuriser notre installation Nginx en utilisant le pare-feu UFW.

Ajoutez le protocole HTTP et HTTPS à la configuration du pare-feu UFW en utilisant la commande suivante.

for fw in ssh http https  
do  
ufw allow $fw  
done

Maintenant, activez le pare-feu UFW et vérifiez son statut.

ufw enable  
ufw status numbered

Et le protocole HTTP et HTTPS a été ajouté à la configuration du pare-feu UFW.

Ouvrir le port HTTP et HTTPS UFW Firewall

Étape 2 - Installer MySQL

MySQL est le système de gestion de base de données relationnelle (SGBDR) open-source le plus populaire créé par Oracle Corporation. C’est un composant central de la pile LEMP, et nous allons installer la dernière version de MySQL depuis le dépôt Ubuntu.

Installez MySQL en utilisant la commande apt ci-dessous.

sudo apt install mysql-server mysql-client

Après l’installation de MySQL, démarrez le service MySQL et activez-le pour qu’il se lance à chaque démarrage du système.

systemctl start mysql  
systemctl enable mysql

Vérifiez maintenant le service MySQL en utilisant la commande ci-dessous.

systemctl status mysql

Le service MySQL est en cours d’exécution.

Installer le serveur MySQL

Ensuite, nous allons configurer le mot de passe root pour le serveur MySQL.

Exécutez la commande ‘mysql_secure_installation’ ci-dessous.

mysql_secure_installation

Vous serez maintenant invité à la configuration suivante, et assurez-vous de taper votre mot de passe fort pour l’utilisateur root MySQL.

Appuyez sur y|Y pour Oui, toute autre touche pour Non : Appuyez sur Entrée  
  
Nouveau mot de passe :   
Ressaisissez le nouveau mot de passe :   
  
Supprimer les utilisateurs anonymes ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : Y  
Interdire la connexion root à distance ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : Y  
Supprimer la base de données de test et l'accès à celle-ci ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : Y  
Recharger les tables de privilèges maintenant ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : Y

Et le mot de passe root MySQL a été configuré.

En conséquence, l’installation et la configuration de la base de données MySQL sur Ubuntu 20.04 ont été complétées.

Étape 3 - Installer et configurer 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 sites de petite à grande taille basés sur le langage de programmation PHP.

Dans cette étape, nous allons installer le PHP7.4-FPM par défaut avec quelques extensions supplémentaires requises par PHPMyAdmin.

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

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

Après l’installation de PHP-FPM, allez dans le répertoire ‘/etc/php/7.4/fpm’ et éditez la configuration php.ini en utilisant l’éditeur vim.

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

Décommentez la configuration suivante et changez la valeur à ‘0’.

cgi.fix_pathinfo = 0

Enregistrez et fermez.

Maintenant, démarrez le service PHP7.4-FPM et activez-le pour qu’il se lance à chaque démarrage du système.

systemctl start php7.4-fpm  
systemctl enable php7.4-fpm

Le service PHP-FPM est en cours d’exécution, vérifiez-le en utilisant la commande suivante.

systemctl status php7.4-fpm

Voici le résultat que vous obtiendrez.

Installer php-fpm

Par défaut, le PHP-FPM fonctionne sous le fichier sock, vérifiez en utilisant la commande ss ci-dessous.

ss -pl | grep php

Voici la réponse que vous obtiendrez.

u_str   LISTEN   0     511   /run/php/php7.4-fpm.sock 67702   * 0

Et l’installation de PHP-FPM 7.4 sur Ubuntu 20.04 a été complétée.

Étape 4 - Configurer Nginx et PHP-FPM

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

Allez dans le répertoire de configuration ‘/etc/nginx’, et éditez le fichier ‘nginx.conf’ en utilisant vim ou nano.

cd /etc/nginx/  
vim nginx.conf

Décommentez la ligne suivante pour cacher la version de Nginx.

server_tokens off;

Enregistrez et fermez.

Ensuite, éditez la configuration de l’hôte virtuel ‘default’ dans le répertoire ‘sites-available’.

vim sites-available/default

Décommentez la ligne PHP montrée ci-dessous et changez la ligne du fichier sock.

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

Enregistrez et fermez.

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

nginx -t  
systemctl restart nginx

En conséquence, la configuration de Nginx et PHP-FPM a été complétée.

Configurer Nginx et 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 depuis 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

Pendant l’installation, il vous sera demandé de configurer le serveur web pour phpmyadmin.

Choisissez l’option aucune et déplacez le curseur vers ‘ OK ‘.

Configurer le serveur web pour phpMyAdmin

Pour la configuration de la base de données et de l’utilisateur phpmyadmin, choisissez ‘ Oui ‘.

Et tapez un nouvel admin PHPMyAdmin ‘FORT’ tel que ‘Hakaselabs001@#’.

Configurer le mot de passe pour la base de données et l'utilisateur phpMyAdmin

Répétez le mot de passe ‘Hakaselabs001@#’.

Configurer le serveur web pour phpMyAdmin

Et l’installation de phpMyAdmin sur Ubuntu 20.04 est terminée.

Étape 6 - Configurer phpMyAdmin avec Nginx et MySQL

Après l’installation de phpmyadmin, nous devons configurer phpmyadmin pour fonctionner sous le serveur web Nginx et configurer l’accès de l’utilisateur MySQL phpmyadmin. Pour faire fonctionner PHPMyAdmin sous le serveur web Nginx, nous devons ajouter la configuration au fichier de configuration de l’hôte virtuel.

Configurer phpMyAdmin avec le serveur web Nginx

Allez maintenant dans le répertoire de configuration ‘/etc/nginx’, et éditez le fichier d’hôte virtuel par défaut.

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

Collez la configuration Nginx suivante pour PHPMyAdmin à l’intérieur des accolades ‘server {…}’.

location /phpmyadmin {  
    root /usr/share/;  
    index index.php;  
    try_files $uri $uri/ =404;  

location ~ ^/phpmyadmin/(doc|sql|setup)/ {  
    deny all;  
    }  
  
location ~ /phpmyadmin/(.+\.php)$ {  
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;  
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
    include fastcgi_params;  
    include snippets/fastcgi-php.conf;  
    }  
}

Enregistrez et quittez.

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

nginx -t  
systemctl reload nginx

Et nous avons ajouté la configuration Nginx pour notre installation phpMyAdmin, elle est accessible via l’URL ‘http://server-ip/phpmyadmin’.

Configurer Nginx pour phpMyAdmin

Autoriser l’utilisateur phpMyAdmin à accéder aux bases de données

Pour ce tutoriel, nous allons utiliser des utilisateurs MySQL non-root pour PHPMyAdmin. Nous allons créer un nouvel utilisateur et accorder tous les privilèges de toutes les bases de données sur le serveur à cet utilisateur.

Connectez-vous à la console MySQL en utilisant la commande suivante.

mysql -u root -p

Maintenant, créez un nouvel utilisateur MySQL ‘hakase’ et accordez tous les privilèges de base de données.

create user hakase@'localhost' identified by 'Hakaselabs001@#';  
grant all privileges on *.* to hakase@'localhost';  
flush privileges;

Maintenant, tapez ‘exit’ pour vous déconnecter de la console MySQL.

exit

En conséquence, nous avons créé un nouvel utilisateur MySQL pour le phpMyAdmin.

Étape 7 - Tester

Dans cette étape, nous allons tester notre configuration de la pile LEMP et de phpMyAdmin.

Tester le fichier PHP

Allez dans le répertoire ‘/var/www/html’ et créez un nouveau fichier de script ‘info.php’ en utilisant l’éditeur vim.

cd /var/www/html  
vim info.php

Collez le script suivant dedans.

Enregistrez et fermez.

Ensuite, ouvrez votre navigateur web et tapez l’adresse IP de votre serveur suivie du chemin de votre script ‘info.php’.

http://server-ip/info.php

Voici le résultat que vous obtiendrez.

phpinfo avec la pile LEMP

En conséquence, nous avons détaillé la configuration de notre PHP-FPM 7.4 sur le serveur Ubuntu 20.04, et le script PHP fonctionne sur notre serveur de pile LEMP.

Tester phpMyAdmin

Pour tester notre installation de phpMyAdmin, tapez l’adresse IP de votre serveur suivie du chemin ‘phpmyadmin’ dans l’URL.

http://server-ip/phpmyadmin/

Et vous obtiendrez la page de connexion phpMyAdmin.

Page de connexion phpMyAdmin

Pour vous connecter à phpMyAdmin, tapez l’utilisateur que nous avons créé ci-dessus. L’utilisateur est ‘hakase’ avec le mot de passe ‘Hakaselabs001@#’, puis cliquez sur le bouton ‘ Go ‘.

Et vous obtiendrez le tableau de bord phpMyAdmin comme ci-dessous.

Tableau de bord phpMyAdmin

Le phpMyAdmin fonctionne sous l’environnement de la pile LEMP.

En conséquence, l’installation et la configuration de la pile LEMP sur Ubuntu 20.04 ont été complétées avec succès.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.