Comment installer PhpMyAdmin avec Apache dans les systèmes RHEL
Dans cet article, nous vous guiderons pas à pas à travers 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.
Qu’est-ce que PhpMyAdmin ?
PhpMyAdmin est un outil de gestion de base de données Web populaire et puissant, et disposer de la dernière version garantit que vous avez accès aux fonctionnalités et améliorations de sécurité les plus récentes. À la fin de ce guide, vous serez en mesure de gérer facilement vos bases de données MySQL ou MariaDB à l'aide de PhpMyAdmin.
Conditions préalables
Avant de commencer, assurez-vous d'avoir les é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 disposer des privilèges sudo pour installer le logiciel.
- Une pile LAMP existante, qui inclut 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 essentiel de vous assurer que votre système est à jour en exécutant la commande dnf suivante.
sudo dnf update
Cela mettra à jour tous les packages de votre système vers les dernières versions.
Étape 2 : Installer le serveur Web Apache
PhpMyAdmin est un outil 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 démarrer au démarrage.
sudo systemctl start httpd
sudo systemctl enable httpd
Étape 3 : Installez MariaDB ou MySQL
Vous aurez également besoin d'un serveur de base de données. Vous pouvez choisir d'installer MariaDB ou MySQL, mais nous utiliserons MariaDB dans cet exemple.
sudo dnf install mariadb-server
Une fois installé, démarrez le service MariaDB et activez-le pour démarrer 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 de saisir un mot de passe pour l'utilisateur root, d'interdire les connexions root à distance et de supprimer les utilisateurs anonymes. Cela supprimera également la base de données de test, accessible par défaut aux utilisateurs anonymes.
sudo mysql_secure_installation
Étape 4 : Installer PHP
PhpMyAdmin est construit avec PHP, nous devons donc installer PHP et certaines extensions requises à l'aide de 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 accédant au répertoire racine des documents du serveur Web /var/www/html comme indiqué.
cd /var/www/html
Ensuite, téléchargez la dernière version de PhpMyAdmin à l'aide de 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
Recherchez la ligne suivante et définissez votre propre Blowfish_secret :
$cfg['blowfish_secret'] = 'your_secret';
Enregistrez et quittez le fichier.
Étape 6 : Ouvrez le port Apache dans Firewall
Par défaut, Apache utilise généralement 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.
Étape 7 : Redémarrez le serveur Web Apache
Enfin, redémarrez Apache pour appliquer les modifications :
sudo systemctl restart httpd
Étape 8 : Accédez à PhpMyAdmin
Vous pouvez désormais accéder à PhpMyAdmin via votre navigateur Web en accédant à l'adresse IP ou au nom de domaine de votre serveur suivi de « /phpmyadmin » dans l'URL :
http://your_server_ip/phpmyadmin
Connectez-vous en utilisant vos informations d'identification MySQL ou MariaDB.
Étape 9 : Autoriser l'accès externe dans PhpMyAdmin
Ouvrez le fichier de configuration PhpMyAdmin.
sudo vi /etc/httpd/conf/httpd.conf
Recherchez la section
ou la section dans laquelle votre PhpMyAdmin est configuré et met à jour la directive Require
pour autoriser toutes les adresses IP pour accéder à PhpMyAdmin.
<Directory "/var/www/html/phpmyadmin">
...
Require all granted
...
</Directory>
La configuration ci-dessus permet l'accès à partir de n'importe quelle adresse IP, mais si vous souhaitez restreindre l'accès à des adresses IP spécifiques, remplacez Exiger tout accordé
par Exiger ip votre_ip
.
Redémarrez Apache pour appliquer les modifications.
sudo systemctl restart httpd
Désormais, vous devriez pouvoir accéder à PhpMyAdmin depuis le monde extérieur en utilisant l'adresse IP ou le domaine de votre serveur.
http://your_server_ip/phpmyadmin
N'oubliez pas que l'accès à PhpMyAdmin depuis le monde extérieur peut présenter des risques de sécurité. Assurez-vous de disposer d'un mécanisme d'authentification solide et envisagez d'utiliser HTTPS pour les communications chiffrées. De plus, limitez l’accès aux seules adresses IP de confiance si possible ou sécurisez l’URL de connexion PhpMyAdmin.
Modifier l'URL de connexion à phpMyAdmin
L'URL de connexion par défaut pour phpMyAdmin est prévisible et est généralement ciblée par des acteurs malveillants tentant d'exploiter les vulnérabilités. La modification de l'URL de connexion ajoute une couche de sécurité supplémentaire, rendant plus difficile l'accès des utilisateurs non autorisés à 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 modifié les fichiers de configuration, redémarrez Apache pour appliquer les modifications :
systemctl restart httpd
Ouvrez votre navigateur Web et accédez à la nouvelle URL de connexion phpMyAdmin.
http://yourdomain.com/my/
Configuration de SSL pour phpMyAdmin
Sécuriser la communication entre le serveur Web Apache et phpMyAdmin est crucial pour protéger les informations sensibles telles que les informations de connexion et le contenu de la base de données. Un moyen efficace d'y parvenir consiste à configurer SSL (Secure Socket Layer) pour phpMyAdmin sur un serveur Web Apache.
Pour cela, 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 Apache SSL.
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 SSL pour phpMyAdmin.
$cfg['ForceSSL'] = true;
Enregistrez les modifications et quittez l'éditeur de texte.
Enfin, ouvrez votre navigateur Web et accédez à l'URL suivante pour accéder à phpMyAdmin via une connexion SSL sécurisée.
https://yourdomain.com/my/
Veuillez noter que le message indiquant une connexion non sécurisée est uniquement dû à l'utilisation d'un certificat auto-signé. Pour continuer, cliquez sur « Avancé » et confirmez l’exception de sécurité.
Conclusion
Toutes nos félicitations! Vous avez installé avec succès PhpMyAdmin avec Apache sur votre système RHEL, CentOS Stream, Rocky Linux ou AlmaLinux. Cet outil Web simplifie la gestion de vos bases de données, facilitant ainsi les tâches telles que la création de bases de données, les requêtes et la gestion des données.