Подтвердить что ты не робот

Запрещено: у вас нет разрешения на доступ /phpmyadmin на этом сервере

Привет, я установил 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>

Пожалуйста, помогите мне решить эту проблему. Любое преимущество оценивается.

Спасибо

4b9b3361

Ответ 1

Вам необходимо выполнить следующие шаги:

Найдите строку, которая читается следующим образом

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.

Ответ 2

Ни одна из вышеперечисленных конфигураций не работала для меня на моем сервере 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>

Ответ 3

В новой установке на CENTOS7 я попробовал вышеуказанные методы (отредактировал phpMyAdmin.conf и добавил Требовать все предоставленные), он все еще не работает. Вот решение: установите модуль mod_php:

$ sudo yum install php

затем перезапустите httpd:

$ sudo systemctl restart httpd

и вуаля!

Ответ 4

Отредактируйте файл: 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)

Ответ 5

Чтобы разрешить все:

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

Ответ 6

Проблема с ответом с большинством голосов - это не объясняет аргументы в пользу решения.

Для строк Require ip 127.0.0.1 вместо этого вы должны добавить IP-адрес хоста, который планирует получить доступ к phpMyAdmin из браузера. Например Require ip 192.168.0.100. Require ip 127.0.0.1 позволяет localhost доступ к phpMyAdmin.

Перезапустите apache (httpd) после внесения изменений. Я бы предложил тестирование на localhost или использовать инструменты командной строки, такие как curl, чтобы работать с HTTP GET, и нет другой проблемы с конфигурацией.

Ответ 7

Сначала отредактируйте файл /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>

Разрешить во всех разделах файла.

Для перезагрузки достаточно перезагрузки (service httpd restart).

Я нашел это после двухдневного тщательного исследования (найти здесь) и работал как раз для меня.

Ответ 8

Вы можете просто перейти в файл phpmyadmin.conf и изменить "deny from all" на "allow from all". Ну, это сработало для меня, надеюсь, что это сработает и для вас.

Ответ 9

Установка php Centos 7 поставляется с установленным и включенным пакетом ModSecurity, который запрещает веб-доступ к 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

в блоке "Directory/usr/share/phpMyAdmin/" вы можете решить "отказ в доступе" к phpmyadmin, но у вас могут возникнуть проблемы с безопасностью.

Ответ 10

Найдите свой 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