我已经在 Centos7 上运行 apache 2.4.6 的服务器上安装了 phpMyAdmin,出现错误,因为您无权访问此服务器上的 /phpmyadmin。
我的服务器 ip 是62.210.xx.xx
我正在62.210.xx.xx/phpmyadmin/
从另一个 ip 远程浏览xx.xx.xx.xx
/etc/httpd/conf.d/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/">
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
Require ip 62.210.xx.xx
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
#Order Deny,Allow
#Allow from 127.0.0.1
#Allow from ::1
#Allow from 62.210.xx.xx
#Deny from All
Allow from All
</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
Require ip 62.210.xx.xx
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Allow from 127.0.0.1
Allow from ::1
Allow from 62.210.xx.xx
#Deny from All
#Allow from All
</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>
我已经添加了行Require ip 62.210.xx.xx
并Allow from 62.210.xx.xx
按照这里的其他问题所建议的,但它仍然不起作用。
请查看并建议任何可能的解决方法。
谢谢
更新它的工作Require all granted
,Require mylocalIP
但这不是我想要的,我只想允许我的服务器 ip62.210.xx.xx
或本地 ip 范围
答案1
我认为您需要查看主 Apache 配置,以查看其中对目录访问的任何限制。要查找的配置是:Order Deny,Allow Deny fromall
命令允许,拒绝所有允许
如果这不起作用,请检查文件系统上的权限。如果这不起作用,phpadmin 是否是指向其他地方的符号链接,该链接未包含在以下位置:Order Deny,Allow Deny fromall
命令允许,拒绝所有允许
HTH 科布斯
答案2
我找到了一种方法来让它工作这官方文档,因为我从本地 IP 浏览,所以我需要告诉 apache 我的本地 IP 范围。
添加了拨号连接的本地部分 IP 地址,如果您有专用 IP,请添加完整Require ip xxx.xx
IP 。xxx.xx
Require ip xxx.xxx.xxx.xxx
现在它正在工作。
我希望它也能帮助其他人。
答案3
我在 CentOS 7 VPS 中安装 PHPMyAdmin 时也遇到了同样的问题。我通过添加此行解决了该问题要求所有已授予在目录部分。下面是一个例子。
<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>
注意:将 IP 地址替换为 127.0.0.1