У вас нет разрешения на доступ / на этом сервере
У меня есть сервер 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>
Если вы видите файлы, рассмотрите сортировку директивы как более ограничительную
Fist проверьте, что apache работает. service httpd restart
для перезагрузки
CentOS 6 поставляется с активированным SELinux, поэтому либо измените политику, либо отключите ее, отредактировав /etc/sysconfig/selinux
задание SELINUX=disabled
. Затем перезапустите
затем проверьте локально (из centos), работает ли apache.
создать 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>