web-dev-qa-db-fra.com

Interdit: vous n'avez pas la permission d'accéder à / phpmyadmin sur ce serveur

Bonjour, j'ai installé phpmyadmin sur ma machine centos et lorsque j'essaie de frapper phpmyadmin via mon navigateur, j'obtiens cette erreur:

Forbidden
You don't have permission to access `phpmyadmin` on this server.

Mon fichier phpmyadmin.conf a le contenu suivant:

# 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>

Aidez-moi à résoudre ce problème. Toute avance est appréciée.

Merci

55
Megha Sharma

Vous devez suivre les étapes suivantes:

Trouvez la ligne qui suit

Require ip 127.0.0.1

Remplacez par l'adresse IP de votre poste de travail:

Require ip 10.1.3.53

Encore une fois, trouvez la ligne suivante:

Allow from 127.0.0.1

Remplacez comme suit:

Allow from 10.1.3.53

Recherchez également deny from all et commentez-le dans l'ensemble du fichier.

Enregistrez et fermez le fichier .Restart Apache httpd server:

# service httpd restart
31
Megha Sharma

Aucune des configurations ci-dessus n'a fonctionné pour moi sur mon serveur CentOS 7. Après des heures de recherche, voilà ce qui a fonctionné pour moi:

Editer le fichier phpMyAdmin.conf

Sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

Et remplacez ceci en haut:

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       #Require ip 127.0.0.1
       #Require ip ::1
       Require all granted
     </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>
94
Hyder B.

Sur une nouvelle installation sur CENTOS7, j’ai essayé les méthodes ci-dessus (éditez phpMyAdmin.conf et ajoutez Require tout accordé), cela ne fonctionne toujours pas. Voici la solution: installez le module mod_php:

$ Sudo yum install php

puis redémarrez httpd:

$ Sudo systemctl restart httpd

et le tour est joué!

38
Edouard Thiel

Editez le fichier: Sudo nano /etc/httpd/conf.d/phpMyAdmin.conf et remplacez le vôtre par ce qui suit:

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8
   <IfModule mod_authz_core.c>
     # Apache 2.4
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
   </IfModule>
</Directory>

Redémarrez Apache: service httpd restart

(phpMyAdmin v4.0.10.8)

6
emotality

Permettre à tous:

#Require ip 127.0.0.1
#Require ip ::1
Require all granted
3
wrr

Le problème avec la réponse avec le plus de votes est qu'il n'explique pas le raisonnement de la solution.

Pour les lignes Require ip 127.0.0.1, vous devez plutôt ajouter l'adresse IP de l'hôte qui prévoit d'accéder à phpMyAdmin à partir d'un navigateur. Par exemple, Require ip 192.168.0.100. Le Require ip 127.0.0.1 permet à l'hôte local d'accéder à phpMyAdmin.

Redémarrez Apache (httpd) après avoir apporté des modifications. Je suggérerais de tester sur localhost, ou d'utiliser des outils en ligne de commande tels que curl to très GET http fonctionne, et il n'y a pas d'autre problème de configuration.

3
Alvin Bunk

Commencez par éditer le fichier /etc/httpd/conf.d/phpMyAdmin.conf et ajoutez la ligne supplémentaire aux paramètres du répertoire:

<Directory /usr/share/phpMyAdmin/>
order deny,allow
deny from all
allow from 127.0.0.1
allow from 192.168.1.0/15
</Directory>

Si vous voulez autoriser l'accès à tout le monde, vous pouvez simplement le changer en:

<Directory /usr/share/phpMyAdmin/>
order allow,deny
allow from all
</Directory>

Autoriser dans toutes les sections du fichier.

Un redémarrage (service httpd restart) suffit pour le détecter.

J'ai trouvé ceci après 2 jours de recherches rigoureuses, (trouvez-le ici ) et a travaillé juste pour moi.

2
Syed Zuber

L'installation php de Centos 7 est fournie avec le paquet ModSecurity installé et activé, ce qui empêche tout accès Web à phpMyAdmin. À la fin de phpMyAdmin.conf, vous devriez trouver

# 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>

ce qui vous donne la réponse au problème. En ajoutant

    SecRuleEngine Off

dans le bloc "Répertoire/usr/share/phpMyAdmin /", vous pouvez résoudre le problème de l'accès refusé à phpmyadmin, mais vous pouvez créer des problèmes de sécurité.

0
Laurent Mortier

Vous pouvez simplement aller dans le fichier phpmyadmin.conf et changer "refuser à tous" pour "autoriser à tous". Eh bien, cela a fonctionné pour moi, j'espère que cela fonctionnera pour vous aussi.

0
manvendra dubey