A LAMP stack is a collection of four different software (Linux, Apache, MySQL, and PHP) that programmers or web developers use to create and deploy websites or applications.
Ce tutoriel se concentrera sur la manière d’installer et de configurer la célèbre pile LAMP avec PhpMyAdmin sur la dernière version de RHEL et les distributions basées sur RHEL telles que CentOS, Oracle Linux, Rocky et AlmaLinux.
Table des matières
Besoins
Selon la distribution utilisée, utilisez les liens suivants pour effectuer une installation système minimale, en utilisant une adresse IP statique pour la configuration réseau.
- Comment télécharger et installer RHEL 9 gratuitement
- Comment télécharger et installer RHEL 8 gratuitement
- Installation de CentOS Stream 9 Linux
- Installation de CentOS 7 Linux
- Comment installer Rocky Linux 9 étape par étape
- Comment installer AlmaLinux 9 étape par étape
Étape 1 : Installer le serveur Web Apache
1. Après avoir effectué une installation de système minimale et configuré l’interface réseau de votre serveur avec une Adresse IP Statique, procédez à l’installation du package binaire du service Apache (httpd) fourni par les dépôts officiels en utilisant la commande yum.
# yum install httpd

2. Une fois l’installation de Apache terminée, utilisez les commandes suivantes pour gérer le démon Apache car RHEL et CentOS ont tous deux migré leurs scripts init de SysV à Systemd – Pourquoi init a-t-il été remplacé par Systemd dans Linux?.
# systemctl start httpd # systemctl enable httpd # systemctl status httpd

3. À l’étape suivante, assurez-vous d’autoriser l’accès à Apache en ouvrant les ports 80 et 443 sur le pare-feu à l’aide de firewall-cmd, qui est la commande par défaut pour gérer Firewalld via le démon.
# firewall-cmd --add-service=http # firewall-cmd --add-service=https # systemctl restart firewalld
Pour appliquer des règles iptables cohérentes sur le pare-feu en utilisant l’option --permanent
et redémarrez le service firewalld pour prendre effet.
# firewall-cmd --permanent --add-service=http # firewall-cmd --permanent --add-service=https # systemctl restart firewalld

Certains commandes importantes Firewalld pour gérer le pare-feu sont présentées ci-dessous :
# firewall-cmd --state # firewall-cmd --list-all # firewall-cmd --list-interfaces # firewall-cmd --get-service # firewall-cmd --query-service service_name # firewall-cmd --add-port=80/tcp
4. Pour vérifier la fonctionnalité Apache, ouvrez un navigateur distant et tapez l’adresse IP de votre serveur en utilisant le protocole HTTP dans l’URL, et une page par défaut devrait apparaître comme dans l’image ci-dessous.
http://server_IP

5. Pour l’instant, le chemin DocumentRoot Apache est défini sur le chemin système /var/www/html, qui par défaut ne fournit aucun fichier d’index. Si vous souhaitez voir une liste de répertoires de votre chemin DocumentRoot.
Ouvrez le fichier de configuration welcome Apache et définissez l’instruction Indexes de –
à +
sur la directive LocationMatch, en utilisant l’image ci-dessous comme exemple.
# vi /etc/httpd/conf.d/welcome.conf

6. Après avoir apporté des modifications, fermez le fichier, redémarrez le service Apache pour refléter les changements et rechargez votre page de navigateur pour voir le résultat final.
# systemctl restart httpd

Étape 2 : Installer le support PHP pour Apache
7. Avant d’installer le support de langage dynamique PHP pour Apache, obtenez une liste complète des modules et extensions PHP disponibles à l’aide de la commande suivante.
# yum search php

8. Selon le type d’applications que vous souhaitez utiliser, installez les modules PHP requis à partir de la liste ci-dessus, mais pour un support de base MySQL/MariaDB dans PHP et PhpMyAdmin vous devez installer les modules suivants.
# yum install php php-mysql php-pdo php-gd php-mbstring

9. Pour obtenir une liste complète d’informations sur PHP depuis votre navigateur, créez un fichier info.php dans le répertoire de documents Apache en utilisant la commande suivante, redémarrez le service httpd et dirigez votre navigateur vers l’adresse http://server_IP/info.php.
# echo "<?php phpinfo(); ?>" > /var/www/html/info.php # systemctl restart httpd

10. Si vous rencontrez une erreur concernant la date et le fuseau horaire PHP, ouvrez le fichier de configuration php.ini, recherchez et décommentez l’instruction date.timezone, ajoutez votre emplacement physique, puis redémarrez le démon Apache.
# vi /etc/php.ini
Localisez et modifiez la ligne date.timezone pour ressembler à ceci, en utilisant la liste des Fuseaux Horaires Supportés par PHP.
date.timezone = Continent/City

Étape 3 : Installer et Configurer la Base de Données MariaDB
11. La distribution RHEL a basculé de MySQL vers MariaDB pour son système de gestion de base de données par défaut. Pour installer la base de données MariaDB, utilisez la commande suivante.
# yum install mariadb-server mariadb

12. Après l’installation du package MariaDB, démarrez le démon de la base de données et utilisez le script mysql_secure_installation pour sécuriser la base de données (définir un mot de passe root, désactiver la connexion à distance depuis le compte root, supprimer la base de données de test et supprimer les utilisateurs anonymes).
# systemctl start mariadb # systemctl enable mariadb # systemctl status mariadb # mysql_secure_installation


13. Pour tester la fonctionnalité de la base de données, connectez-vous à MariaDB en utilisant son compte root et quittez en utilisant une instruction quit.
mysql -u root -p MariaDB > show databases; MariaDB > quit

Étape 4 : Installer PhpMyAdmin pour gérer MySQL
14. Par défaut, les dépôts officiels ne fournissent aucun paquet binaire pour l’interface Web de PhpMyAdmin. Si vous êtes mal à l’aise avec l’utilisation de la ligne de commande MySQL pour gérer votre base de données, vous pouvez installer le paquet PhpMyAdmin en activant le dépôt remi en utilisant la commande suivante.
# yum install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm [On CentOS/RHEL 8] # yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm [On CentOS/RHEL 8] # yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm [On CentOS/RHEL 7]
Après avoir activé le dépôt remi, installez PhpMyAdmin.
# yum install phpmyadmin

15. Configurez ensuite PhpMyAdmin pour autoriser les connexions à partir d’hôtes distants en éditant le fichier phpmyadmin.conf, situé dans le répertoire conf.d d’Apache, en commentant les lignes suivantes.
# vi /etc/httpd/conf.d/phpMyAdmin.conf
Ajoutez la ligne « Require all granted » sous la ligne « Require local« , comme indiqué.
<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 Require local Require all granted </Directory>

16. Pour pouvoir vous connecter à l’interface Web de PhpMyAdmin, redémarrez le service Web Apache et dirigez votre navigateur vers l’adresse URL.
# systemctl restart httpd http://server_IP/phpmyadmin/

Étape 5 : Activer le système LAMP au niveau du système dans Linux
17. Si vous avez besoin que les services MariaDB et Apache soient démarrés automatiquement après le redémarrage, exécutez les commandes suivantes pour les activer au niveau du système.
# systemctl enable mariadb # systemctl enable httpd
Voilà tout ce qu’il faut pour une installation de base de LAMP sur les distributions basées sur RHEL. Les prochains articles de la série liée à la pile LAMP aborderont la création d’hôtes virtuels, la génération de certificats et de clés SSL, ainsi que l’ajout de prise en charge des transactions SSL pour le serveur Apache HTTP.