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

2020/11/03 15:21 · php ·  · 0评论

嗨,我已经在centos机器上安装了phpmyadmin,当我尝试phpmyadmin通过浏览器访问时,出现此错误:

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

我的phpmyadmin.conf文件包含以下内容:

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

请帮助我解决此问题。任何线索表示赞赏。

谢谢

在我的CentOS 7服务器上,以上任何配置都不适合我。经过数小时的搜索,对我有用的是:

编辑文件phpMyAdmin.conf

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

并将现有<Directory> ... </Directory>节点替换为以下内容:

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

在CENTOS7上的全新安装中,我尝试了上述方法(编辑phpMyAdmin.conf并添加Require all grant),它仍然不起作用。解决方案如下:安装mod_php模块:

$ sudo yum install php

然后重新启动httpd:

$ sudo systemctl restart httpd

和瞧!

您需要执行以下步骤:

查找以下内容的行

Require ip 127.0.0.1

替换为您的工作站IP地址:

Require ip 10.1.3.53

再次找到以下行:

Allow from 127.0.0.1

替换为:

Allow from 10.1.3.53

还要deny from all在整个文件中找到并注释它。

保存并关闭文件。Restart Apache httpd server

# service httpd restart

编辑:由于这是选定的答案,并获得最佳可见性...请还请确保已安装PHP,否则会出现相同的Forbidden错误。

允许所有人:

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

编辑文件:sudo nano /etc/httpd/conf.d/phpMyAdmin.conf并用以下内容替换您的文件

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

重新启动Apache: service httpd restart

(phpMyAdmin v4.0.10.8)

首先编辑文件/etc/httpd/conf.d/phpMyAdmin.conf并将其他行添加到目录设置中:

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

如果您想允许所有人访问,则可以将其更改为:

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

允许在文件的所有部分。

重新启动(服务httpd重新启动)就足够了。

经过2天的严格研究(在此处查找),我发现了这一点,并为我工作了。

得票最多的答案存在的问题是它不能解释解决方案的原因。

对于这些行Require ip 127.0.0.1,您应该添加打算从浏览器访问phpMyAdmin的主机的IP地址。例如Require ip 192.168.0.100Require ip 127.0.0.1允许phpMyAdmin的本地主机访问。

进行更改后,重新启动apache(httpd)。我建议在localhost上进行测试,或使用curl之类的命令行工具对http GET进行测试,并且没有其他配置问题。

Centos 7的php安装附带安装并启用了ModSecurity软件包,该软件包阻止Web访问phpMyAdmin。在phpMyAdmin.conf的末尾,您应该找到

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

这为您提供了解决问题的方法。通过添加

    SecRuleEngine Off

在“目录/ usr / share / phpMyAdmin /”块中,可以解决对phpmyadmin的“拒绝访问”,但是可能会产生安全问题。

您可以简单地转到phpmyadmin.conf文件,将“全部拒绝”更改为“全部允许”。好,它对我有用,希望它也对您有用。

找到您的IP地址
,并将您看到的127.0.0.1替换为您从上面的链接获得的工作站IP地址。

. . .
Require ip your_workstation_IP_address
. . .
Allow from your_workstation_IP_address
. . .
Require ip your_workstation_IP_address
. . .
Allow from your_workstation_IP_address
. . .

最后不要忘了重启服务器

sudo systemctl restart httpd.service

至少使用最新版本的phpmyadmin 5.0.2+

检查实际安装是否正确完成,

我的已经被复制到Linux机器上的子文件夹中了,而不是放在

/usr/share/phpmyadmin/
本文地址:http://php.askforanswer.com/jinzhininwuquanfangwencifuwuqishangde-phpmyadmin.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!