phpMyAdmin est un outil d'administration Web open source pour la gestion des serveurs MySQL et MariaDB. C'est l'un des outils d'administration de base de données les plus populaires utilisés par les sociétés d'hébergement et les administrateurs système pour effectuer des activités de base de données telles que la création, la suppression, l'interrogation de tables, de colonnes, de relations, d'index, d'utilisateurs, d'autorisations, etc.
phpMyAdmin est une application web portable écrite en PHP. Il est publié sous GNU GPL v2.
Dans ce post, nous verrons comment installer phpMyAdmin avec Apache sur CentOS 8 / RHEL 8.
Prérequis
Installer le serveur MySQL/MariaDB
Avant d'installer phpMyAdmin, vous devez avoir une instance de base de données (MySQL ou MariaDB) en cours d'exécution sur votre système pour vous connecter. Il peut s'agir d'une instance de base de données autonome ou installée dans le cadre de la pile LAMP.
Base de données autonome
LIRE : Comment installer MariaDB sur CentOS 8 / RHEL 8
LIRE : Comment installer MySQL 8.0 sur CentOS 8 / RHEL 8
Installez PHP, le package de support MySQL pour PHP et d'autres packages PHP sur votre système pour que phpMyAdmin se connecte à la base de données.
dnf install -y wget php php-pdo php-pecl-zip php-json php-common php-fpm php-mbstring php-cli php-mysqlnd php-xml tar
Pile LAMPE
LIRE : Comment installer la pile LAMP sur CentOS 8 / RHEL 8
Installez ci-dessous les packages PHP pour que phpMyAdmin se connecte à la base de données.
dnf install -y php-json php-mbstring
Installer phpMyAdmin
Le package phpMyAdmin n'est pas encore disponible dans le référentiel du système d'exploitation pour CentOS 8 / RHEL 8. Nous devons donc le télécharger depuis le site officiel.
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.tar.gz
Installez phpMyAdmin en utilisant la commande suivante.
tar -zxvf phpMyAdmin-5.1.1-all-languages.tar.gz
Déplacez la configuration de phpMyAdmin vers l'emplacement souhaité.
mv phpMyAdmin-5.1.1-all-languages /usr/share/phpMyAdmin
Configurer phpMyAdmin
Copiez l'exemple de fichier de configuration.
cp -pr /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php
Modifiez le fichier de configuration et ajoutez un secret blowfish.
vi /usr/share/phpMyAdmin/config.inc.php
Générez le secret Blowfish et placez-le dans la ligne ci-dessous.
$cfg['blowfish_secret'] = 'bo95yavJ;V,1PzSlxyFwtyMJ}WmG98-6'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Importez le create_tables.sql pour créer de nouvelles tables pour phpMyAdmin.
mysql < /usr/share/phpMyAdmin/sql/create_tables.sql -u root -p
Créez un alias dans le serveur Web Apache afin que phpMyAdmin soit accessible avec http://your-ip-add-dress/phpmyadmin.
vi /etc/httpd/conf.d/phpMyAdmin.conf
Copiez et collez le contenu ci-dessous dans le fichier ci-dessus.
Alias /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>
Créez un répertoire tmp pour phpMyAdmin et modifiez l'autorisation.
mkdir /usr/share/phpMyAdmin/tmp chmod 777 /usr/share/phpMyAdmin/tmp
Définissez la propriété de phpMyAdmin comme indiqué ci-dessous.
chown -R apache:apache /usr/share/phpMyAdmin
Redémarrez le service.
systemctl restart httpd
SELinux
Créez des politiques SELinux pour que phpMyAdmin fonctionne correctement.
yum install -y policycoreutils-python-utils semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/phpMyAdmin/' semanage fcontext -a -t httpd_sys_rw_content_t "/usr/share/phpMyAdmin/tmp(/.*)?" restorecon -Rv '/usr/share/phpMyAdmin/'
Pare-feu
Créez une règle de pare-feu pour autoriser les requêtes HTTP provenant de réseaux externes.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
Remarques importantes
Lisez les notes importantes avant d'accéder à phpMyAdmin avec les utilisateurs root ou réguliers de la base de données.
MySQL 8.x
MySQL 8.0 installé à partir du référentiel MySQL Dev Community utilise un mécanisme caching_sha2_password pour l'authentification, qui empêche les applications héritées d'accéder aux bases de données, y compris phpMyAdmin, pour le moment. En termes simples, vous ne serez pas connecté à phpMyAdmin à moins que nous ne désactivions ce nouveau mécanisme de mot de passe.
Vous pouvez désactiver globalement le nouveau mécanisme de mot de passe en plaçant default-authentication-plugin=mysql_native_password dans /etc/my.cnf (les utilisateurs créés après ce changement auront le mécanisme d'authentification mysql_native_password), ou vous pouvez revenir à l'ancienne authentification native (mysql_native_password) pour utilisateurs individuels (Ex :root) en exécutant ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '
Accéder à phpMyAdmin
Accédez maintenant à phpMyAdmin depuis le navigateur, l'URL sera :
http://localhost/phpMyAdminOU
http://votre-adresse-ip/phpMyAdminConnectez-vous avec la racine (administrateur de la base de données) ou n'importe quel utilisateur de la base de données.
Vous obtiendrez la page de la base de données où vous pourrez effectuer toutes les activités de la base de données.
Conclusion
J'espère que vous avez appris à installer phpMyAdmin avec Apache CentOS 8 / RHEL 8 pour gérer la base de données MariaDB et MySQL. En plus de cela, vous pouvez voir comment sécuriser votre installation de phpMyAdmin.