GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

Nginx (prononcez "engine x") est un serveur HTTP gratuit, open-source et hautes performances. 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 PHP 7.4 (via PHP-FPM) et le support MySQL (LEMP =Linux + Nginx (prononcé "moteur x") + MySQL + PHP).

Prérequis

  • Serveur Ubuntu 20.04 LTS
  • Privilèges root

Qu'allons-nous faire ?

  • Installer Nginx
  • Installer MySQL
  • Installer PHP-FPM
  • Configurer Nginx et PHP-FPM
  • Installer PhpMyAdmin
  • Configurer PhpMyAdmin
  • 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.

Mettez à jour tous les référentiels sur le système Ubuntu et installez les packages Nginx à l'aide de la commande apt ci-dessous.

mise à jour sudo apt
sudo apt install nginx

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

Maintenant que l'installation du serveur Web Nginx est terminée, vérifiez le service Nginx à l'aide de la commande suivante.

statut systemctl nginx

Vous trouverez ci-dessous le résultat que vous obtiendrez.

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

ss-plt4

Vous trouverez ci-dessous le résultat que vous obtiendrez.

Par conséquent, le protocole HTTP est utilisé par le service Nginx.

Ensuite, nous allons sécuriser notre installation Nginx à l'aide du pare-feu UFW.

Ajoutez le protocole HTTP et HTTPS à la configuration du pare-feu UFW à l'aide de la commande suivante.

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

Activez maintenant le pare-feu UFW et vérifiez son état.

ufw enable
statut ufw numéroté

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

Étape 2 - Installer MySQL

MySQL est le système de gestion de base de données relationnelle (RDBMS) open source le plus populaire créé par Oracle Corporation. C'est 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

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

Vérifiez maintenant le service MySQL à l'aide de la commande ci-dessous.

statut systemctl mysql

Le service MySQL est opérationnel.

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

Maintenant, on vous demandera la configuration suivante, et assurez-vous de taper votre mot de passe fort pour l'utilisateur root MySQL.

Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non :Appuyez sur Entrée

Nouveau mot de passe :
Saisissez à nouveau le nouveau mot de passe :

Supprimer les utilisateurs anonymes ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :Y
Interdire la connexion root à distance ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :Y
Supprimer la base de données de test et y accéder ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :Y
Recharger les tables de privilèges maintenant ? (Appuyez sur y|Y pour Oui, n'importe quelle 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 sont terminé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 petits et grands sites 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

Une fois l'installation de PHP-FPM terminée, accédez au répertoire '/etc/php/7.4/fpm' et modifiez la configuration php.ini à l'aide de l'éditeur vim.

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

Décommentez la configuration suivante et changez la valeur en '0'.

cgi.fix_pathinfo =0

Enregistrez et fermez.

Démarrez maintenant le service PHP7.4-FPM et activez-le pour qu'il se lance à chaque fois au démarrage du système

systemctl démarrer php7.4-fpm
systemctl activer php7.4-fpm

Le service PHP-FPM est opérationnel, vérifiez-le à l'aide de la commande suivante.

statut systemctl php7.4-fpm

Vous trouverez ci-dessous le résultat que vous obtiendrez.

Par défaut, le PHP-FPM s'exécute sous le fichier chaussette, vérifiez à l'aide de la commande ss ci-dessous.

ss -pl | grep php

Vous trouverez ci-dessous la réponse que vous obtiendrez.

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

Et l'installation de PHP-FPM 7.4 sur Ubuntu 20.04 est terminée.

Étape 4 - Configurer Nginx et PHP-FPM

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

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 la ligne suivante pour masquer la version Nginx.

server_tokens désactivé ;

Enregistrez et fermez.

Ensuite, modifiez la configuration de l'hôte virtuel "par défaut" dans le répertoire "sites-available".

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:/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 de Nginx et assurez-vous qu'il n'y a pas d'erreur, puis redémarrez le service.

nginx -t
systemctl redémarre nginx

En conséquence, la configuration de Nginx et PHP-FPM est terminée.

É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

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 base de données phpmyadmin et la configuration utilisateur, choisissez 'Oui '.

Et tapez le nouvel administrateur PHPMyAdmin "STRONG" tel que "[email protected]#".

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

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 qu'il s'exécute sous le serveur Web Nginx et configurer l'accès phpmyadmin de l'utilisateur MySQL. Pour exécuter 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 modifiez le fichier d'hôte virtuel par défaut.

cd /etc/nginx/sites-available/
vim par défaut

Collez la configuration Nginx suivante pour PHPMyAdmin entre le crochet 'server {...}'.

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

emplacement ~ ^/phpmyadmin/(doc|sql|setup)/ {
    refuser tout ;
    }

emplacement ~ /phpmyadmin/(.+\.php)$ {
    fastcgi_pass unix :/run/php/php7.4-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 assurez-vous qu'il n'y a pas d'erreur, puis redémarrez le service nginx.

nginx -t
systemctl recharge nginx

Et nous avons ajouté la configuration Nginx pour notre installation phpMyAdmin, elle est accessible via l'URL du chemin sous la forme 'http://server-ip/phpmyadmin'.

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

Pour ce tutoriel, nous utiliserons 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 à l'intérieur du serveur à l'utilisateur.

Connectez-vous au shell MySQL à l'aide de la commande suivante.

mysql -u root -p

Créez maintenant un nouvel utilisateur MySQL "hakase" et accordez tous les privilèges de base de données.

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

Tapez maintenant 'exit' pour vous déconnecter du shell MySQL.

quitter

En conséquence, nous avons créé un nouvel utilisateur MySQL pour 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' à l'aide de l'éditeur vim.

cd /var/www/html
vim info.php

Collez-y le script suivant.

phpinfo();
?>

Enregistrez et fermez.

Ensuite, ouvrez votre navigateur Web et tapez l'adresse IP de votre serveur en suivant le chemin de votre script 'info.php'.

http://server-ip/info.php

Vous trouverez ci-dessous le résultat que vous obtiendrez.

En conséquence, nous avons une configuration détaillée de notre PHP-FPM 7.4 sur le serveur Ubuntu 20.04, et le script PHP est en cours d'exécution sur notre serveur LEMP Stack.

Tester phpMyAdmin

Pour tester notre installation de phpMyAdmin, saisissez l'adresse IP de votre serveur suivie du chemin "phpmyadmin" sur l'URL.

http://server-ip/phpmyadmin/

Et vous obtiendrez la page de connexion phpMyAdmin.

Pour vous connecter à phpMyAdmin, tapez l'utilisateur que nous avons créé en haut. L'utilisateur est 'hakase' avec le mot de passe '[email protected]#', puis cliquez sur 'Go ' bouton.

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

Le phpMyAdmin fonctionne sous l'environnement LEMP Stack.

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


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 LAMP Stack sur Ubuntu 22.04 LTS

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

Comment installer PHP 5.6, PHP 8.0 et PHP 8.1 sur Ubuntu 20.04 LTS

Comment installer la pile LEMP sur Ubuntu 20.04

Comment installer phpMyAdmin avec Nginx (LEMP) sur Ubuntu 18.04 LTS

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

Comment installer LEMP WordPress Ubuntu et Debian avec Virtualhost

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