У вас нет разрешения на доступ / на этом сервере

У меня есть сервер CentOS 6.1, и я установил на нем apache 2.2.15. Теперь, когда я пытаюсь получить доступ к нему с другого ПК (windows 7) из IE (http:/// (=centos ip)) я получаю "у вас нет разрешения на доступ / на этом сервере." ошибка. Я даже создал phpinfo.php-файл с содержимым "" на "var/www/html" и при попытке доступа к нему с помощью "http://* / phpinfo.php " в IE я не нашел ошибку. Что мне делать? мой файл httpd.conf для directiry выглядит так:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

11 ответов


изменить httpd.conf, который находится в /etc/httpd/conf/httpd.conf. Добавьте код ниже.

<Directory "/">
#Options FollowSymLinks
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride None
Allow from all
</Directory>

<Directory "/home/">
 #Options FollowSymLinks
 Options Indexes FollowSymLinks Includes ExecCGI
 AllowOverride None
 Allow from all
</Directory>

после строки нет. 555 (в моем случае) . Проверьте права доступа к файлам и перезапустите сервер.

service httpd restart   

теперь, это будет работать . Тем не менее, вы столкнулись с той же проблемой, отключите seLinux на /etc/selinux/config изменить SELINUX=disabled и перезагрузите сервер, как указано выше,и попробуйте.

надеюсь, что это помогает


проверьте права доступа к файлам /var/www / html и директивы ALLOW в apache conf

убедитесь, что все файлы читаются веб-сервером, а директива allow похожа на

 <Directory "/var/www/html">
    Order allow,deny
    Allow from all
  </Directory>

Если вы видите файлы, рассмотрите сортировку директивы как более ограничительную


установите SELinux в разрешительном режиме, используя следующую команду:

setenforce 0;

Fist проверьте, что apache работает. service httpd restart для перезагрузки

CentOS 6 поставляется с активированным SELinux, поэтому либо измените политику, либо отключите ее, отредактировав /etc/sysconfig/selinux задание SELINUX=disabled. Затем перезапустите

затем проверьте локально (из centos), работает ли apache.


попробуйте использовать следующие: chmod +rx / home/*


создать index.html или в корневом каталоге (в вашем случае - /var/www/html, как упоминал @jabaldonedo)


щелкните правой кнопкой мыши папку www и выберите Свойства. Перейдите к разрешениям и измените все, чтобы читать и писать, затем нажмите"применить разрешение к вложенным файлам" и Ваши сделали!! Может быть, слишком поздно, но это определенно поможет другому человеку


проверьте настройки пользователя и группы apache в httpd.conf. По умолчанию он должен быть apache на AMI / RedHat или www-data на Debian.

grep '^Group\|^User' /etc/httpd/conf/httpd.conf

затем добавьте пользователя apache в групповую настройку корневого каталога Вашего сайта.

sudo usermod -a -G <your-site-root-dir-group> apache

если вы установите SELinux в разрешающий режим (команда setenforce 0) и он работает (работал для меня), то вы можете запустить restorecon (sudo restorecon -Rv /var/www/html/), которые устанавливают правильный контекст для файлов в каталоге Apache постоянно, потому что setenforce является временным. Контекст для Apache httpd_sys_content_t и вы можете проверить это, выполнив команду ls -Z /var/www/html/, который выводит что-то вроде:

-rwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 index.html

в случае, если файл не имеет правильного контекста, появится что - то вроде это:

drwxr-xr-x. root root unconfined_u:object_r:user_home_t:s0 tests

надеюсь, что это может помочь вам.

PD: извините мой английский


попробуйте отредактировать httpd.conf

<Directory "/usr/local/www/apache24/cgi-bin">
  Options Indexes FollowSymLinks Includes ExecCGI
  Require all granted
</Directory> 

установить требуемые все предоставленные в /etc/httpd/conf / httpd.conf