Я установил phpMyAdmin на свой сервер с apache 2.4.6 на Centos7, я получаю сообщение об ошибке, поскольку у вас нет разрешения на доступ к / 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
но это не то, что я хочу разрешить с моего IP-адреса сервера 62.210.xx.xx
или только локальный диапазон IP
Я нашел способ заставить его работать, следуя этот официальный документ, поскольку я просматриваю с локального IP-адреса, мне нужно сообщить apache мой локальный диапазон IP-адресов.
добавлено Require ip xxx.xx
где xxx.xx
мой локальный частичный IP-адрес для коммутируемого соединения, если у вас есть выделенный IP-адрес, добавьте полный IP-адрес Require ip xxx.xxx.xxx.xxx
.
И теперь он работает.
Надеюсь, это поможет и другим.
Я думаю, вам нужно будет взглянуть на основную конфигурацию apache, чтобы увидеть какие-либо ограничения на доступ к каталогам. Конфигурация, которую нужно искать, будет выглядеть следующим образом: Запретить заказ, разрешить запретить со всех
Заказ разрешить, запретить разрешить от всех
Если это не работает, проверьте разрешения в файловой системе. Если это не работает, является ли phpadmin символической ссылкой на что-то еще, что не охвачено: Order deny, allow Deny fromall
Заказ разрешить, запретить разрешить от всех
HTH Kobus
Я также столкнулся с той же проблемой, когда установил PHPMyAdmin на свой CentOS 7 VPS. Я исправил проблему, добавив эту строку Требовать все предоставлено в разделе каталога. Ниже приведен пример.
<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.