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 ?
- 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.
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 -yDé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-fpmPHP7.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.confDé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/defaultDé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.iniDécommentez la ligne 'cgi.fix_patinfo' et remplacez la valeur par '0'.
cgi.fix_pathinfo=0Enregistrez et quittez.
Rechargez le service PHP-FPM.
systemctl recharge php7.2-fpmEt 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 -yLors 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/defaultCollez 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 nginxEt 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 -pCré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.phpCollez 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.