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

PhpMyAdmin + CentOS 6.0 - Запрещено

Я всегда получаю это сообщение, когда мне бы хотелось получить доступ к моему phpMyAdmin.

w3m localhost/phpmyadmin

Forbidden

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

Apache/2.2.15 (CentOS) Server at localhost Port 80

Установите шаги:

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2- 2.el6.rf.x86_64.rpm
yum install phpmyadmin

Добавить псевдонимы

vi /etc/httpd/conf.d/phpmyadmin.conf
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin

Изменить с cookie на http

vi /usr/share/phpmyadmin/config.inc.php
[...]
 /* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

Перезагрузка

/etc/init.d/httpd restart

SELinux -/etc/httpd

drwxr-xr-x. root root system_u:object_r:httpd_config_t:s0 .
drwxr-xr-x. root root system_u:object_r:etc_t:s0       ..
drwxr-xr-x. root root system_u:object_r:httpd_config_t:s0 conf
drwxr-xr-x. root root system_u:object_r:httpd_config_t:s0 conf.d
lrwxrwxrwx. root root system_u:object_r:httpd_log_t:s0 logs -> ../../var/log/httpd
lrwxrwxrwx. root root system_u:object_r:httpd_modules_t:s0 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. root root system_u:object_r:httpd_config_t:s0 run -> ../../var/run/httpd

SELinux -/usr/share/phpmyadmin

drwxr-xr-x. root root   system_u:object_r:usr_t:s0       .
drwxr-xr-x. root root   system_u:object_r:usr_t:s0       ..
-rw-r--r--. root root   system_u:object_r:usr_t:s0       browse_foreigners.php
-rw-r--r--. root root   system_u:object_r:usr_t:s0       calendar.php
-rw-r--r--. root root   system_u:object_r:usr_t:s0       changelog.php
-rw-r--r--. root root   system_u:object_r:usr_t:s0       chk_rel.phph
.
.
.
-rw-r--r--. root root   system_u:object_r:usr_t:s0       view_create.php

ОС

centos-release-6-0.el6.centos.5.x86_64
4b9b3361

Ответ 1

Измените файл httpd.conf следующим образом:

# nano /etc/httpd/conf/httpd.conf

Добавьте сюда следующие строки:

<Directory "/usr/share/phpmyadmin">
    Order allow,deny
    Allow from all
</Directory>

Выполните следующую команду:

# service httpd restart

Если ваша проблема не решена, отключите SELinux.

Ответ 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

Я попробовал все предоставленные здесь ответы: редактирование phpMyAdmin.conf, изменение контекста selinux для папки phpmyadmin, отключение selinux... но у меня все еще есть "Запрещено" с веб-сервера.

Наконец-то я нашел то, чего не хватало в сообщении Эдуарда Тиля здесь:

$ yum install php

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

$ service httpd restart = > для centos 6 hots

$ systemctl restart httpd = > для хостов centos 7

Что меня поразило, почему php не устанавливается в качестве зависимости для phpmyadmin в первую очередь.

С уважением, Фред

Ответ 4

У меня была такая же проблема в течение двух дней. Отключено SELinux и все, но ничего не помогло. И я понимаю, что просто не может быть умным, чтобы отключить защиту для небольшого исправления. Затем я пришел к этой статье - http://wiki.centos.org/HowTos/SELinux/, которая объясняет, как работает SELinux. Так вот что я сделал, и это устранило мою проблему.

  • Включите доступ к основному каталогу phpmyadmin, перейдя в родительский каталог phpmyadmin (мой был html) и набрав:

    chcon -v --type=httpd_sys_content_t phpmyadmin
    
  • Теперь сделаем то же самое для index.php, набрав:

    chcon -v --type=httpd_sys_content_t phpmyadmin/index.php
    

    Теперь вернитесь и проверьте, получаете ли вы пустую страницу. Если да, то вы на правильном пути. Если нет, вернитесь и проверьте настройки каталога httpd.config. Как только вы получите пустую страницу без предупреждений, продолжайте.

  • Теперь перезагрузите все файлы в вашем каталоге phpmyadmin, запустив:

    chron -Rv --type=httpd_sys_content_t phpmyadmin/*
    

Вернитесь на страницу phpmyadmin и посмотрите, видите ли вы то, что вам нужно. Если вы используете веб-сервер, доступный извне вашей сети, убедитесь, что вы reset ваш SELinux на должном уровне безопасности. Надеюсь, это поможет!

Ответ 5

Не все вышеупомянутые решения работали для меня. Ниже приведен итог:

#yum update
#yum install phpmyadmin

Обратите внимание, что phpmyadmin работал несколько часов назад. Я не знаю, что произошло.

После этого, перейдя в браузер, я получил сообщение об ошибке ./config.inic.php can't be accessed

#cd /usr/share/phpmyadmin/
#stat -c %a config.inic.php
#640
#chmod 644 config.inic.php

Это показывает, что права доступа к файлам были 640, а затем я изменил их на 644. В конце концов, это сработало.

Не забудьте перезапустить httpd.

#service httpd restart

Ответ 6

У меня возникла та же проблема, когда я наклеил URL-адрес

https://www.nameDomain.com/phpmyadmin

появляется запрещенное сообщение из-за правил в каталоге /use/share/phpMyAdmin Я исправлю это, добавив в этот файл /etc/httpd/conf.d/phpMyAdmin.conf в этом разделе

<Directory /usr/share/phpMyAdmin/>
    ....
</Directory>

эта строка правил

<Directory /usr/share/phpMyAdmin/>
   Order Deny,Allow
   Deny from All
   Allow from 127.0.0.1
   Allow from ::1
   Allow from All
   ...
</Directory>

вы сохраняете файл, затем перезапускаете службу apache независимо от выбранного метода service httpd graceful или service httpd restart, это зависит от вашей политики

по соображениям безопасности вы можете указать одно соединение, установив один IP-адрес, если ваш IP-адрес не изменится, иначе если ваш IP-адрес будет изменяться каждый раз, когда вы также должны его изменить.

<Directory /usr/share/phpMyAdmin/>
   Order Deny,Allow
   Deny from All
   Allow from 127.0.0.1
   Allow from ::1
   Allow from 105.105.105.254 ## set here your IP address
   ...
</Directory>

Ответ 7

У меня была такая же проблема.

Только после того, как я изменил в переменной php.ini

display_errors = Выкл.

to

display_errors = On

Phpadmin начал работать.. сумасшедший....