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édentes Révision précédente
Prochaine révision
Révision précédente
phpmyadmin [Le 26/12/2010, 11:39]
83.159.1.233
phpmyadmin [Le 25/07/2024, 17:17] (Version actuelle)
78.114.49.174 erreur apache2
Ligne 1: Ligne 1:
-{{tag>​mysql ​sgdb}}+{{tag>Jammy sgbd mysql serveur réseau}} 
 ---- ----
  
 ====== phpMyAdmin ====== ====== phpMyAdmin ======
  
-**phpMyAdmin** est une interface ​d'​administration ​pour le SGBD [[MySQL]]+**[[https://​www.phpmyadmin.net/​|phpMyAdmin]]** est une interface ​web en PHP pour administrer à distance les [[:SGBD]] [[:MySQL]] et [[:MariaDB]].
-Il est écrit en langage PHP et s'​appuie sur le serveur HTTP [[Apache]].+
  
 Il permet d'​administrer les éléments suivants : Il permet d'​administrer les éléments suivants :
Ligne 12: Ligne 12:
   * 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 de la base et leurs permissions
-  * exporter les données dans divers formats (CSV, XML, PDF, OpenDocument,​ Word, Excel et LaTeX)+  * importer ou exporter les données dans divers formats (CSV, XML, PDF, OpenDocument,​ Word, Excel et LaTeX)
  
-{{phpmyadmin.png?500}}+{{: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).]]
  
-===== Installation ===== +===== Pré-requis ​=====
- +
-==== Pré-requis ====+
  
 Avoir [[:​tutoriel:​comment_installer_un_paquet#​paquet_present_dans_les_depots|installé les paquets]] suivants : Avoir [[:​tutoriel:​comment_installer_un_paquet#​paquet_present_dans_les_depots|installé les paquets]] suivants :
-  * le SGBD [[apt://mysql-server|MySQL]] +  * le SGBD [[apt>mysql-server|MySQL]] ou [[apt>​mariadb-server|MariaDB]] 
-  * le serveur ​HTTP [[apt://apache2|Apache]]+  * le serveur ​web [[apt>apache2]] ​(ou [[apt>​lighttpd]])
  
-==== Procédure à suivre ​====+S'​être assuré que le serveur web fonctionne et que les scripts PHP sont correctement interprétés. 
 +===== Installation via les dépôts =====
  
-[[:​tutoriel:​comment_installer_un_paquet#​paquet_present_dans_les_depots|Installer le paquet]] **[[apt://phpmyadmin|phpMyAdmin]]**.+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é. 
 +[[:​tutoriel:​comment_installer_un_paquet#​paquet_present_dans_les_depots|Installer le paquet]] **[[apt>phpmyadmin]]**.\\  
 +Soit en ligne de commande : 
 +<​code>​sudo apt install phpmyadmin</​code>​
  
-Lors de l'​installation,​ il vous sera demandé de préciser quelle version d'​Apache vous utilisez ​(théoriquement ​la plus récenteafin que ce dernier soit configuré ​pour s'adapter ​à 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
 +<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|}} 
 +  * Définir un mot de passe pour l'utilisateur MySQL phpmyadmin ​  : 
 +{{:​screenshot_20171028_112939.png|}} 
 +  * Indiquer le mot de passe de l'​utilisateur MySQL « root » tel que défini ​à l'​installation de mysql-server : 
 +{{:​screenshot_20171028_113015.png|}}
  
-Pour protéger phpMyAdmin, pensez à modifier le mot de passe d'​administration. Par défaut celui ci est vide. 
  
-<​code>​sudo htpasswd /​etc/​phpmyadmin/​htpasswd.setup admin</​code>​ 
  
 +phpMyAdmin devrait être accessible à l'​adresse http://​localhost/​phpmyadmin
  
-===== Utilisation =====+root
  
-phpMyAdmin est accessible à l'adresse ​[[http://localhost/phpmyadmin]].+==== 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>​
  
-Pour vous connecter, utilisez votre login / mot de passe utilisé avec [[mysql|MySQL]]. Si aucun nouvel utilisateur n'est créé, vous pouvez utiliser le compte ''​root''​ pour les créer : +[[:​apache2#​autres_commandes_utiles|Recharger la conf d'​apache (reload)]]
-  * Utilisateur : root +
-  * Mot de passe : celui que vous avez défini à l'​installation de MySQL+
  
 +==== 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
 +[[https://​www.phpmyadmin.net/​themes|thèmes]]
 +===== Problèmes courants =====
  
-===== Problèmes connus =====+==== Erreur 404 avec Apache ​====
  
-==== Page phpmyadmin ​non accessible ====+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//​.
  
-Il se peut que la page [[http://​localhost/​phpmyadmin]] ne soit pas accessible. Ce problème peut être du à une mauvaise configuration de votre serveur apache ou du paquet phpmyadmin. Après chacune des solutions suivantes, redémarrez le serveur apache avec cette ligne de commande:+Utilisez ​la commande suivante pour pouvoir répondre à nouveau aux questions ​: 
 +<​code>​sudo dpkg-reconfigure phpmyadmin<​/code>
  
-<code>sudo /etc/init.d/apache2 restart</code>+<note importante> 
 +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>
  
-Si le problème persiste, [[http://​forum.ubuntu-fr.org/​|le forum]] est à votre disposition. +==== Accès ​root ====
- +
-==== Fonctionnalités sur les tables reliées désactivées ==== +
- +
-Si vous avez le message d'​erreur suivant +
- +
-> Certaines fonctionnalités ayant trait aux tables reliées sont désactivées. Pour une analyse du problème, cliquez ici. +
- +
-  - [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] **/​etc/​phpmyadmin/​config.inc.php** ; +
-  - Cherchez la ligne <​file> ​   $cfg['​Servers'​][$i]['​designer_coords'​] = '​pma_designer_coords';</​file>​ +
-  - Ajoutez la ligne <​file> ​   $cfg['​Servers'​][$i]['​tracking'​] = '​pma_tracking';</​file>​ +
-  - Déconnectez puis reconnectez vous de phpMyAdmin. +
- +
-==== Impossible d'​ajouter un utilisateur ==== +
- +
-Si le compte ''​root''​ ne peut pas ajouter de nouveaux utilisateurs ou si vous obtenez un message d'​erreur similaire : +
- +
-> ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement +
- +
-Il est possible que vous ayez fait une installation incomplète ou partielle.  +
-  - [[:​tutoriel:​comment_supprimer_un_paquet|supprimez le paquet]] (et sa configuration) **mysql-server-5.1** ; +
-  - Redémarrez ; +
-  - Réinstallez [[:MySQL]] ; +
-  - Réinstallez phpMyAdmin. +
- +
-FIXME, ne disposant pas de connaissance MySQL avancé c'est la seule façon que j'ai trouvé pour résoudre. Si vous connaissez une solution moins radicale, veuillez remplacer ce que j'ai indiqué +
- +
- +
-==== Créer un lien vers phpmyadmin ==== +
- +
-Il se peut que l'​installation n'ait pas créé le lien symbolique permettant d'​accéder à phpmyadmin, il faut alors le créer manuellement : +
- +
-<​code>​sudo ln -s /​usr/​share/​phpmyadmin /​var/​www/​phpmyadmin</​code>​ +
- +
-==== Reconfigurer le paquet phpmyadmin ​==== +
- +
-Ouvrez un terminal, entrez +
- +
-<​code>​sudo dpkg-reconfigure phpmyadmin</​code>​+
  
-et veillez à sélectionner la version ​de votre serveur HTTP (apache2 normalement).+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.
  
-Il faut impérativement le faire en utilisant la barre d'espace avant de faire "​Enter"​sans quoi cela ne marche pas. +Si vous avez besoin ​d'un accès total à vos bases de données depuis un même comptela solution conseillée est donc de créer un nouvel utilisateur et de lui attribuer tous les privilèges : 
-Une astérisque apparait alors dans le rectangle rouge à  côté de "​apache2"​.+<​code>​ 
 +sudo mysql 
 +</​code>​ 
 +Puis dans la console MySQL : 
 +<code 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; 
 +</​code>​
  
-==== Paramétrez le serveur apache2 ====+En remplaçant évidemment //​nom_utilisateur_choisi//​ et //​mot_de_passe_solide//​ dans cette requête.
  
-Il se peut que l'installation du paquet phpMyAdmin n'ait pas inclus son en-tête ​de configuration ​pour le serveur apacheRajoutez ​la ligne nécessaire pour qu'il soit pris en compte :+<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>​ 
 +==== 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 à phpmyadminOuvrez 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 ====
  
-<​code>​sudo echo -e '​\n#​phpmyadmin\nInclude /​etc/​phpmyadmin/​apache.conf' >> /​etc/​apache2/​apache2.conf</​code>​+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.
  
-Redémarrez ​le serveur apache et [[http://localhost/phpmyadmin|réessayez]].+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 =====
  
 Pour supprimer cette application,​ il suffit de [[:​tutoriel:​comment_supprimer_un_paquet|supprimer son paquet]]. La configuration de l'​application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez. Pour supprimer cette application,​ il suffit de [[:​tutoriel:​comment_supprimer_un_paquet|supprimer son paquet]]. La configuration de l'​application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.
  
 +===== Alternative =====
 +[[https://​www.adminer.org/​|Adminer]]
  
 ===== Voir aussi ===== ===== Voir aussi =====
Ligne 116: 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...
  
-  * [[http://www.phpmyadmin.net/​localized_docs/​fr/​|Documentation complète en français]] **(fr)** ​; +  * [[https://docs.phpmyadmin.net/​fr/latest/​|Documentation complète en français]] **(fr)** 
-  * [[http://​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]]//​+//​Contributeurs : [[utilisateurs:​guigouz|Guigouz]],​ [[utilisateurs:​mcpeter|McPeter]], [[utilisateurs:​krodelabestiole]]//
  • phpmyadmin.1293359997.txt.gz
  • Dernière modification: Le 18/04/2011, 14:51
  • (modification externe)