Comment installer Linux, Nginx, MySQL et PHP (pile LEMP) sur Ubuntu 22.04

Comment installer Linux, Nginx, MySQL et PHP (pile LEMP) sur Ubuntu 22.04

Le système d'exploitation Linux est un système d'exploitation très populaire et largement utilisé pour le serveur. Il alimente la majorité des sites Web du monde, y compris certains des plus connus tels que Yahoo, Google et Facebook. La lampe d'acronyme logique est couramment utilisée pour désigner le mélange de logiciels gratuits et open source qui sont fréquemment utilisés ensemble pour créer une architecture de serveur qui peut gérer des sites Web dynamiques, tels que ceux construits sur PHP, MySQL et Apache.

Chaque lettre de l'acronyme fait référence à un progiciel distinct: cela étant dit, voyons comment nous pouvons installer et configurer la pile de lemp sur Ubuntu.

Pré-requis

En supposant que vous avez un Ubuntu 22 en cours d'exécution.04 Système Linux avec Sudo (ou Root) Accès privilégié.

Accéder à votre système et ouvrir un terminal. Il sera bon de mettre à jour le cache du gestionnaire de packages et la mise à niveau des packages actuellement installés. Pour ce faire, exécutez:

Sudo Apt Update && sudo apt mise à niveau  

Commençons l'installation de pile LEMP (Linux, Nginx, MySQL et PHP) sur Ubuntu 22.04 Jammy Jellyfish Linux System.

Étape 1 - Installation de Nginx

Tout d'abord, nous installerons le dernier serveur Web Nginx sur notre système. Utilisez les commandes suivantes pour ajouter PPA pour installer la dernière version Nginx sur votre Ubuntu 22.04 Linux.

Utilisez les commandes suivantes pour installer le serveur Web Nginx.

sudo apt install nginx  

Cela installera le serveur Web Nginx et démarrera le service.

Maintenant, vous devez autoriser les ports de serveur Web dans le pare-feu. Pour autoriser les ports 80 et 443 dans le pare-feu UFW, exécutez les commandes suivantes.

sudo ufw autorise 80 / TCP  sudo ufw autoriser 43 / TCP  

Ouvrez un navigateur Web sur votre système et saisissez l'IP du serveur dans la barre d'adresse. Vous obtiendrez la page de serveur Nginx par défaut

Page par défaut de Nginx

Étape 2 - Installation de PHP

Tout d'abord, vous devez décider de la version PHP à installer sur votre système. Vous pouvez également installer plusieurs versions PHP sur un seul système. Actuellement, le référentiel contient PHP 5.6, php 7.1, 7.2, 7.3, 7.4 et php 8.0, 8.1. L'instruction ci-dessous installera PHP 8.1. Veuillez modifier la version selon vos exigences.

L'Ondrej / PHP PPA contient toutes les versions PHP pour les systèmes Ubuntu. Ajoutez donc ce référentiel dans votre système avec la commande ci-dessous:

sudo add-apt-repository ppa: ondrej / php  

Maintenant, mettez à jour le cache APT et installez PHP 8.1.

Mise à jour Sudo Apt  sudo apt installer php8.1  

Cela installera PHP sur votre système Ubuntu ainsi que quelques extensions de PHP utiles.

Étape 3 - Installer et configurer PHP-FPM

PHP-FPM (FastCGI Process Manager) est une autre implémentation PHP FastCGI avec certaines fonctionnalités supplémentaires. Le serveur Web Nginx requis PHP-FPM pour traiter les scripts PHP.

Pour installer PHP-FPM, exécutez la commande suivante en fonction de la version PHP installée:

sudo apt installer php8.1 fpm  

Une fois l'installation terminée, vérifiez l'état du service:

Sudo Systemctl Status PHP8.1 fpm  
● PHP8.1 fpm.Service - le PHP 8.1 FastCGI Process Manager chargé: chargé (/ lib / systemd / système / php8.1 fpm.service; activé; Vendor Preset: Activé) Actif: Active (en cours d'exécution) depuis le jeu 2022-04-07 06:26:55 UTC; Il y a 11min Docs: Homme: PHP-FPM8.1 (8) Processus: 108650 execstartpost = / usr / lib / php / php-fpm-socket-helper install / run / php / php-fpm.chaussette / etc / php / 8.1 / fpm / piscine.d / www.CONF 81 (code = sortie, statut = 0 / succès) Pid principal: 108647 (PHP-FPM8.1) Statut: "Processus actifs: 0, inactif: 2, Demandes: 2, lent: 0, trafic: 0req / sec" Tâches: 3 (Limite: 1034) Mémoire: 10.7m CPU: 88ms cgroup: / système.tranche / php8.1 fpm.Service ├ss 108647 "PHP-FPM: Master Process (/ etc / php / 8.1 / FPM / PHP-FPM.conf) ├─108648 "PHP-FPM: Pool www └fiques108649" PHP-FPM: Pool www avril 06 06:26:55 Ubuntu2204 Systemd [1]: Démarrage du PHP 8.1 FastCGI Process Manager… avril 07 06:26:55 Ubuntu2204 Systemd [1]: a commencé le php 8.1 gestionnaire de processus FastCGI. 

À l'étape 6, nous configurerons l'hôte virtuel Nginx avec PHP-FPM pour servir les applications PHP.

Étape 4 - Installation de MySQL

Les référentiels Ubuntu par défaut contiennent MySQL 8.0. Qui peut être installé directement à l'aide du gestionnaire de packages. Pour installer la version MySQL Server disponible, exécutez la commande suivante.

sudo apt-get install mysql-server  

Une fois l'installation terminée, vous pouvez sécuriser le serveur MySQL en exécutant la commande suivante.

sudo mysql_secure_installation  

Cela demandera quelques questions pour sécuriser le serveur MySQL.

  1. Appuyez sur «y» pour activer le plugin de mot de passe valider. Cela vous permettra de définir une stratégie de mot de passe stricte pour les comptes d'utilisateurs.
    Valider le composant de mot de passe peut être utilisé pour tester les mots de passe et améliorer la sécurité. Il vérifie la force du mot de passe et permet aux utilisateurs de définir uniquement les mots de passe qui sont suffisamment sécurisés. Souhaitez-vous configurer le composant de mot de passe valider? Appuyez sur Y | Y pour oui, toute autre touche pour non: Y 
  2. Chose le niveau de complexité du mot de passe. Lisez les 3 options et choisissez-en une. Pour les serveurs de production, nous vous recommandons de choisir FORT politique.
    Longueur basse> = 8 longueur moyenne> = 8, numérique, cas mixte et caractères spéciaux Strong Longueur> = 8, Numérique, cas mixte, caractères spéciaux et fichier de dictionnaire Veuillez entrer 0 = bas, 1 = moyen et 2 = Strong: 1 
  3. Entrez un nouveau mot de passe et rentrez-le. Assurez-vous qu'il correspond au niveau de complexité comme décrit ci-dessus.
    Nouveau mot de passe: ************* Rentrer le nouveau mot de passe: *********** 
  4. Appuyez sur «y» pour continuer avec le mot de passe fourni.
    Souhaitez-vous continuer le mot de passe fourni?(Appuyez sur y | y pour oui, toute autre touche pour non): y 
  5. Supprimer les utilisateurs anonymes par défaut du serveur MySQL:
    Supprimer les utilisateurs anonymes? (Appuyez sur y | y pour oui, toute autre touche pour non): y 
  6. Désactiver la connexion racine des systèmes distants
    Interdire la connexion racine à distance? (Appuyez sur y | y pour oui, toute autre touche pour non): y 
  7. Supprimer le formulaire de base de données de test MySQL créé par défaut lors de l'installation.
    Supprimer la base de données de test et y accéder? (Appuyez sur y | y pour oui, toute autre touche pour non): y 
  8. Recharger tous les privilèges de postuler immédiatement.
    Recharger les tables de privilège maintenant? (Appuyez sur y | y pour oui, toute autre touche pour non): y 

Vous avez sécurisé le serveur MySQL dans la pile de lampe sur Ubuntu 22.04 Système Linux.

N'oubliez pas que l'ensemble de mot de passe ci-dessus pour les comptes racine est utilisé uniquement pour les utilisateurs distants. Pour se connecter à partir du même système, tapez simplement mysql sur le terminal.

sudo mysql  
Bienvenue dans le moniteur MySQL. Les commandes se terminent avec; ou \ g. Votre ID de connexion MySQL est 14 Version du serveur: 8.0.28-0ubuntu4 (Ubuntu) Copyright (C) 2000, 2022, Oracle et / ou ses affiliés. Oracle est une marque déposée d'Oracle Corporation et / ou de ses affiliés. D'autres noms peuvent être les marques de leurs propriétaires respectifs. Type 'help;' ou '\ h' pour obtenir de l'aide. Tapez '\ c' pour effacer l'instruction de saisie actuelle. mysql> 

Tapez «Quit» pour quitter le shell MySQL et retourner au terminal système.

Étape 5 - Installation de packages supplémentaires

Vous devrez peut-être également installer des modules comme MySQL et d'autres extensions pour PHP en fonction des exigences de l'application. Utilisez la commande suivante pour trouver nos extensions PHP disponibles.

Sudo apt Search Php8.1-*  

La commande ci-dessus répertorie tous les modules PHP7 disponibles pour l'installation, commençons l'installation de modules.

sudo apt installer php8.1-mysql php8.1 curl php8.1-xml  

Vous devrez peut-être également installer d'autres extensions de PHP requises sur votre système.

Étape 6 - Configurer nginx virtualhost

Enfin, faites la configuration de l'hôte virtuel Nginx. Pour cet exemple, nous modifions le fichier de configuration par défaut.

sudo nano / etc / nginx / sites compatible / par défaut  

et faire des modifications comme ci-dessous.

Server écouter 80; root / var / www / exemple.com; Index index.PHP; Exemple de nom.com www.exemple.com; Emplacement / try_files $ uri $ uri / = 404;  Emplacement ~ \.php $ inclure des extraits / fastcgi-php.conf; fastcgi_pass Unix: / run / php / php8.1 fpm.chaussette;  

Dans le fichier de configuration ci-dessus, recherchez Emplacement ~ \.php $ section. Qui est nécessaire pour desservir les scripts PHP via le serveur Nginx.

Vous devez effectuer les mêmes modifications dans tous les anciens de VirtualHosts configurés.

Étape 7 - Vérifiez la configuration

Vous avez terminé avec succès l'installation de Nginx, MySQL et PHP sur l'Ubuntu 22.04 Système Linux. Pour vérifier l'intégration PHP avec Nginx, créez un script PHP (exemple: info.php) sur le site Web document root et écrivez le contenu ci-dessous.

123

Accédez maintenant à ce fichier dans le navigateur Web. Il va donc tous les détails sur les versions et l'installation.

http: // server-ip-or-domain-name / info.php 
Exécution du script PHP avec Nginx et PHP-FPM

Conclusion

Ce tutoriel vous a aidé à configurer la pile LEMP (Linux, Nginx, MySQL et PHP) sur Ubuntu 22.04 Système LTS. Maintenant, vous pouvez héberger des applications Web basées sur PHP sur votre serveur.