Différences
Ci-dessous, les différences entre deux révisions de la page.
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écente) afin 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 compte, la 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 apache. Rajoutez 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 à 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 ==== | ||
- | <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]]// |