phpMyAdmin + CentOS 6.0 - запрещено - PullRequest
       19

phpMyAdmin + CentOS 6.0 - запрещено

22 голосов
/ 21 сентября 2011

Я всегда получаю это сообщение, когда мне нужен доступ к моему 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

Ответы [ 7 ]

31 голосов
/ 26 сентября 2011

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

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

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

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

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

# service httpd restart

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

28 голосов
/ 30 марта 2015

На моем сервере 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>
7 голосов
/ 28 апреля 2015

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

Я наконец нашел то, что мне не хватало в посте Эдуарда Тиля здесь :

$ yum install php

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

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

$ systemctl restart httpd => для centos 7 hosts

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

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

3 голосов
/ 24 июля 2012

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

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

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

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

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

  3. Теперь выполните поиск всех файлов в каталоге phpmyadmin, выполнив:

    chron -Rv --type=httpd_sys_content_t phpmyadmin/*
    

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

0 голосов
/ 07 октября 2017

Я столкнулся с той же проблемой, когда записывал 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>
0 голосов
/ 25 января 2016

Ни одно из вышеперечисленных решений не помогло мне.Вот что наконец сработало:

#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
0 голосов
/ 05 марта 2012

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

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

display_errors = Off

до

display_errors = On

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

...