phpmyadmin - 禁止 - 您无权访问此服务器上的/ phpmyadmin /

时间:2017-03-18 13:34:11

标签: mysql apache phpmyadmin centos

我之前已经多次询问过这个问题,但所有答案看起来都是一样的,而且没有一个对我有用。

我想从localhost之外的其他东西访问phpmyadmin GUI。

我收到错误"禁止 - 您无权访问此服务器上的/ phpmyadmin /。"在浏览器中。

我使用的是CentOS7,Apache 2.4.6和phpMyAdmin-4.4.15.10-1.el7。

我试过这个:

<Directory /usr/share/phpMyAdmin/>
  Order Allow,deny
  Allow from all
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
  Order Allow,deny
  Allow from all
</Directory>

大多数人似乎都建议我可以这样做:

<IfModule mod_authz_core.c>
    # Apache 2.4
    <RequireAny>
        Require all granted
    </RequireAny>
</IfModule>

或者:

<IfModule mod_authz_core.c>
    # Apache 2.4
    <RequireAny>
        Require ip 192.168.1.6
    </RequireAny>
</IfModule>

但这一切都无效。

这是当前状态:

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

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 192.168.1.6
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Allow,Deny
     Allow from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

仍在:

  

禁止

     

您无权访问此服务器上的/ phpmyadmin /。

编辑 -

正如附加信息一样,我已禁用SELinux并确保/ usr / share / phpMyAdmin上的权限正确无误。

再次编辑 -

我现在试过这个......

<Directory /usr/share/phpMyAdmin/>
        Require all granted
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
        Require all granted
</Directory>

这肯定是基本的,但我仍然得到错误?

2 个答案:

答案 0 :(得分:3)

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

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
         Require all granted
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Allow,Deny
     Allow from All
   </IfModule>
</Directory>

答案 1 :(得分:0)

最终让这个工作。一次出现了一些问题,这妨碍了对主要问题进行故障排除......

首先,编辑phpMyAdmin.conf ...

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

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
         Require ip 192.168.1.6
     </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>

OR

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

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
         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>

您还需要确保/ usr / share / phpMyAdmin不仅可读,而且可以为Apache用户执行。我只是递归地将它修改为777。

您还需要将以下内容添加到/etc/httpd/conf/httpd.conf中:

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

检查/ var / log / httpd / error_log以查看每一步的特定错误。