phpMyAdmin est le meilleur outil de gestion de base de données open source, gratuit et basé sur une interface Web pour gérer MySQL et MariaDB. Vous pouvez gérer les bases de données MySQL, les comptes d'utilisateurs et les privilèges, importer et exporter des données et bien plus encore à l'aide de l'interface phpmyadmin.
Chez LinuxAPT, dans le cadre de nos services de gestion de serveur, nous aidons régulièrement nos clients à effectuer des requêtes phpMyAdmin associées.
Dans ce cadre, nous verrons comment installer phpMyAdmin avec Apache sur CentOS 7.
Principales fonctionnalités de phpMyAdmin :
- Créer, parcourir, modifier et supprimer des bases de données, des tables, des vues, des colonnes et des index
- Afficher plusieurs ensembles de résultats via des procédures stockées ou des requêtes.
- Créer, copier, supprimer, renommer et modifier des bases de données, des tables, des colonnes et des index
- Serveur de maintenance, bases de données et tables, avec propositions sur la configuration du serveur.
- Charger des fichiers texte dans des tableaux.
Comment installer phpMyAdmin sur CentOS ?
Avant de procéder à cette tâche d'installation, assurez-vous que les conditions suivantes sont remplies :
- Connecté au serveur CentOS en tant que compte utilisateur non root avec des privilèges sudo.
- Assurez-vous que la pile LAMP (Linux, Apache, MySQL et PHP) est installée sur votre système CentOS.
Nous vous recommandons d'accéder à votre installation phpMyAdmin via des connexions HTTPS pour éviter les attaques inutiles. Si votre domaine n'est pas sécurisé avec un certificat SSL/TLS, vous pouvez suivre ce guide pour sécuriser Apache avec Let's Encrypt sur CentOS.
1. Installez phpMyAdmin sur CentOS
Le package phpMyAdmin n'est pas disponible sur les référentiels centraux CentOS 7. Nous allons donc l'installer à partir du référentiel EPEL. Pour démarrer l'installation, vous devez d'abord activer le référentiel EPEL avec la commande ci-dessous :
$ sudo yum install epel-release
Une fois le référentiel EPEL activé, vous pouvez installer le phpMyAdmin et ses dépendances avec la commande ci-dessous :
$ sudo yum install phpmyadmin
2. Configurez phpMyAdmin
Au moment de l'installation de phpMyAdmin, créé automatiquement un fichier de configuration Apache. Par défaut, toutes les connexions sont refusées sauf localhost, vous devrez donc modifier le fichier de configuration et ajouter des adresses IP spécifiques.
je. Ouvrez le fichier de configuration de phpMyAdmin avec la commande ci-dessous :
$ sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
ii. Remplacez maintenant Require ip 127.0.0.1 par Require ip YOUR_IP_ADDRESS. Où votre adresse IP est l'adresse IP de vos connexions. Voici l'exemple après remplacement :
# Apache 2.4
<RequireAny>
Require ip 192.168.43.125
Require ip ::1
</RequireAny>
iii. Enregistrez et fermez le fichier.
iv. Ensuite, vous devez redémarrer Apache en tapant :
$ sudo systemctl restart httpd
3. Créer un utilisateur MySQL et définir des privilèges
Vous pouvez créer un utilisateur mysql distinct pour l'accès à partir de l'interface Web phpMyAdmin.
je. Connectez-vous à mysql avec la commande ci-dessous :
$ sudo mysql
ii. Maintenant, exécutez les commandes ci-dessous pour créer un nouvel utilisateur administratif avec un mot de passe fort et accordez les autorisations appropriées :
mysql> CREATE USER 'newadmin'@'localhost' IDENTIFIED BY 'STRONG-PASSWORD';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'newadmin'@'localhost' WITH GRANT OPTION;
iii. Quittez le shell MySQL en tapant :
exit;
Comment accéder à phpMyAdmin ?
Vous pouvez accéder à l'interface phpMyAdmin en ouvrant un navigateur Web et en tapant l'adresse IP publique ou le nom de domaine de votre serveur suivi de /phpmyadmin :
https://ip_address_or_your_domain/phpmyadmin
Maintenant, connectez-vous à l'interface avec le nom d'utilisateur et le mot de passe administratifs que vous avez créés à l'étape précédente et appuyez sur le bouton Go.
Lorsque vous vous connectez, vous verrez l'interface utilisateur de phpMyAdmin.
Comment sécuriser phpMyAdmin ?
Vous pouvez ajouter une couche de sécurité supplémentaire à votre interface Web phpMyAdmin en configurant une authentification de base. Nous allons créer un répertoire protégé par mot de passe.
Dans un premier temps, nous allons créer un fichier de mot de passe avec l'utilisateur à l'aide de l'outil htpasswd fourni avec le package Apache.
Nous allons stocker le fichier .htpasswd dans le répertoire /etc/phpmyadmin :
$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd newadmin
Ici, newadmin est le nom d'utilisateur administratif que nous avons créé pour accéder à l'interface phpMyAdmin. Vous pouvez choisir n'importe quel nom d'utilisateur de votre choix.
Une fois que vous avez exécuté la commande ci-dessus, il vous sera demandé d'entrer le mot de passe et de confirmer le mot de passe comme ci-dessous :
New password:
Re-type new password:
Adding password for user newadmin
Nous allons maintenant configurer Apache pour protéger par mot de passe le répertoire phpMyAdmin et utiliser le fichier .htpasswd.
Pour cela ouvrez phpmyadmin.conf en tapant :
$ sudo nano /etc/httpd/conf.d/phpmyadmin.conf
Effectuez les modifications comme suit :
<Directory /usr/share/phpmyadmin>
Options +FollowSymLinks +Multiviews +Indexes # change this line
DirectoryIndex index.php
# Add new line start
AllowOverride None
AuthType basic
AuthName "Authentication Required"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
# Add new line end
...
Après cela, enregistrez et fermez le fichier. Pour prendre effet, redémarrez le service Apache par type :
$ sudo systemctl restart httpd
Désormais, lorsque vous accéderez à votre sous-répertoire phpMyAdmin, vous serez invité à saisir le nom de compte et le mot de passe supplémentaires que vous venez de configurer :
https://ip_address_or_your_domain/phpmyadmin
Une fois que vous aurez entré les informations d'authentification de base, vous serez redirigé vers la page de connexion de phpMyAdmin où vous devrez entrer vos identifiants de connexion d'administrateur MySQL.