Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
phpmyadmin [Le 08/04/2019, 16:57] – [Accès root] krodelabestiolephpmyadmin [Le 15/09/2026, 21:35] (Version actuelle) – [Erreur 404 avec Apache] krodelabestiole
Ligne 1: Ligne 1:
-{{tag>Bionic Xenial sgbd mysql serveur réseau}} +{{tag>Jammy sgbd mysql serveur réseau php}}
- +
-----+
  
 +{{ https://raw.githubusercontent.com/phpmyadmin/phpmyadmin/refs/heads/master/public/themes/original/img/logo_right.png?140|Logo phpMyAdmin}}
 ====== phpMyAdmin ====== ====== phpMyAdmin ======
  
-**[[http://www.phpmyadmin.net/|phpMyAdmin]]** est une interface web en PHP pour administrer à distance les [[:SGBD]] [[:MySQL]] et [[:MariaDB]].+**[[https://www.phpmyadmin.net/|phpMyAdmin]]** est une [[:web#applications web|application web]] [[:PHP]] servant à administrer à distance les [[:SGBD|bases de données]] [[:MySQL]] ou [[:MariaDB]].
  
-Il permet d'administrer les éléments suivants :+Elle permet d'administrer (créer, renommer, modifier, supprimer) les éléments suivants :
   * les bases de données   * les bases de données
   * les tables et leurs champs (ajout, suppression, définition du type)   * les tables et leurs champs (ajout, suppression, définition du type)
 +  * ainsi que leur contenu
   * les index, les clés primaires et étrangères   * les index, les clés primaires et étrangères
-  * les utilisateurs de la base et leurs permissions +  * les utilisateurs des bases et leurs permissions. 
-  * importer ou exporter les données dans divers formats (CSV, XML, PDF, OpenDocument, Word, Excel et LaTeX)+**phpMyAdmin** permet aussi d'importer ou exporter les données dans divers formats ([[wpfr>Comma-separated_values|CSV]][[wpfr>Extensible_Markup_Language|XML]][[:PDF]][[wpfr>OpenDocument]], Word, Excel et [[:LaTeX]]).
  
 {{:phpmyadmin.png}} {{:phpmyadmin.png}}
  
-Pour toute information complémentaire il faut vous référer à [[https://docs.phpmyadmin.net/fr/latest/|la documentation officielle de phpMyAdmin (en français).]]+Pour toute information complémentaire, se référer à la [[https://docs.phpmyadmin.net/fr/latest/|documentation officielle]] de **phpMyAdmin** (en français).
  
-===== Pré-requis =====+===== Installation via les dépôts =====
  
-Avoir [[:tutoriel:comment_installer_un_paquet#paquet_present_dans_les_depots|installé les paquets]] suivants : +<note important> 
-  le SGBD [[apt>mysql-server|MySQL]] ou [[apt>mariadb-server|MariaDB]] +Tout comme un [[:CMS]], **phpMyAdmin** est une [[:web#applications_web|application]] accessible directement en ligne. Pour des raisons importantes de [[:sécurité]], il est //impératif// de toujours utiliser la dernière version et de la maintenir à jour.
-  * le serveur web [[apt>apache2]] (ou [[apt>lighttpd]])+
  
-S'être assuré que le serveur web fonctionne et que les scripts PHP sont correctement interprétés+**phpMyAdmin** est disponible dans les [[:dépôts]] officiels d'Ubuntu, mais avant de vous lancer dans une installation par [[:APT]], vérifiez que la version proposée correspond à la dernière version sur le [[https://www.phpmyadmin.net/news/|site officiel]] (ce qui est rarement le cas). 
-===== Installation via les dépôts =====+ 
 +D'une manière générale [[:APT]] et les [[:dépôts]] d'[[:Ubuntu]] et [[:distributions#Debian]] (format [[:deb]]) ne sont pas pensés pour fournir des versions particulièrement récentes des logiciels. Par conséquent ils ne conviennent généralement pas au déploiement d'[[:web#applications_web|applications]] ou services //[[:web]]//
 +</note>
  
-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é. +[[:deb#installer_un_paquet_deb|Installer le paquet]] ''[[apt>phpmyadmin]]''.\\
-[[:tutoriel:comment_installer_un_paquet#paquet_present_dans_les_depots|Installer le paquet]] **[[apt>phpmyadmin]]**.\\ +
 Soit en ligne de commande : Soit en ligne de commande :
 <code>sudo apt install phpmyadmin</code> <code>sudo apt install phpmyadmin</code>
  
 Lors de l'installation, il vous sera posé quelques questions auxquelles il faut répondre avec soin : 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) : 
-  * Créer la base de données phpmyadmin : **oui**  +<note important>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</note> 
-{{::screenshot_20171028_112911.png|}}+{{:screenshot_20171028_125829.png}} 
 +  * Créer la base de données phpmyadmin : **oui** 
 +{{::screenshot_20171028_112911.png}}
   * Définir un mot de passe pour l'utilisateur MySQL phpmyadmin   :   * Définir un mot de passe pour l'utilisateur MySQL phpmyadmin   :
-{{:screenshot_20171028_112939.png|}} +{{:screenshot_20171028_112939.png}}
-  * L'écran suivant demandera la confirmation de ce mot de passe (a priori cette étape n'existe plus depuis [[bionic|Bionic 18.04]], voir paragraphe 3.3 plus bas).+
   * Indiquer le mot de passe de l'utilisateur MySQL « root » tel que défini à l'installation de mysql-server :   * Indiquer le mot de passe de l'utilisateur MySQL « root » tel que défini à l'installation de mysql-server :
-{{:screenshot_20171028_113015.png|}} +{{:screenshot_20171028_113015.png}}
-   * 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) : +
-<note important>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</note> +
-{{:screenshot_20171028_125829.png|}}+
  
 +**phpMyAdmin** devrait être accessible à l'adresse ''[[http://localhost/phpmyadmin]]''.
  
-phpMyAdmin devrait être accessible à l'adresse http://localhost/phpmyadmin+==== Sécurisation ===
  
-root +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 !\\ 
-===== Problèmes courants =====+Si votre phpMyAdmin est en ligne, il peut être judicieux de renommer cet alias.\\ 
 +Pour le faire, il suffit : 
 +d'éditer avec les [[:permissions administrateur]] le fichier ''/etc/phpmyadmin/apache.conf''\\ 
 +et de remplacer  
 +<code> 
 +Alias /phpmyadmin /usr/share/phpmyadmin 
 +# par quelque chose comme ci-dessous (avec accents ou pas? !) 
 +Alias /nom-accès-personnalisé /usr/share/phpmyadmin 
 +</code>
  
-==== Incompatibilité avec PHP 7.2 ====+[[:apache2#autres_commandes_utiles|Recharger la conf d'apache (reload)]]
  
-Sur [[:bionic|Bionic 18.04]], si vous rencontrez une erreur du type : +==== Ajouter des thèmes graphiques ====
-<code>Warning in ./libraries/sql.lib.php#613 +
-count(): Parameter must be an array or an object that implements Countable</code> +
-ceci est dû au fait que la version de phpMyAdmin fournie dans les dépôts officiels n'est pas pleinement compatible avec PHP 7.2.+
  
-Il s'agit donc d'un bug d'Ubuntu. +Il est possible de changer de thème graphique, notamment avec les versions récentes, pour cela, rendez-vous sur 
- +[[https://www.phpmyadmin.net/themes|thèmes]]
-La [[https://stackoverflow.com/a/49483740/3175946|solution]] est de remplacer la ligne 613 du fichier ''/usr/share/phpmyadmin/libraries/sql.lib.php''+
-<file>(count($analyzed_sql_results['select_expr'] == 1)</file> +
-par +
-<file>(count($analyzed_sql_results['select_expr']) == 1</file>+
  
 +===== Problèmes courants =====
  
 ==== Erreur 404 avec Apache ==== ==== 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 :\\ +Concernant les problèmes de non accessibilité de phpMyAdmin, s'assurer auparavant que, lors de l'installation du paquet ''[[apt>phpmyadmin]]'', le serveur web souhaité (généralement [[:apache2|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//.+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 : +Utilisez la commande suivante pour pouvoir répondre à nouveau aux questions :
 <code>sudo dpkg-reconfigure phpmyadmin</code> <code>sudo dpkg-reconfigure phpmyadmin</code>
  
-<note importante+<note important
-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.+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 ↵''.
 </note> </note>
  
 ==== Accès root ==== ==== Accès root ====
  
-Avec [[:MySQL]] depuis [[:bionic|Bionic 18.04]], et [[:MariaDB]] depuis [[:xenial|Xenial 16.04]], l'authentification de l'utilisateur //root// de MySQL se fait au moyen du //[[:mysql#authentification|plugin auth_socket]]//, donc avec [[:sudo]].\\+Avec [[:MySQL]] et [[:MariaDB]], l'authentification de l'utilisateur //root// de MySQL se fait au moyen du //[[:mysql#authentification|plugin auth_socket]]//, donc avec [[:sudo]].\\
 Cette méthode ne permet pas de se connecter avec phpMyAdmin, mais il est [[:mysql#ajouter_ou_changer_le_mot_de_passe_de_root|vivement déconseillé]] de modifier ce comportement. Cette méthode ne permet pas de se connecter avec phpMyAdmin, mais il est [[:mysql#ajouter_ou_changer_le_mot_de_passe_de_root|vivement déconseillé]] de modifier ce comportement.
  
-Si vous avez besoin d'un accès global à 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 :+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 :
 <code> <code>
 sudo mysql sudo mysql
Ligne 89: Ligne 90:
 Puis dans la console MySQL : Puis dans la console MySQL :
 <code mysql> <code mysql>
-GRANT ALL ON *.* TO 'nom_utilisateur_choisi'@'localhost' IDENTIFIED BY 'mot_de_passe_solide' WITH GRANT OPTION;+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; FLUSH PRIVILEGES;
 QUIT; QUIT;
Ligne 96: Ligne 98:
 En remplaçant évidemment //nom_utilisateur_choisi// et //mot_de_passe_solide// dans cette requête. En remplaçant évidemment //nom_utilisateur_choisi// et //mot_de_passe_solide// dans cette requête.
  
-<note warning>Cette solution peut être utile sur un serveur de développement mais elle rend plus dangereuse une [[wpfr>attaque par force brute]] sur la page de connexion de phpMyAdmin. En production il est indispensable de protéger l'accès à phpMyAdmin grâce à l'outil [[:fail2ban]]ou/et à des mesures de restriction d'accès par IP, par ex.+<note warning>Cette solution peut être utile sur un serveur de développement mais elle rend plus dangereuse une [[wpfr>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.</note> Et veillez à utiliser un couple identifiant / mot de passe différent pour chacun de vos sites ou applications web.</note>
-==== autres ==== 
  
-Si des erreurs apparaissent en fin de configuration, le plus simple est de [[:tutoriel:comment_supprimer_un_paquet| supprimer complètement (purger)]] phpMyAdmin et de le réinstaller.+==== Accès impossible à localhost ====
  
-Si le problème persiste, [[http://forum.ubuntu-fr.org/|le forum]] est à votre disposition.+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 [[sudo|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 [[:tutoriel:comment_supprimer_un_paquet| supprimer complètement (purger)]] phpMyAdmin et de le réinstaller.
  
 +Si le problème persiste, [[https://forum.ubuntu-fr.org/|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 ! 
 ===== Désinstallation ===== ===== Désinstallation =====
  
Ligne 112: Ligne 117:
 ===== Voir aussi ===== ===== Voir aussi =====
  
-Vous pouvez consulter les sites suivants pour obtenir un complément d'information...+  * [[:MySQL]] 
 +  * [[:Mariadb]] 
 +  * [[:LAMP]] 
 +  * [[:PHP]] 
 +  * [[:Apache2]] 
 +  * [[:Nginx]] 
 +  * [[https://caddyserver.com/|Caddy]]
  
-  * [[https://docs.phpmyadmin.net/fr/latest/|Documentation complète en français]] **(fr)** ; +==== Documentation ====
-  * [[https://www.phpmyadmin.net|Site officiel du projet]] **(en)** ;+
  
-----+Vous pouvez consulter les sites suivants pour obtenir un complément d'information : 
 +  * [[https://docs.phpmyadmin.net/fr/latest/|Documentation complète en français]] 
 +  * **(//en//)** [[https://www.phpmyadmin.net|Site officiel du projet]] 
 +  * **(//en//)** page //[[https://help.ubuntu.com/community/phpMyAdmin|phpMyAdmin]]// sur help.ubuntu.com (page pour le moment largement obsolète)
  
-//Contributeurs : [[utilisateurs:guigouz|Guigouz]], [[utilisateurs:mcpeter|McPeter]], [[utilisateurs:krodelabestiole]]//+==== Alternatives ==== 
 + 
 +  * **[[https://www.adminer.org/|Adminer]]** est une alternative presque aussi complète, mais beaucoup plus légère et simple à déployer (il n'est constitué que d'un seul fichier [[:PHP]]). 
 + 
 +=== Applications de bureau === 
 + 
 +  * [[https://github.com/ellie-commons/sequeler|Sequeler]] (disponible dans les [[:dépôts]], paquet ''[[apt>sequeler]]'', et en [[:Flatpak]] sur [[https://flathub.org/fr/apps/io.github.ellie_commons.sequeler|Flathub]]) 
 +  * [[https://dbeaver.io/|DBeaver Community]](([[https://github.com/dbeaver/dbeaver|GitHub]])) (disponible en [[:snap]] sur [[https://snapcraft.io/dbeaver-ce|Snapcraft]] et en [[:Flatpak]] sur [[https://flathub.org/fr/apps/io.dbeaver.DBeaverCommunity|Flathub]]) 
 +  * [[https://www.beekeeperstudio.io/|Beekeeper Studio]](([[https://github.com/beekeeper-studio/beekeeper-studio/|GitHub]])) (disponible en [[:Flatpak]] sur [[https://flathub.org/fr/apps/io.beekeeperstudio.Studio|Flathub]]) 
 + 
 +<note>Voir aussi la [[:mysql_outils|page concernant les outils]] permettant de gérer [[:MySQL]] et [[:MariaDB]].</note> 
 + 
 +---- 
 +//[[:Contributeurs]] : [[:utilisateurs:Guigouz]], [[:utilisateurs:McPeter]], [[:utilisateurs:krodelabestiole]].//