Привет, я установил phpmyadmin на мою машину centos, и когда я пытаюсь нажать 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 /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>
Вам необходимо выполнить следующие шаги:
Найдите строку, которую следует читать
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
При новой установке на CENTOS7 я попробовал вышеуказанные методы (отредактируйте phpMyAdmin.conf и добавьте Требовать все предоставленные), он все еще не работает. Вот решение: установите модуль mod_php:
$ sudo yum install php
затем перезапустите httpd:
$ sudo systemctl restart httpd
и вуаля!
Отредактируйте файл: 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)
Проблема с ответом с большинством голосов – это не объясняет аргументацию решения.
Для строк Require ip 127.0.0.1
вместо этого следует добавить IP-адрес хоста, который планирует получить доступ к phpMyAdmin из браузера. Например Require ip 192.168.0.100
. Require ip 127.0.0.1
позволяет локальному доступу к phpMyAdmin.
Перезапустите apache (httpd) после внесения изменений. Я бы предложил тестирование на localhost или с помощью инструментов командной строки, таких как curl, чтобы работать с HTTP GET, и нет другой проблемы с конфигурацией.
Сначала отредактируйте файл /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 restart) достаточно, чтобы забрать это.
Я нашел это после 2-х дней тщательного исследования (найти его здесь ) и работал только для меня.
Вы можете просто перейти в файл phpmyadmin.conf и изменить «deny from all» на «allow from all». Ну, это сработало для меня, надеюсь, что это сработает и для вас.
Чтобы разрешить всем:
#Require ip 127.0.0.1 #Require ip ::1 Require all granted