GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer la pile LAMP sur le serveur/bureau Debian 10 Buster

Ce tutoriel va vous montrer comment installer Apache, MariaDB et PHP7.3 (pile LAMP) sur Debian 10 Buster. Une pile logicielle est un ensemble d'outils logiciels regroupés. LAMPE signifie L inux, A paché, M ariaDB/M ySQL et P HP, 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; Apache 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.

Les quatre composants sont gratuits et open-source. Cependant, étant donné que MySQL appartient désormais à Oracle et qu'il est possible qu'Oracle en fasse un produit à source fermée, nous choisirons MariaDB au lieu de MySQL.

Prérequis pour l'installation de la pile LAMP sur Debian 10 Buster

Pour suivre ce tutoriel, vous avez besoin d'un système d'exploitation Debian 10 exécuté sur votre ordinateur local ou sur un serveur distant.

Si vous recherchez un VPS (Virtual Private Server), vous pouvez créer un compte chez Vultr via ce lien spécial pour obtenir un crédit gratuit de 50 $ (pour les nouveaux utilisateurs uniquement). Et si vous devez configurer la pile LAMP avec un nom de domaine, je vous recommande d'acheter des noms de domaine auprès de NameCheap car le prix est bas et ils offrent une protection gratuite de la confidentialité whois.

Veuillez noter que vous devez avoir le privilège root lors de l'installation de logiciels sur Debian. Vous pouvez ajouter sudo au début d'une commande, ou utilisez su - commande pour passer à l'utilisateur root.

Étape 1 :Mettre à jour les packages logiciels

Avant d'installer la pile LAMP, c'est une bonne idée de mettre à jour le référentiel et les packages logiciels. Exécutez la commande suivante sur votre système d'exploitation Debian 10.

mises à jour de sudo aptmises à jour de sudo apt

Étape 2 :Installer le serveur Web Apache sur Debian 10

Entrez la commande suivante pour installer le serveur Web Apache. Les apache2-utils package installera certains utilitaires utiles, tels que l'outil d'analyse comparative du serveur HTTP Apache ab et l'outil de gestion de l'authentification des utilisateurs htpasswd .

sudo apt install apache2 apache2-utils

Une fois installé, Apache devrait démarrer automatiquement. Vérifiez son statut avec systemctl .

statut systemctl apache2

Exemple de sortie :

● apache2.service - Le serveur HTTP Apache chargé :chargé (/lib/systemd/system/apache2.service ; activé; fournisseur prédéfini :activé) Actif :actif (en cours d'exécution) depuis jeu 2019-07-11 13:30:35 UTC; 4min 31s ago Docs :https://httpd.apache.org/docs/2.4/ Processus :17962 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) PID principal :17966 (apache2) Tâches :55 (limite :545) Mémoire :4,8 Mo CGroup :/system.slice/apache2.service ├─17966 /usr/sbin/apache2 -k start ├─17967 /usr/sbin/apache2 -k start └─17968 /usr /sbin/apache2 -k start

S'il ne fonctionne pas, utilisez systemctl pour le démarrer.

sudo systemctl démarrer apache2

C'est aussi une bonne idée de permettre à Apache de démarrer automatiquement au démarrage.

sudo systemctl enable apache2

Vérifiez la version d'Apache :

sudo apache2 -v

Sortie :

Version du serveur :Apache/2.4.38 (Debian)Création du serveur :2019-04-07T18:15:40

Saisissez maintenant l'adresse IP publique de votre serveur Debian 10 dans la barre d'adresse du navigateur. Vous devriez voir "Ça marche !" Page Web, ce qui signifie que le serveur Web Apache fonctionne correctement. Si vous installez LAMP sur votre ordinateur Debian 10 local, vous devez taper 127.0.0.1 ou localhost dans la barre d'adresse du navigateur.

Si la connexion est refusée ou échoue, il se peut qu'un pare-feu empêche les requêtes entrantes sur le port TCP 80. Si vous utilisez le pare-feu iptables, vous devez exécuter la commande suivante pour ouvrir le port TCP 80.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPTER

Si vous utilisez un pare-feu UFW, exécutez cette commande pour ouvrir le port TCP 80.

sudo ufw autoriser http

Nous devons maintenant définir www-data (utilisateur Apache) en tant que propriétaire de la racine du document (autrement appelée racine Web). Par défaut, il appartient à l'utilisateur root.

sudo chown www-data:www-data /var/www/html/ -R

Par défaut, Apache utilise le nom d'hôte du système comme son ServerName global . Si le nom d'hôte du système ne peut pas être résolu dans DNS, vous verrez probablement l'erreur suivante après avoir exécuté sudo apache2ctl -t commande.

AH00558 :apache2 :Impossible de déterminer de manière fiable le nom de domaine complet du serveur, en utilisant 127.0.0.1. Définissez la directive 'ServerName' globalement pour supprimer ce message

Pour résoudre ce problème, nous pouvons définir un ServerName global à Apache. Utilisez l'éditeur de texte de ligne de commande Nano pour créer un nouveau fichier de configuration.

sudo nano /etc/apache2/conf-available/servername.conf

Ajoutez la ligne suivante dans ce fichier.

NomServeur localhost

Enregistrez et fermez le fichier. Pour enregistrer un fichier dans l'éditeur de texte Nano, appuyez sur Ctrl+O , puis appuyez sur Entrée pour confirmer. Pour quitter, appuyez sur Ctrl+X . Activez ensuite ce fichier de configuration.

sudo a2enconf nomserveur.conf

Rechargez Apache pour que la modification prenne effet.

sudo systemctl recharger apache2

Maintenant, si vous exécutez le sudo apache2ctl -t commande à nouveau, vous ne verrez pas le message d'erreur ci-dessus.

Étape 3 :Installez le serveur de base de données MariaDB sur Debian 10

MariaDB est un remplacement direct de MySQL. Entrez la commande suivante pour l'installer sur Debian 10.

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 10.3.15 Chargé :chargé (/lib/systemd/system/mariadb.service ; activé ; préréglage fournisseur :activé) Actif :actif (en cours d'exécution) depuis le jeu. 2019-07-11 13 :57:03 UTC ; Il y a 16 s Docs :man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ PID principal :18566 (mysqld) :545) Mémoire :73.9M CGroup :/system.slice/mariadb.service └─18566 /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 simplement appuyer sur Entrée pour répondre à toutes les questions restantes. Cela 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 la lettre Y est en majuscule, ce qui signifie que c'est la réponse par défaut.)

Par défaut, le package MaraiDB sur Debian 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

ou

sudo mysql -u racine

Pour quitter, exécutez

quitter ;

Vérifiez les informations de version du serveur MariaDB.

mariadb --version

Sortie :

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

Étape 4 :Installez PHP7.3 sur Debian 10

Au moment d'écrire ces lignes, PHP7.3 est la dernière version stable de PHP et présente une amélioration mineure des performances par rapport aux versions précédentes. Entrez la commande suivante pour installer PHP7.3 à partir du référentiel Debian 10.

sudo apt install php7.3 libapache2-mod-php7.3 php7.3-mysql php-common php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline 

Activez le module Apache php7.3 puis redémarrez le serveur Web Apache.

sudo a2enmod php7.3sudo systemctl restart apache2

Vérifiez les informations de version de PHP.

php --version

Sortie :

PHP 7.3.4-2 (cli) (construit :13 avril 2019 19:05:48) ( NTS )Copyright (c) 1997-2018 The PHP GroupZend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies avec Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, par Zend Technologies

Pour tester les scripts PHP avec le serveur Apache, nous devons créer un info.php fichier dans le répertoire racine Web avec un éditeur de texte en ligne de commande, tel que Nano.

sudo nano /var/www/html/info.php

Collez le code PHP suivant dans le fichier.

Enregistrez et fermez le fichier. (Pour enregistrer un fichier dans l'éditeur de texte Nano, appuyez sur Ctrl+O , puis appuyez sur Entrée pour confirmer. Pour quitter, appuyez sur Ctrl+X .)

Maintenant, dans la barre d'adresse du navigateur, entrez 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 Apache. Vous pouvez constater que Zend OPcache est activé.

Comment exécuter PHP-FPM avec Apache

Il existe essentiellement deux façons d'exécuter du code PHP avec le serveur Web Apache :

  • Module PHP Apache
  • PHP-FPM.

Dans les étapes ci-dessus, le module PHP7.3 est utilisé pour gérer le code PHP, ce qui est généralement correct. Mais dans certains cas, vous devez exécuter du code PHP avec PHP-FPM à la place. Voici comment.

Désactivez le module Apache PHP7.3.

sudo a2dismod php7.3

Installez PHP-FPM.

sudo apt installer php7.3-fpm

Activer proxy_fcgi et setenvif module.

sudo a2enmod proxy_fcgi setenvif

Activez le /etc/apache2/conf-available/php7.3-fpm.conf fichier de configuration.

sudo a2enconf php7.3-fpm

Redémarrez Apache pour que les modifications prennent effet.

sudo systemctl redémarrer apache2

Maintenant, si vous actualisez le info.php Dans votre navigateur, vous constaterez que l'API du serveur est remplacée par FPM/FastCGI , ce qui signifie que le serveur Web Apache exécutera le code PHP avec PHP-FPM.

Étape suivante

Bravo! Vous avez installé avec succès Apache, MariaDB et PHP7 sur Debian 10 Buster. Pour la sécurité de votre serveur, vous devez supprimer le fichier info.php maintenant pour éviter les regards indiscrets.

sudo rm /var/www/html/info.php

J'espère que ce tutoriel vous a aidé à installer la pile LAMP sur Debian 10 Buster . Vous pouvez également consulter le didacticiel suivant pour installer phpMyAdmin, un outil d'administration Web MariaDB/MySQL

  • Installer phpMyAdmin avec Apache (LAMP) sur Debian 10 Buster

Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite pour recevoir de nouveaux tutoriels.


Debian
  1. Comment configurer un serveur LAMP sur Debian 10 Buster

  2. Installer la pile LAMP sur Debian 11

  3. Comment installer le serveur LAMP sur Debian 9

  4. Comment installer et configurer PHP et Apache (pile LAMP) sur Debian 11

  5. Comment installer le serveur MySQL sur Debian 10 Buster

Comment installer la pile LAMP sur Debian 8

Comment installer le serveur Web Apache sur Debian 11

Comment installer la pile LAMP sur Debian 11

Comment installer et configurer LAMP sur Debian 11 (Bullseye)

Comment installer un serveur minimal Debian 10 (Buster)

Comment installer Apache sur Debian 7