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 nginxEn 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 phpmyadminLors 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éfautCollez 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 nginxEt 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 -pCré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.
quitterEn 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.phpCollez-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.