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 06/11/2019, 09:53] – [Incompatibilité avec PHP 7.2] 82.251.241.242phpmyadmin [Le 25/07/2024, 17:17] (Version actuelle) – erreur apache2 78.114.49.174
Ligne 1: Ligne 1:
-{{tag>Bionic Xenial sgbd mysql serveur réseau}}+{{tag>Jammy sgbd mysql serveur réseau}}
  
 ---- ----
Ligne 5: Ligne 5:
 ====== 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 interface web en PHP pour administrer à distance les [[:SGBD]] [[:MySQL]] et [[:MariaDB]].
  
 Il permet d'administrer les éléments suivants : Il permet d'administrer les éléments suivants :
Ligne 33: Ligne 33:
  
 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_125829.png|}} 
 +  * Créer la base de données phpmyadmin : **oui**
 {{::screenshot_20171028_112911.png|}} {{::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|}}+
  
  
Ligne 49: Ligne 48:
  
 root root
-===== Problèmes courants ===== 
  
-==== Incompatibilité avec PHP 7.2 ====+==== 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 [[:sudo|droits d'administration]] 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>
  
-Sur [[:bionic|Bionic 18.04]], si vous rencontrez une erreur du type : +[[:apache2#autres_commandes_utiles|Recharger la conf d'apache (reload)]]
-<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. +==== 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 
-La [[https://stackoverflow.com/a/49483740/3175946|solution]] est de remplacer la ligne 613 du fichier ''/usr/share/phpmyadmin/libraries/sql.lib.php''+[[https://www.phpmyadmin.net/themes|thèmes]] 
-<file>||(count($analyzed_sql_results['select_expr'== 1)</file> +===== Problèmes courants =====
-par +
-<file>|| (count($analyzed_sql_results['select_expr']) == 1</file>\\ +
- +
-Néanmoins, une erreur du même type peut persister lorsque l'on veut utiliser les fonction Import / Export. Il faut alors remplacer la ligne 551 du fichier ''/usr/share/phpmyadmin/libraries/plugin_interface.lib.php'' +
-<file>       if ($options !null && count($options) > 0) {</file> +
-par +
-<file>       if ($options !null && count((array)$options) > 0) {</file> +
- +
- +
- +
-Une solution radicale consiste à installer une version plus récente de phpmyadmin à télécharger sur le [[https://www.phpmyadmin.net/downloads/|site officiel]]. On peut trouver des tuto pour installer cette nouvelle version de façon sure comme par exemple ce [[https://www.hostingadvice.com/how-to/install-phpmyadmin-on-ubuntu/#install-from-source|site]].   +
  
 ==== Erreur 404 avec Apache ==== ==== Erreur 404 avec Apache ====
Ligne 79: Ligne 73:
 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>
  
Ligne 88: Ligne 82:
 ==== 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 97: Ligne 91:
 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 104: Ligne 99:
 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>
 +==== 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 [[sudo|Droits de super utilisateur]] avec le nom correct. L'accès est rétabli.
 ==== autres ==== ==== 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 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, [[http://forum.ubuntu-fr.org/|le forum]] est à votre disposition.+Si le problème persiste, [[https://forum.ubuntu-fr.org/|le forum]] est à votre disposition.
  
  
Ligne 125: Ligne 122:
 Vous pouvez consulter les sites suivants pour obtenir un complément d'information... 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]] **(fr)** ; +  * [[https://docs.phpmyadmin.net/fr/latest/|Documentation complète en français]] **(fr)** 
-  * [[https://www.phpmyadmin.net|Site officiel du projet]] **(en)** ;+  * [[https://www.phpmyadmin.net|Site officiel du projet]] **(en)** 
 +  * [[https://help.ubuntu.com/community/phpMyAdmin|page phpMyAdmin sur help.ubuntu.com]] **(en)**
  
 ---- ----
  
 //Contributeurs : [[utilisateurs:guigouz|Guigouz]], [[utilisateurs:mcpeter|McPeter]], [[utilisateurs:krodelabestiole]]// //Contributeurs : [[utilisateurs:guigouz|Guigouz]], [[utilisateurs:mcpeter|McPeter]], [[utilisateurs:krodelabestiole]]//