Веб-сервер Apache является одним из самых популярных и широко используемых веб-серверов с открытым исходным кодом благодаря своей стабильности и надежности. Этот веб-сервер занимает огромный рынок, особенно на платформах веб-хостинга.
Как бы то ни было, после установки сайта вы можете получить в браузере ошибку «Forbidden – You don’t have permission to access / on this server». Это довольно распространенная ошибка, и многие пользователи сталкивались с ней при тестировании своего сайта. Так что же это за ошибка?
Демистификация ошибки Forbidden Error
Также называемая 403 Forbidden error, ошибка Apache „Forbidden Error“ – это ошибка, которая отображается на веб-странице, когда вы пытаетесь получить доступ к веб-сайту, который ограничен или запрещен. Обычно она выводится на экран браузера, как показано на рисунке.
Дополнительно ошибка может проявляться в браузере несколькими способами, как показано ниже:
- HTTP Error 403 – Forbidden
- Forbidden: You don’t have permission to access [directory] on this server
- 403 Forbidden
- Access Denied You don’t have permission to access
- 403 forbidden requests prohibited by administrative rules
Что же вызывает такие ошибки?
Ошибка „403 Forbidden Error“ возникает по следующим основным причинам:
1. Неправильные разрешения на файлы/каталоги
Эта ошибка может возникать из-за неправильных разрешений на файлы/папки в каталоге webroot. Если стандартные права доступа к файлам не настроены таким образом, чтобы предоставить пользователям доступ к файлам сайта, то вероятность появления этой ошибки в браузере очень высока.
2. Неправильная настройка конфигурационных файлов Apache
Эта ошибка также может быть связана с неправильной настройкой одного из конфигурационных файлов Apache. Это может быть некорректно включенный параметр или отсутствие директив в конфигурационном файле.
Устранение ошибки 403 Forbidden Error
Если вы столкнулись с этой ошибкой, вот несколько шагов, которые вы можете предпринять для ее устранения.
1. Настроить права доступа к файлам & Владение каталогом Webroot
Известно, что неправильные разрешения на файлы и владение каталогом ограничивают доступ к файлам сайта. Поэтому, во-первых, назначьте права доступа к файлам рекурсивно до каталога webroot, как показано на рисунке.
Каталог webroot всегда должен иметь права на выполнение, а файл index.html
– только чтение.
cd /path/to/webroot/directory $ sudo find . -type d -exec chmod 755 {} \; sudo find . -type f -exec chmod 644 {} \;
Приведенная выше команда find используется для поиска всех каталогов (папок) и файлов внутри текущего каталога (.)
и установки для них прав доступа 755 (каталоги) и 644 (файлы).
Дополнительно установите права собственности на файлы и каталоги для конкретного пользователя (tecmint) и группы www-data
или apache
с помощью команды chown, как показано на рисунке.
sudo chown -R tecmint:apache .
Затем перезагрузите или перезапустите веб-сервер Apache, чтобы изменения вступили в силу.
sudo systemctl restart apache2
или
sudo systemctl restart httpd
Если это не решило проблему, перейдите к следующему шагу:
2. Отрегулируйте директивы в главном конфигурационном файле Apache
Если вы работаете в Linux на базе Debian, то в главном конфигурационном файле Apache /etc/apache2/apache2.conf
убедитесь, что у вас есть такой блок кода:
<Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> <Directory /usr/share> AllowOverride None Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
Сохраните и выйдите, а затем перезапустите Apache.
Если вы используете Apache в дистрибутивах на базе RHEL / CentOS, убедитесь, что у вас нет доступа к директории /var/www
в /etc/httpd/conf/httpd.conf
основного файла конфигурации Apache.
<Directory "/var/www"> AllowOverride None Require all granted </Directory>
Затем сохраните все изменения и перезагрузите Apache.
sudo systemctl reload apache2
или
sudo systemctl reload httpd
Комментарии (0)