Je dois modifier le fichier /etc/httpd/conf.d/phpMyAdmin.conf
in afin de permettre aux utilisateurs distants (pas seulement localhost) de se connecter.
# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /usr/share/phpMyAdmin/libraries/>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
<Directory /usr/share/phpMyAdmin/setup/lib/>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
<Directory /usr/share/phpMyAdmin/setup/frames/>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc. This may break your mod_security implementation.
#
#<IfModule mod_security.c>
# <Directory /usr/share/phpMyAdmin/>
# SecRuleInheritance Off
# </Directory>
#</IfModule>
Les autres réponses suggèrent jusqu'à présent de préconiser le remplacement complet du bloc <Directory />, ce n'est pas nécessaire et peut supprimer des paramètres supplémentaires tels que "AddDefaultCharset UTF-8" maintenant inclus.
Pour autoriser l'accès à distance, vous devez ajouter une ligne au bloc de configuration 2.4 ou modifier deux lignes dans la version 2.2 (selon votre version d'Apache):
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#ADD following line:
Require all granted
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
#CHANGE following 2 lines:
Order Allow,Deny
Allow from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
utilisez ceci, il a été réparé pour moi, plus de centOS 7
<Directory /usr/share/phpMyAdmin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require all granted
</Directory>
Remplacez le contenu de la première balise <directory>
.
Retirer:
<Directory /usr/share/phpMyAdmin/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
Et place ceci à la place:
<Directory /usr/share/phpMyAdmin/>
Order allow,deny
Allow from all
</Directory>
N'oubliez pas de redémarrer Apache après.
Essaye ça
Remplacer
<Directory /usr/share/phpMyAdmin/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
Avec ça:
<Directory "/usr/share/phpMyAdmin/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order Allow,Deny
Allow from all
</Directory>
Ajoutez la ligne suivante pour faciliter l'accès:
Alias /phpmyadmin /usr/share/phpMyAdmin
Ma configuration était un peu différente avec XAMPP. dans httpd-xampp.conf je devais apporter le changement suivant.
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
changer à
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig
#makes it so I can config the database from anywhere
#change the line below
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
Je dois affirmer que je suis nouveau dans ce domaine, alors je me débrouille, mais c'est comme ça que je l'ai fait fonctionner.
Ma réponse est basée sur l'obtention d'une erreur 403 bien que tous les paramètres Apache mentionnés dans les autres réponses soient corrects.
C'était un nouveau serveur Centos 7 et il s'est avéré que le problème ne concernait pas les paramètres Apache, mais le fait que PhpMyAdmin ne servait pas du tout. La solution consistait à installer php et à ajouter la directive php à Apache.conf:
N'oubliez pas de redémarrer le serveur Apache pour qu'il prenne effet - systemctl redémarrer httpd.service
J'espère que ça aide. J'ai d'abord pensé que mon problème était lié aux directives Apache. Je publie ici ma solution.
Il suffit de commenter toutes les lignes du premier répertoire. Vous pouvez également supprimer ces lignes, mais il est préférable de ne pas commenter au cas où vous souhaiteriez ajouter des restrictions ultérieurement.
#<Directory /usr/share/phpMyAdmin/>
# <IfModule mod_authz_core.c>
# # Apache 2.4
# <RequireAny>
# Require ip 127.0.0.1
# Require ip ::1
# </RequireAny>
# </IfModule>
# <IfModule !mod_authz_core.c>
# # Apache 2.2
# Order Deny,Allow
# Deny from All
# Allow from 127.0.0.1
# Allow from ::1
# </IfModule>
#</Directory>