phpMyAdmin

phpMyAdmin est une interface web en PHP pour administrer à distance les SGBD MySQL et MariaDB.

Il permet d'administrer les éléments suivants :

  • les bases de données
  • les tables et leurs champs (ajout, suppression, définition du type)
  • les index, les clés primaires et étrangères
  • les utilisateurs de la base et leurs permissions
  • importer ou exporter les données dans divers formats (CSV, XML, PDF, OpenDocument, Word, Excel et LaTeX)

Pour toute information complémentaire il faut vous référer à la documentation officielle de phpMyAdmin (en français).

Avoir installé les paquets suivants :

S'être assuré que le serveur web fonctionne et que les scripts PHP sont correctement interprétés.

Il est recommandé d'installer phpMyAdmin depuis les dépôts officiels afin d'avoir une installation immédiatement fonctionnelle et de bénéficier des mises à jour de sécurité. Installer le paquet phpmyadmin.
Soit en ligne de commande :

sudo apt install phpmyadmin

Lors de l'installation, il vous sera posé quelques questions auxquelles il faut répondre avec soin :

  • Choisir le serveur web à configurer automatiquement (utiliser les flèches du clavier ou la touche tab pour se déplacer et la barre d'espace pour sélectionner/désélectionner) :
Le surlignage rouge n'est pas une sélection, il faut que ça affiche une étoile * entre les crochets, en utilisant la barre d'espace

  • Créer la base de données phpmyadmin : oui

  • Définir un mot de passe pour l'utilisateur MySQL phpmyadmin :

  • Indiquer le mot de passe de l'utilisateur MySQL « root » tel que défini à l'installation de mysql-server :

phpMyAdmin devrait être accessible à l'adresse http://localhost/phpmyadmin

root

Sécurisation

La configuration par défaut (faite ci-dessus) lors de l'installation crée un alias qui donne accès à phpMyAdmin par un url du type : mon-site.fr/phpmyadmin et les robots des hackers le savent !
Si votre phpMyAdmin est en ligne, il peut être judicieux de renommer cet alias.
Pour le faire, il suffit : d'éditer avec les droits d'administration le fichier /etc/phpmyadmin/apache.conf
et de remplacer

Alias /phpmyadmin /usr/share/phpmyadmin
# par quelque chose comme ci-dessous (avec accents ou pas? !)
Alias /nom-accès-personnalisé /usr/share/phpmyadmin

Recharger la conf d'apache (reload)

Ajouter des thèmes graphiques

Il est possible de changer de thème graphique, notamment avec les versions récentes, pour cela, rendez-vous sur thèmes

Erreur 404 avec Apache

Concernant les problèmes de non accessibilité de phpMyAdmin, s'assurer auparavant que, lors de l'installation du paquet phpmyadmin, le serveur web souhaité (généralement Apache) a bien été sélectionné lorsque la question a été posée :
l'interface n'est pas très claire à ce niveau et l'option Apache peut sembler sélectionnée alors qu'elle ne l'est pas. Il faut appuyer sur la barre d'espace et s'assurer d'avoir une astérisque * au niveau d'Apache.

Utilisez la commande suivante pour pouvoir répondre à nouveau aux questions :

sudo dpkg-reconfigure phpmyadmin
Dans les écrans de configuration, les déplacement se font avec la touche TAB (ou les flèches du clavier), les sélections avec la barre d'espace et les validations avec la touche Entrée.

Accès root

Avec MySQL et MariaDB, l'authentification de l'utilisateur root de MySQL se fait au moyen du plugin auth_socket, donc avec sudo.
Cette méthode ne permet pas de se connecter avec phpMyAdmin, mais il est vivement déconseillé de modifier ce comportement.

Si vous avez besoin d'un accès total à vos bases de données depuis un même compte, la solution conseillée est donc de créer un nouvel utilisateur et de lui attribuer tous les privilèges :

sudo mysql

Puis dans la console MySQL :

CREATE USER 'nom_utilisateur_choisi'@'localhost' IDENTIFIED BY 'mot_de_passe_solide';
GRANT ALL ON *.* TO 'nom_utilisateur_choisi'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
QUIT;

En remplaçant évidemment nom_utilisateur_choisi et mot_de_passe_solide dans cette requête.

Cette solution peut être utile sur un serveur de développement mais elle rend plus dangereuse une attaque par force brute sur la page de connexion de phpMyAdmin. En production il est indispensable de protéger l'accès avec HTTPS et un mot de passe extrêmement solide et/ou une authentification à deux facteurs, et/ou des mesures de restriction d'accès par IP. Et veillez à utiliser un couple identifiant / mot de passe différent pour chacun de vos sites ou applications web.

accès impossible à localhost

juillet 2024 : une erreur de configuration du fichier etc/apache2/mods-enabled/php8.2.load empêche le démarrage d'apache2 et donc l'accès à localhost et à phpmyadmin. Ouvrez ce fichier et lisez la 3e ligne qui renvoie sur le fichier /usr/lib/apache2/modules/libphp8.2.so En fait (chez moi), ce fichier s'appelle désormais libphp8.3.so. Il faut donc corriger la ligne de ce premier fichier avec Droits de super utilisateur avec le nom correct. L'accès est rétabli.

autres

Si des erreurs apparaissent en fin de configuration, le plus simple est de supprimer complètement (purger) phpMyAdmin et de le réinstaller.

Si le problème persiste, le forum est à votre disposition.

Vous pouvez essayer de mettre phpmyadmin en login ( sans majuscule ) , ça a marché pour moi même avec php 7.2 !

Pour supprimer cette application, il suffit de supprimer son paquet. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.

Vous pouvez consulter les sites suivants pour obtenir un complément d'information…


Contributeurs : Guigouz, McPeter, krodelabestiole

  • phpmyadmin.txt
  • Dernière modification: Le 25/07/2024, 17:17
  • par 78.114.49.174