GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

Une combinaison de Linux, Nginx, MySQL et PHP est connue sous le nom de pile LEMP est l'environnement d'hébergement Web populaire pour l'application basée sur PHP. Ici, Linux est un système d'exploitation, Nginx est le serveur Web populaire, MySQL est un système de gestion de base de données relationnelle utilisé pour stocker des données et PHP est le langage de programmation largement utilisé.

Cet article vous aidera à installer Nginx, MySQL 8.0 et PHP 7.4 sur le système Ubuntu Linux. Commençons par l'installation de la pile LEMP sur votre machine Ubuntu.

Prérequis

Avant de commencer l'installation de LEMP sur Ubuntu :

  • Un système Ubuntu 20.04 exécutant
  • Connectez-vous en tant que compte sudo protégé sur votre système. Pour le créer, suivez le didacticiel de configuration initiale du serveur.
  • Un nom de domaine/sous-domaine pointant vers votre serveur

Installation du serveur Web Nginx

Ensuite, vous devez installer le serveur Web Nginx sur votre système. Les packages Nginx sont disponibles dans les référentiels apt par défaut.

Exécutez les commandes suivantes pour l'installer :

sudo apt update
sudo apt install nginx

Installer PHP avec PHP-FPM

Les packages PHP 7.4 sont disponibles dans les référentiels par défaut sur Ubuntu 20.04 LTS. Utilisez la commande suivante pour mettre à jour le cache apt et installer PHP sur votre système.

sudo apt update
sudo apt install -y php7.4 php7.4-fpm

Installez également les modules PHP supplémentaires requis pour votre application.

sudo apt install php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-xml

Vous avez installé PHP 7.4 avec le package PHP FPM sur votre système. Vérifions l'état du service PHP FPM en exécutant la commande ci-dessous :

sudo systemctl status php7.4-fpm

● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-06-16 05:15:57 UTC; 34s ago
       Docs: man:php-fpm7.4(8)
    Process: 882716 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74>
   Main PID: 882699 (php-fpm7.4)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 2283)
     Memory: 10.3M
     CGroup: /system.slice/php7.4-fpm.service
             ├─882699 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
             ├─882714 php-fpm: pool www
             └─882715 php-fpm: pool www

Jun 16 05:15:57 tecadmin systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
Jun 16 05:15:57 tecadmin systemd[1]: Started The PHP 7.4 FastCGI Process Manager.

Installer MySQL

Les référentiels apt Ubuntu 20.04 par défaut contiennent le serveur MySQL 8.0. Enfin, installez les packages mysql-server pour la base de données MySQL. Installez également le package php-mysql pour utiliser le support MySQL à l'aide de PHP. Utilisez la commande suivante pour l'installer.

sudo apt install mysql-server php7.4-mysql

Le programme d'installation vous demandera le mot de passe root. Ce mot de passe fonctionnera pour votre utilisateur root MySQL. Après avoir installé MySQL, exécutez la commande suivante pour les paramètres initiaux du serveur MySQL. Vous verrez que le script demandera plus de paramètres que les versions précédentes de MySQL, comme la politique de validation des mots de passe, etc.

sudo mysql_secure_installation
Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component? 

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Please set the password for root here.

New password:

Re-enter new password:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

Configurer Nginx avec PHP-FPM

Créons un hôte virtuel Nginx à exécuter avec FPM/FastCGI. Pour ce tutoriel, nous utilisons VirtualHost par défaut. Modifiez le fichier de configuration de l'hôte VirtualHost dans l'éditeur de texte. Vous pouvez créer un nouveau VirtualHost selon vos besoins, alors assurez-vous d'activer tout nouveau VirtualHost.

sudo vim /etc/nginx/sites-available/example.com

Utilisez la configuration de base de l'hôte virtuel Nginx ci-dessous avec les paramètres php fpm. Mettez à jour la configuration comme suit.

Apache
123456789101112131415 serveur { écouter 80 ; racine /var/www/html; index index.php index.html index.htm; nom_serveur exemple.com ; emplacement / { try_files $uri $uri/ =404; } emplacement ~ \.php$ { inclure des extraits/fastcgi-php.conf ; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock ; }}

Enregistrez vos modifications dans le fichier de configuration et créez un lien vers le répertoire activé par le site.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com 

Redémarrez ensuite le service Nginx pour recharger les modifications.

sudo systemctl restart nginx

Étape 5 – Gérer les services

Nous avons terminé l'installation de la pile LAMP sur le système Ubuntu 20.04 LTS. Les commandes ci-dessous vous aideront à démarrer/arrêter ou redémarrer les services Nginx et MySQL exécutés avec systemd.

Pour redémarrer les services Nginx et MySQL, tapez :

sudo systemctl restart nginx
sudo systemctl restart mysql

Pour démarrer les services Nginx et MySQL, tapez :

sudo systemctl start nginx
sudo systemctl start mysql

Pour arrêter les services Nginx et MySQL, tapez :

sudo systemctl stop nginx
sudo systemctl stop mysql

Étape 6 :Ajuster les règles du pare-feu

Vous pouvez directement fournir un nom de service comme "http" ou "https" pour autoriser. Le firewalld utilise le fichier /etc/services pour déterminer le port correspondant du service.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

sudo firewall-cmd --reload

Étape 7 – Vérifier la configuration

Après avoir terminé toute la configuration. Créons un info.php fichier racine du document du site Web avec le contenu suivant.

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

Accédez maintenant à ce fichier dans le navigateur Web. Vous verrez l'écran comme ci-dessous avec tous les détails de PHP sur le serveur.

Félicitations ! Vous avez configuré avec succès le serveur LEMP sur votre système Ubuntu 20.04 LTS.


Ubuntu
  1. Comment installer la pile LEMP (Nginx, MySQL, PHP v7) sur CentOS 7

  2. Comment installer Phorum avec Nginx sur Ubuntu 18.04 LTS

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

  4. Comment installer LEMP sur Ubuntu 18.04

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

Comment installer LAMP sur Ubuntu 14.04

Comment installer LEMP sur Ubuntu 15.10

Comment installer LAMP sur Ubuntu 15.10

Comment installer LEMP sur Ubuntu 16.04

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

Comment installer Magento 2.4.5 sur Ubuntu 22.04