GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer la pile LEMP (Nginx, MariaDB, PHP7.2) sur Ubuntu 18.04 LTS

Ce tutoriel va vous montrer comment installer Nginx, MariaDB et PHP7.2 (LEMP) sur Ubuntu 18.04. Une pile logicielle est un ensemble d'outils logiciels regroupés. LEMP signifie Linux, Nginx (Engine-X), MariaDB/MySQL et PHP, qui sont tous open source et gratuits. Il s'agit de la pile logicielle la plus courante qui alimente les sites Web dynamiques et les applications Web. Linux est le système d'exploitation; Nginx est le serveur Web ; MariaDB/MySQL est le serveur de base de données et PHP est le langage de script côté serveur chargé de générer des pages Web dynamiques.

Prérequis

Pour suivre ce tutoriel, vous devez avoir un système d'exploitation Ubuntu 18.04 en cours d'exécution sur votre ordinateur local ou sur un serveur distant. Si vous recherchez un VPS (Virtual Private Server), vous pouvez cliquer sur ce lien spécial pour obtenir un crédit gratuit de 50 $ sur DigitalOcean. (Pour les nouveaux utilisateurs uniquement). Si vous êtes déjà un utilisateur de DigitalOcean, vous pouvez cliquer sur ce lien spécial pour obtenir un crédit gratuit de 50 $ sur Vultr (pour les nouveaux utilisateurs uniquement). Sans plus tarder, commençons.

Étape 1 :Mettre à jour les packages logiciels

Avant d'installer la pile LEMP, il est recommandé de mettre à jour le référentiel et les packages logiciels en exécutant les commandes suivantes sur votre système d'exploitation Ubuntu 18.04.

mises à jour de sudo aptmises à jour de sudo apt

Étape 2 :Installer le serveur Web Nginx

Nginx est un serveur Web haute performance et très populaire de nos jours. Il peut également être utilisé comme proxy inverse et serveur de mise en cache. Entrez cette commande pour installer le serveur Web Nginx.

sudo apt installer nginx

Une fois installé, nous pouvons permettre à Nginx de démarrer automatiquement au démarrage d'Ubuntu en exécutant la commande suivante.

sudo systemctl activer nginx

Ensuite, démarrez Nginx avec cette commande :

sudo systemctl démarrer nginx

Vérifiez maintenant son statut.

statut systemctl nginx

Sortie :

● nginx.service - Un serveur Web hautes performances et un serveur proxy inverse Chargé :chargé (/lib/systemd/system/nginx.service ; activé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis le jeu 2018- 05-17 02:20:05 UTC ; il y a 2min 56s Docs :man:nginx(8) PID principal :19851 (nginx) Tâches :2 (limite :2059) CGroup :/system.slice/nginx.service ├─19851 nginx :processus maître /usr/sbin/nginx - démon g activé ; master_process activé ; └─19853 nginx :processus de travail

"Activé " indique que le démarrage automatique au démarrage est activé et nous pouvons voir que Nginx est en cours d'exécution. Notez que la commande ci-dessus ne se fermera pas immédiatement après l'exécution. Vous devez appuyer sur "q ” pour le faire cesser.

Vérifiez la version de Nginx.

nginx -v

Sortie :

version de nginx :nginx/1.14.0 (Ubuntu)

Tapez maintenant l'adresse IP publique de votre serveur Ubuntu 18.04 dans la barre d'adresse du navigateur. Vous devriez voir la page Web "Bienvenue dans Nginx", ce qui signifie que le serveur Web Nginx fonctionne correctement. Si vous installez LEMP sur votre ordinateur Ubuntu 18.04 local, saisissez 127.0.0.1 ou localhost dans la barre d'adresse du navigateur.

Notez que certains fournisseurs de serveurs cloud peuvent bloquer tout le trafic entrant par défaut, donc si votre navigateur ne peut pas se connecter au serveur Web Nginx, vous devrez peut-être définir des règles de pare-feu dans votre panneau de configuration.

Enfin, nous devons créer www-data (utilisateur Nginx) en tant que propriétaire du répertoire Web. Par défaut, il appartient à l'utilisateur root.

sudo chown www-data:www-data /usr/share/nginx/html -R

Étape 3 :Installer le serveur de base de données MariaDB

MariaDB est un remplacement direct de MySQL. Il est développé par d'anciens membres de l'équipe MySQL qui craignent qu'Oracle ne transforme MySQL en un produit à source fermée. Entrez la commande suivante pour installer MariaDB sur Ubuntu 18.04.

sudo apt install mariadb-server mariadb-client

Une fois installé, le serveur MariaDB devrait être automatiquement démarré. Utilisez systemctl pour vérifier son état.

statut systemctl mariadb

Sortie :

● mariadb.service - Serveur de base de données MariaDB Chargé :chargé (/lib/systemd/system/mariadb.service ; activé ; préréglage fournisseur :activé) Actif :actif (en cours d'exécution) depuis le jeu 2018-05-17 02:39 :57 UTC ; Il y a 49 s PID principal :21595 (mysqld) Statut :"En train de prendre vos requêtes SQL maintenant..." Tâches :27 (limite :2059) CGroup :/system.slice/mariadb.service └─21595 /usr/sbin/mysqld 

S'il ne fonctionne pas, démarrez-le avec cette commande :

sudo systemctl démarrer mariadb

Pour permettre à MariaDB de démarrer automatiquement au démarrage, exécutez

sudo systemctl enable mariadb

Exécutez maintenant le script de sécurité post-installation.

sudo mysql_secure_installation

Lorsqu'il vous demande d'entrer le mot de passe root MariaDB, appuyez sur la touche Entrée car le mot de passe root n'est pas encore défini. Saisissez ensuite y pour définir le mot de passe root pour le serveur MariaDB.

Ensuite, vous pouvez appuyer sur Entrée pour répondre à toutes les questions restantes, ce qui supprimera l'utilisateur anonyme, désactivera la connexion root à distance et supprimera la base de données de test. Cette étape est une exigence de base pour la sécurité de la base de données MariaDB. (Notez que Y est en majuscule, ce qui signifie qu'il s'agit de la réponse par défaut. )

Par défaut, le package MaraiDB sur Ubuntu utilise unix_socket pour authentifier la connexion de l'utilisateur, ce qui signifie essentiellement que vous pouvez utiliser le nom d'utilisateur et le mot de passe du système d'exploitation pour vous connecter à la console MariaDB. Vous pouvez donc exécuter la commande suivante pour vous connecter sans fournir de mot de passe root MariaDB.

sudo mariadb -u racine

Pour quitter, exécutez

quitter ;

Vérifiez les informations de version du serveur MariaDB.

mariadb --version

Comme vous pouvez le voir, nous avons installé MariaDB 10.1.29.

mariadb Ver 15.1 Distrib 10.1.29-MariaDB, pour debian-linux-gnu (x86_64) utilisant readline 5.2

Étape 4 :Installez PHP7.2

PHP7.2 est inclus dans le référentiel Ubuntu 18.04 et présente une amélioration mineure des performances par rapport à PHP7.1. Entrez la commande suivante pour installer php7.2 et certaines extensions courantes.

sudo apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2 -mbstring php7.2-xml php7.2-gd php7.2-curl

Les extensions PHP sont couramment nécessaires pour les systèmes de gestion de contenu (CMS) comme WordPress. Par exemple, si votre installation manque de php7.2-xml , certaines pages de votre site WordPress peuvent être vides et vous pouvez trouver une erreur dans le journal des erreurs Nginx comme :

Message PHP :Erreur fatale PHP :  Erreur non détectée :appel à la fonction non définie xml_parser_create()

L'installation de ces extensions PHP garantit le bon fonctionnement de votre CMS. Lancez maintenant php7.2-fpm.

sudo systemctl démarrer php7.2-fpm

Activer le démarrage automatique au démarrage.

sudo systemctl activer php7.2-fpm

Vérifier l'état :

statut systemctl php7.2-fpm

Exemple de sortie :

● php7.2-fpm.service - Le gestionnaire de processus PHP 7.2 FastCGI Chargé :chargé (/lib/systemd/system/php7.2-fpm.service ; activé ; fournisseur prese Actif :actif (en cours d'exécution) depuis le jeu 2018 -05-17 03:04:46 UTC ; il y a 2min 43s Docs :man:php-fpm7.2(8) PID principal :31922 (php-fpm7.2) Statut :"Processus actifs :0, inactifs :2, Requêtes :0, lent :0, Trafic :0req/se Tâches :3 (limite :2059) CGroup :/system.slice/php7.2-fpm.service ├─31922 php-fpm :processus maître (/etc/php/7.2 /fpm/php-fpm.conf) ├─31939 php-fpm :pool www └─31940 php-fpm :pool www

Étape 5 :Créer un bloc de serveur Nginx

Un bloc de serveur Nginx est comme un hôte virtuel dans Apache. Nous n'utiliserons pas le bloc de serveur par défaut car il est inadéquat pour exécuter du code PHP et si nous le modifions, cela devient un gâchis. Supprimez donc le default lien symbolique dans sites-enabled répertoire en exécutant la commande suivante. (Il est toujours disponible en tant que /etc/nginx/sites-available/default .)

sudo rm /etc/nginx/sites-enabled/default

Créez ensuite un tout nouveau fichier de bloc de serveur sous /etc/nginx/conf.d/ répertoire.

sudo nano /etc/nginx/conf.d/default.conf

Collez le texte suivant dans le fichier. L'extrait de code suivant permettra à Nginx d'écouter sur le port IPv4 80 et le port IPv6 80 avec un nom de serveur fourre-tout.

serveur { écouter 80 ; écouter [::]:80 ; nom du serveur _; racine /usr/share/nginx/html/ ; index index.php index.html index.htm index.nginx-debian.html; emplacement / { try_files $uri $uri/ /index.php; } emplacement ~ \.php$ { fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; inclure fastcgi_params ; inclure snippets/fastcgi-php.conf ; } # Une longue durée de vie du cache du navigateur peut accélérer les visites répétées sur l'emplacement de votre page ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log désactivé; log_not_found désactivé ; expire 360j ; } # désactiver l'accès à l'emplacement des fichiers cachés ~ /\.ht { access_log off; log_not_found désactivé ; Nier tous; }}

Enregistrez et fermez le fichier. Testez ensuite les configurations Nginx.

sudo nginx -t

Si le test réussit, rechargez Nginx.

sudo systemctl recharger nginx

Étape 6 :Testez PHP

Pour tester PHP-FPM avec le serveur Web Nginx, nous devons créer un info.php fichier dans le répertoire racine du document.

sudo nano /usr/share/nginx/html/info.php

Collez le code PHP suivant dans le fichier.

Enregistrez et fermez le fichier. Maintenant, dans la barre d'adresse du navigateur, saisissez server-ip-address/info.php . Remplacez sever-ip-address avec votre adresse IP actuelle. Si vous suivez ce tutoriel sur votre ordinateur local, saisissez 127.0.0.1/info.php ou localhost/info.php .

Vous devriez voir les informations PHP de votre serveur. Cela signifie que les scripts PHP peuvent s'exécuter correctement avec le serveur Web Nginx.

Bravo! Vous avez installé avec succès Nginx, MariaDB et PHP7.2 sur Ubuntu 18.04. Pour la sécurité de votre serveur, vous devez supprimer info.php fichier maintenant pour empêcher le pirate de le voir.

sudo rm /usr/share/nginx/html/info.php

Étape suivante

Vous pouvez installer phpMyAdmin, qui est un panneau d'administration Web pour le serveur de base de données MySQL/MariaDB.

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

Vous pouvez également installer WordPress au-dessus de la pile LEMP pour créer votre propre site Web ou blog.

  • Installer WordPress sur Ubuntu 18.04 avec Nginx, MariaDB, PHP7.2 (LEMP)

C'est ça! J'espère que ce tutoriel vous a aidé à installer la pile LEMP sur Ubuntu 18.04 LTS . Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite pour obtenir plus de conseils et d'astuces. Prenez soin de vous.


Ubuntu
  1. Comment installer Nginx sur Ubuntu 20.04

  2. Comment installer MariaDB sur Ubuntu 20.04

  3. Comment installer Nextcloud avec Nginx sur Ubuntu 18.04 LTS

  4. Comment installer la pile LEMP sur Ubuntu 16.04

  5. Comment installer LEMP sur Ubuntu 16.04

Comment installer Nginx sur Ubuntu 18.04 LTS

Comment installer LEMP sur Ubuntu 18.04 LTS

Comment installer CachetHQ sur Ubuntu 18.04 LTS

Comment installer LEMP sur Ubuntu 20.04 LTS

Comment installer la pile LEMP avec PhpMyAdmin dans Ubuntu 20.04

Comment installer la pile LEMP (Nginx, MariaDB, PHP7.2) sur Ubuntu 18.04 LTS ?