Dans cet article, nous vous guiderons pas à pas dans le processus d’installation de la dernière version de PhpMyAdmin avec le serveur web Apache sur des distributions basées sur RHEL telles que CentOS Stream, Fedora, Rocky Linux, et Alma Linux.
Table des matières
Qu’est-ce que PhpMyAdmin?
PhpMyAdmin est un outil web de gestion de bases de données populaire et puissant, et avoir la dernière version vous garantit d’avoir accès aux fonctionnalités les plus à jour et aux améliorations de sécurité. À la fin de ce guide, vous serez en mesure de gérer vos bases de données MySQL ou MariaDB facilement en utilisant PhpMyAdmin.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
- Accès à un système RHEL, CentOS Stream, Fedora, Rocky Linux ou AlmaLinux.
- Assurez-vous que vous pouvez vous connecter en tant qu’utilisateur root ou que vous disposez de privilèges sudo pour installer des logiciels.
- Une pile LAMP existante, qui comprend Apache, MySQL/MariaDB et PHP. Si vous n’avez pas LAMP, vous pouvez suivre ces étapes pour le configurer.
Étape 1 : Mettre à jour le système
Avant d’installer un logiciel, il est crucial de s’assurer que votre système est à jour en exécutant la commande dnf.
sudo dnf update

Cela mettra à jour tous les paquets de votre système aux dernières versions.
Étape 2 : Installer le serveur Web Apache
PhpMyAdmin est un outil basé sur le Web, et pour l’utiliser, vous devez installer le serveur Web Apache à l’aide de la commande suivante.
sudo dnf install httpd

Une fois installé, démarrez le service Apache et activez-le pour qu’il démarre au démarrage.
sudo systemctl start httpd sudo systemctl enable httpd
Étape 3 : Installer MariaDB ou MySQL
Vous aurez également besoin d’un serveur de base de données. Vous pouvez choisir d’installer soit MariaDB soit MySQL, mais nous allons choisir MariaDB dans cet exemple.
sudo dnf install mariadb-server

Une fois installé, démarrez le service MariaDB et activez-le pour qu’il démarre au démarrage.
sudo systemctl start mariadb sudo systemctl enable mariadb
Ensuite, sécurisez votre installation MariaDB en exécutant le script, qui vous demandera d’entrer un mot de passe pour l’utilisateur root, d’interdire les connexions root à distance et de supprimer les utilisateurs anonymes. Il supprimera également la base de données de test, qui par défaut peut être consultée par les utilisateurs anonymes.
sudo mysql_secure_installation

Étape 4: Installer PHP
PhpMyAdmin est construit avec PHP, nous devons donc installer PHP et certaines extensions requises en utilisant la commande suivante.
sudo dnf install php php-mysqlnd php-json php-mbstring

Étape 5: Installer PhpMyAdmin
Maintenant, procédons à l’installation de PhpMyAdmin sur notre système Linux en naviguant jusqu’au répertoire racine du serveur web /var/www/html comme indiqué.
cd /var/www/html
Ensuite, téléchargez la dernière version de PhpMyAdmin en utilisant la commande wget suivante comme indiqué.
sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
Une fois téléchargé, extrayez l’archive téléchargée et renommez le répertoire pour plus de commodité.
sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz sudo mv phpMyAdmin-*/ phpmyadmin
Créez un fichier de configuration pour PhpMyAdmin.
sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
Modifiez le fichier de configuration:
sudo nano /var/www/html/phpmyadmin/config.inc.php
Trouvez la ligne suivante et définissez votre propre secret_blowfish:
$cfg['blowfish_secret'] = 'your_secret';
Enregistrez et quittez le fichier.
Étape 6: Ouvrir le port Apache dans firewalld
Par défaut, Apache utilise couramment les ports 80 et 443 pour HTTP et HTTPS, respectivement. Pour ouvrir les ports Apache et autoriser l’accès à PhpMyAdmin sur votre serveur, exécutez :
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent sudo firewall-cmd --zone=public --add-port=443/tcp --permanent sudo firewall-cmd --reload
Ces commandes ajoutent une règle pour autoriser le trafic entrant sur le port spécifié et rechargent le pare-feu pour appliquer les modifications.
Étape7 : Redémarrer le serveur Web Apache
Enfin, redémarrez Apache pour appliquer les modifications :
sudo systemctl restart httpd
Étape8 : Accéder à PhpMyAdmin
Vous pouvez maintenant accéder à PhpMyAdmin via votre navigateur Web en vous rendant à l’adresse IP de votre serveur ou au nom de domaine suivi de « /phpmyadmin » dans l’URL :
http://your_server_ip/phpmyadmin
Connectez-vous en utilisant vos identifiants MySQL ou MariaDB.


Étape9 : Permettre l’accès externe dans PhpMyAdmin
Ouvrez le fichier de configuration PhpMyAdmin.
sudo vi /etc/httpd/conf/httpd.conf
Recherchez la section <Directory "/var/www/html">
ou la section où votre PhpMyAdmin est configuré et mettez à jour la directive Require
pour autoriser toutes les adresses IP à accéder à PhpMyAdmin.
<Directory "/var/www/html/phpmyadmin"> ... Require all granted ... </Directory>
La configuration ci-dessus permet l’accès depuis n’importe quel adresse IP, mais si vous souhaitez restreindre l’accès à des adresses IP spécifiques, remplacez Require all granted
par Require ip votre_ip
.
Redémarrez Apache pour appliquer les modifications.
sudo systemctl restart httpd
Maintenant, vous devriez être en mesure d’accéder à PhpMyAdmin depuis l’extérieur en utilisant l’adresse IP de votre serveur ou votre domaine.
http://your_server_ip/phpmyadmin
N’oubliez pas que l’ouverture de l’accès à PhpMyAdmin depuis l’extérieur peut présenter des risques de sécurité. Assurez-vous d’avoir un mécanisme de vérification d’identité solide en place et envisagez d’utiliser HTTPS pour une communication chiffrée. De plus, restreignez l’accès uniquement à des adresses IP fiables si possible ou sécurisez l’URL de connexion PhpMyAdmin.
Changement de l’URL de connexion PhpMyAdmin
L’URL de connexion par défaut pour phpMyAdmin est prévisible et souvent ciblée par des personnes malveillantes tentant d’exploiter des vulnérabilités. Changer l’URL de connexion ajoute une couche de sécurité supplémentaire, ce qui rend plus difficile l’accès non autorisé à votre interface de gestion de base de données.
Pour ce faire, créez un fichier de configuration /etc/httpd/conf.d/phpMyAdmin.conf.
vi /etc/httpd/conf.d/phpMyAdmin.conf
Ensuite, ajoutez la configuration suivante.
#Alias /phpMyAdmin /var/www/html/phpmyadmin Alias /my /var/www/html/phpmyadmin <Directory /var/www/htm/lphpmyadmin> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted # Additional IP or hostname-based access control can be added here </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 # Additional IP or hostname-based access control can be added here </IfModule> </Directory>
Remplacez /my
par l’URL de connexion personnalisée souhaitée. Enregistrez les modifications et quittez l’éditeur de texte.
Après avoir apporté des modifications aux fichiers de configuration, redémarrez Apache pour appliquer les modifications :
systemctl restart httpd
Ouvrez votre navigateur web et allez à l’URL de connexion du nouveau phpMyAdmin.
http://yourdomain.com/my/

Configuration d’un SSL pour phpMyAdmin
Sécuriser la communication entre le serveur web Apache et phpMyAdmin est crucial pour protéger des informations sensibles telles que les identifiants de connexion et le contenu de la base de données. Une manière efficace d’y parvenir est de configurer SSL (Secure Socket Layer) pour phpMyAdmin sur un serveur web Apache.
Pour ce faire, installez d’abord le module mod_ssl sur votre serveur.
yum install httpd mod_ssl openssl
Ensuite, créez un répertoire pour stocker le certificat et générez un certificat SSL auto-signé et une clé privée comme indiqué.
mkdir /etc/httpd/ssl openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt

Après avoir créé le certificat SSL et la clé, ouvrez le fichier de configuration SSL Apache.
vi /etc/httpd/conf.d/ssl.conf
Ensuite, ajoutez les lignes suivantes au fichier de configuration.
SSLEngine on SSLCertificateFile /etc/httpd/ssl/apache.crt SSLCertificateKeyFile /etc/httpd/ssl/apache.key
Enregistrez les modifications et redémarrez le serveur web Apache.
systemctl restart httpd
Maintenant, ouvrez le fichier de configuration phpMyAdmin.
vi /var/www/html/phpmyadmin/config.inc.php
Ajoutez les lignes suivantes pour forcer l’utilisation de SSL pour phpMyAdmin.
$cfg['ForceSSL'] = true;
Enregistrez les modifications et quittez l’éditeur de texte.
Enfin, ouvrez votre navigateur web et allez à l’URL suivante pour accéder à phpMyAdmin via une connexion SSL sécurisée.
https://yourdomain.com/my/
S’il vous plaît, soyez conscient que le message indiquant une connexion non sécurisée est uniquement dû à l’utilisation d’un certificat auto-signé. Pour procéder, cliquez sur « Avancé » et acceptez l’exception de sécurité.


Conclusion
Félicitations ! Vous avez réussi à installer PhpMyAdmin avec Apache sur votre système RHEL, CentOS Stream, Rocky Linux ou AlmaLinux. Cet outil basé sur le web simplifie la gestion de vos bases de données, rendant les tâches comme la création de bases de données, les requêtes et la gestion des données un jeu d’enfant.
Source:
https://www.tecmint.com/install-phpmyadmin-rhel-centos-fedora-linux/