Recherche de site Web

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.