Comment configurer la pile de lemp sur Debian 9 Stretch Linux

Comment configurer la pile de lemp sur Debian 9 Stretch Linux

Objectif

Obtention d'une pile LEMP fonctionnelle (Linux, Nginx, Mariadb, PHP) sur Debian 9 Stretch

Système d'exploitation et versions logicielles

  • Système opérateur: - Debian 9 Stretch

Exigences

Accès racine sur une installation de Debian 9 Stretch Working

Difficulté

FACILE

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
  • $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Instructions

Suivant ce simple commentaire, vous pourrez installer la pile LEMP sur Debian 9 (stretch). Nous suivrons «l'approche par lettre par lettre», sautant évidemment le «L» qui est pour Linux: ayant une installation de Debian 9 de travail, vous avez déjà rempli cette exigence.

Je vais commencer à partir d'une configuration de Debian 9 à nu, en utilisant APT-get pour installer les packages nécessaires. De toute évidence, c'est parfaitement bien d'utiliser l'aptitude à la place.

La partie «e» de la pile: nginx

Qu'est-ce que Nginx? Nginx, comme Apache, est un serveur HTTP. Par rapport à ce dernier, il est considéré comme plus léger. Alors qu'Apache a la capacité de traiter «directement» de nombreuses langues interprétées, le Nginx se concentre sur le contenu statique, offrant la gestion de dynamiques sur des logiciels séparés.

Refreignions les référentiels et installons Nginx sur notre machine Debian. Nous courrons:

# apt-get update && apt-get install nginx 

Quelques secondes plus tard, Nginx sera installé. L'étape suivante consiste à démarrer le service:

# systemctl start nginx 

Vous voudrez peut-être permettre le démarrage automatique du service au moment du démarrage:

# SystemCTL Activer Nginx 

Si vous avez installé le serveur Web sur la même machine utilisée comme client, pour vérifier qu'elle fonctionne, vous devez simplement pointer le navigateur pour hôte local, Sinon, vous devez utiliser l'adresse IP spécifique à la machine du serveur.

Depuis que j'exécute Debian sur une machine virtuelle KVM, j'ai dû pointer le navigateur vers le serveur IP. Si vous ne savez pas quel est le serveur IP, vous pouvez simplement le trouver en utilisant le IP ou ifconfig Commandes (ce dernier est maintenant considéré comme obsolète, néanmoins il fait bien son travail). En utilisant IP vous courirais:

# spectacle d'adresse IP 

La commande ci-dessus donnera une sortie similaire à ce qui suit:

$ su -c "Adresse IP Show" Mot de passe: 1: LO: MTU 65536 QDISC NOqueue State Unknown Group par défaut Qlen 1 Lien / Loopback 00: 00: 00: 00: 00: 00 BRD 00: 00: 00: 00: 00: 00 INET 127.0.0.1/8 Scope Host lo valid_lft Forever Preferred_lft Forever Inet6 :: 1/128 SCOPE HOST VALID_LFT Forever Preferred_lft Forever 2: ENS3: MTU 1500 QDISC PFIFO_FAST State Up Group Default Qlen 1000 Link / Ether 52: 54: 00: 1B: 88 BRD FF: FF: FF: FF: FF: FF INET 192.168.122.70/24 BRD 192.168.122.255 Scope Global ENS3 valid_lft Forever Preferred_lft Forever Inet6 Fe80 :: 5054: FF: FE1B: 8028/64 Lien de portée valid_lft Forever Preferred_lft Forever 

L'adresse est 192.168.122.70. Pour atteindre le serveur depuis l'extérieur, vous devrez également configurer le pare-feu pour permettre le trafic entrant sur le port 80. Par exemple, si vous utilisez Firewalld, vous pouvez simplement ajouter le service HTTP à la zone appropriée (la zone «publique» par défaut):

# pare-feu-cmd --zone = public --add-service = http 

Vous pouvez également ajouter le --permanent Option à la commande ci-dessus, pour rendre le changement persistant.
Prenons le navigateur vers l'adresse du serveur et voyons ce qui se passe:

C'est ça! La page de bienvenue Nginx nous montre que le serveur Web a été installé avec succès et qu'il fonctionne correctement.

Maintenant, la base de données: m est pour mariaDB

Dans presque toutes les distributions majeures, MySQL a été abandonné en faveur de MariaDB, une fourche entièrement compatible et plus chargée de fonctionnalités, créée lorsque MySQL a été acquise par Oracle:

# apt-get install mariaDb-server mariaDB-client 

Cette commande installera à la fois les packages MariaDB-Server et MariADB-Client (ainsi que toutes les dépendances nécessaires). Le package MariaDB-Client contient les utilitaires nécessaires pour communiquer avec le serveur. Le mariadb.L'unité de service sera automatiquement démarrée, et à ce stade, vous devriez déjà avoir un mariaDB en cours d'exécution. Cependant, nous n'avons pas encore terminé: pour configurer le mot de passe racine MariADB et pour régler certains paramètres, vous devez exécuter le script suivant:

# mysql_secure_installation 

Il vous guidera vers une série d'étapes pour mettre MariaDB dans un état cohérent.

Le «P» est pour PHP

La version PHP par défaut sur Debian Stretch est 7.0: Nous devons installer les packages suivants:

# apt-get install php-fpm php-mysql 

Le php7.Le démon 0-FPM sera automatiquement démarré. Comme nous l'avons dit auparavant, Nginx s'appuie sur des logiciels externes pour gérer le contenu dynamique, et php-fpm est le gestionnaire de processus FastCGI auquel Nginx redirigera les demandes PHP. Pour régler Nginx pour travailler avec php-fpm, Nous devons modifier le défaut Configuration du site.

Debian conserve la configuration de chaque site («serveur-blocs» dans la terminologie Nginx - en quelque sorte l'équivalent d'Apache VirtualHosts) dans deux dossiers:
/ etc / nginx / sites disponible et / etc / nginx / sites compatible. Dans le premier répertoire, nous avons les configurations qui sont systématisées à la seconde lorsqu'un site est activé. La configuration du site par défaut est donc accessible à / etc / nginx / sites-disponible / par défaut. Modifions le fichier:

 # Passez des scripts PHP sur le serveur FastCGI # Emplacement ~ \.php $ inclure des extraits / fastcgi-php.conf; # # Avec PHP-FPM (ou d'autres sockets Unix): FastCGI_PASS UNIX: / var / run / php / php7.0-FPM.chaussette; # # Avec PHP-CGI (ou d'autres prises TCP): # FastCGI_PASS 127.0.0.1: 9000;  

Modifiez la partie pertinente du fichier afin qu'il reflète la configuration ci-dessus. En supprimant les commentaires dans les lignes ci-dessus, nous disons essentiellement à Nginx que nous voulons utiliser php-fpm, et pour utiliser la prise Unix associée.

Maintenant, nous devons tester la configuration avec un simple script PHP, mais nous devons d'abord redémarrer Nginx pour les modifications que nous avons rendues efficaces:

# systemctl redémarrer nginx 

Le répertoire racine du document pour le bloc de serveur par défaut dans Debian est / var / www / html: Nous allons créer un script PHP simple pour afficher certaines informations et vérifier que tout fonctionne correctement:

# echo ""> / var / www / html / infopage.php 

Pour vérifier que le script fonctionne, naviguez avec votre navigateur vers son emplacement. Dans mon cas, c'est 92.168.122.70 / Infopage.php.

Tutoriels Linux connexes:

  • Comment installer la pile LEMP sur Almalinux
  • Ubuntu 20.04: WordPress avec l'installation de Nginx
  • Choses à installer sur Ubuntu 20.04
  • Comment changer le mot de passe de l'utilisateur de MariaDB
  • Comment vérifier le statut Nginx sur Ubuntu
  • Comment créer une pile de lampe basée sur Docker à l'aide de Docker sur…
  • Comment installer nginx sur Linux
  • Ampache Raspberry Pi Installation
  • Comment vérifier la version Nginx sur Linux
  • Linux Apache n'exécute pas les fichiers PHP: solution