Aujourd'hui, nous allons discuter de la configuration de LAMP avec Debian. Le LAMP signifie Linux, Apache, MariaDB et Linux. Nous comprendrons toutes les procédures d'installation étape par étape.
Quels sont les prérequis ?
Sous forme de prérequis, nous avions besoin d'une Debian 11 fraîchement installée. Un minimum de 4 Go de RAM et 40 Go de stockage seront bons. Je vais utiliser une machine virtuelle à des fins de démonstration. Dans cette démonstration, j'utiliserai une machine virtuelle ayant l'adresse IP 192.168.135.128. L'adresse IP peut varier selon votre environnement local. Remplacez vos paramètres si les paramètres d'adresse IP en conséquence.
Étape 1 – Préparez l'environnement pour le serveur LAMP
En entrant dans l'environnement de test, j'ai été confronté à un défi en exécutant une ligne de commande apt. Le serveur ne cesse de demander le DVD du système d'exploitation. Résolvons le problème.
Ouvrir sources.list
# vim /etc/apt/sources.list
Mettez un commentaire sur la ligne contenant Cdrom comme source apt, enregistrez et quittez.
Activez ssh pour root.
Ouvrez /etc/ssh/sshd_config et modifier les paramètres d'autorisation root. Recherchez PermitRootLogin et modifiez "oui". Sauvegarder et quitter. Vous pourrez maintenant accéder à root à distance pour Debian.
# vim /etc/ssh/sshd_config
Étape 2. Installez le serveur Apache.
Commençons par l'élément principal du serveur LAMP.
Installez Apache.
# apt install apache2 apache2-utils
Vérifiez l'état d'exécution du service apache2.
# systemctl status apache2
Pour vérifier l'état complet du serveur apache, vous pouvez exécuter la commande suivante.
# apache2ctl fullstatus
Regardez si le serveur apache2 est en cours d'exécution ou non. Si le travail devrait ressembler à quelque chose comme ci-dessous.
Étape 3 Installez le serveur MariaDB.
MariaDB peut être installé à l'aide de la commande suivante.
# apt install mariadb-server mariadb-client
Vérifiez l'état du serveur de base de données.
# systemctl status mariadb
Attribuez un mot de passe root pour le serveur de base de données.
# mysql_secure_installation
Ici, nous avons installé le second composant du serveur LAMP.
changer le mot de passe Mysql Root
alter user 'root'@'localhost' identified by 'MyRootUserPassword';
alter user 'mysql'@'localhost' identified by 'MyMysqlUserPassword';
flush privileges;
quit;
Se connecter à mysql
root@10debian-unixcop:~# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Étape 4. Installez PHP.
Installons le dernier package requis pour compléter la pile LAMP.
Installez le package requis pour PHP.
# apt install -y php php-mysql libapache2-mod-php php-xml
Il se peut qu'il ne soit pas là par défaut, activez le module apache.
# a2enmod php7.4Output
Considérant la dépendance mpm_prefork pour php7.4 :
Considérant le conflit mpm_event pour mpm_prefork :
Considérant le conflit mpm_worker pour mpm_prefork :
Module mpm_prefork déjà activé
Considérant le conflit php5 pour php7.4 :
Module php7.4 déjà activé
Pour tester votre pile LAMP, créez un script PHP comme suit.
vi /var/www/html/info.php
ajouter le code
<?php phpinfo(); ?>
Ouvrez le navigateur Web, regardez si le service est installé correctement ou non.
Ici, nous pouvons voir que nous avons installé tous les composants LAMP requis. Vous pouvez définir vos titres ou d'autres paramètres selon vos besoins. Dans notre démonstration, nous n'avons défini aucun paramètre de pare-feu. Cependant, il est recommandé de conserver vos paramètres de sécurité intacts. Assurez-vous de ne garder que le port requis ouvert et vous pouvez désactiver les services ou les ports qui ne sont pas requis.
Étape 5. Optimisation des ressources de la pile LAMP
Comme nous avons installé toutes les applications requises, assurons-nous qu'elles fonctionnent toutes au démarrage du système.
Activez le service apache2 pour continuer à fonctionner au démarrage.
# systemctl enable apache2
Ajustez MariaDB pour qu'elle continue après le redémarrage.
# systemctl enable mariadb
Étape 6. Installer PHPMyAdmin
Télécharger le pack
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip
Décompressez le paquet
# décompressez phpMyAdmin-5.1.1-all-languages.zip
Déplacez le package phpMyAdmin vers /usr/lecteur local
# mv phpMyAdmin-5.1.1-all-languages /usr/share/phpmyadmin
mkdir /usr/share/phpmyamin/tmp
chmod 777 /usr/share/phpmyadmin/tmm
Ajouter le lecteur phpMyAdmin au groupe Web
# chown -R www-data:www-data /var/share/phpmyadmin
Maintenant, copiez le fichier de configuration config.sample.nic.php dans config.nic.php
# cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Ici, nous sommes obligés de générer un mot de passe. Installons l'utilitaire.
# apt-get install pwgen
Générer un mot de passe et générer une clé secrète
# pwgen -s 32 1
ajouter la clé secrète à config.inc.php
enregistrer et quitter
Importez create_tables.sql pour créer des tables pour phpMyAdmin.
mysql < /usr/share/phpmyadmin/sql/create_tables.sql -u root -p
Connectez-vous à MariaDB.
mysql -u root -p
Ajoutez l'utilisateur et accordez l'autorisation à la base de données de phpMyAdmin.
CREATE USER 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'pma'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Maintenant, créez l'alias apache phpmyadmin
# vim /etc/apache2/sites-available/phpmyadmin.confAlias /phpMyAdmin /usr/share/phpmyadmin Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory> <Directory /usr/share/phpmyadmin/setup/> <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory>
Activez l'hôte virtuel avec la commande ci-dessous.
a2ensite phpmyadmin
Enregistrez et quittez.
Créer des identifiants MySQL pour phpMyAdmin
MariaDB [(none)]> CREATE USER admin; Requête OK, 0 lignes affectées (0.004 sec )MariaDB [(aucun)]> ACCORDER TOUS LES PRIVILÈGES SUR *.* À 'admin'@'localhost' IDENTIFIÉ PAR 'mot de passe' AVEC GRANT OPTION; Requête OK, 0 lignes affectées (0.002 sec)MariaDB [(aucun)]> FLUSH PRIVILÈGES ; Requête OK, 0 lignes affectées (0,001 seconde)MariaDB [(aucun)]> EXIT ; ByeRedémarrer le service Web
# systemctl restart apache2
Ouvrez le panneau PHPMyAdmin dans votre navigateur local
/phpmyadmin
Connectez-vous avec les informations d'identification créées à l'étape précédente ( admin :mot de passe ) et vous pouvez configurer votre environnement maintenant.
Conclusion
Nous pouvons conclure la configuration de la pile LAMP avec Ubuntu avec peu de choses à considérer. Parfois, ssh n'est pas autorisé pour root. Nous avons montré comment activer cela pour root. Vérifiez que vous êtes en mesure d'installer le package à l'aide d'un miroir et pas uniquement d'un DVD local. Parfois, vous devrez peut-être installer le package lynx pour le service apache2. Je vais essayer de créer des articles sur le "renforcement des services Web" où nous discuterons des certificats SSL, de la sécurité des ports et de l'authentification par mot de passe. Restez à l'écoute.