Apache Linux

Apache: 403 Forbidden — Require all granted

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

Краткий ответ

Добавьте Require all granted и проверьте права на каталог.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Журнал и директива
  5. Права файловой системы
  6. SELinux и .htaccess

#Что означает ошибка

Сообщение
403

Ошибка 403 Forbidden в Apache при строке AH01630: client denied by server configuration почти всегда связана с директивой Require в конфигурации Apache 2.4 или с правами файловой системы.

В Apache 2.2 использовалось Order allow,deny, в 2.4 — Require all granted. Старые конфигурации после обновления начинают отдавать 403.

Журнал ошибок точно указывает причину, поэтому начните с него.

Добавьте Require all granted и проверьте права на каталог.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Нет RequireApache 2.4.Проявляется как «403» или близкий по смыслу сбой.Добавьте.
ПраваКаталог.Проявляется как «403» или близкий по смыслу сбой.Выдайте.
AllowOverride.htaccess.Проявляется как «403» или близкий по смыслу сбой.Включите.
SELinuxКонтекст.Проявляется как «403» или близкий по смыслу сбой.Настройте.

#Пошаговое решение

  1. Прочитайте журнал ошибокВ терминале сервера найдите конкретную строку 403 в error.log Apache и текст отказа AH01630/Permission denied; на Debian путь часто /var/log/apache2/error.log, на RHEL — /var/log/httpd/error_log. Сопоставьте с запрошенным URL и IP клиента, поскольку правило доступа может намеренно закрывать этот путь.
  2. Проверьте директиву RequireВыполните apachectl -S, откройте виртуальный хост нужного сайта и применяемый к фактическому каталогу блок <Directory>. Require all granted уместно только в публичном корне сайта и только если нет требований авторизации; если в конфигурации стоит Require ip, проверьте разрешённые адреса вместо глобального открытия доступа.
  3. Проверьте праваПри сообщении о файловых правах выполните namei -l /фактический/путь/index.php и сравните разрешения каждого каталога с пользователем Apache. Не выполняйте массовые chmod/chown; исправляйте конкретное препятствие после сохранения прежнего владельца и оценки влияния на загрузки и секретные конфиги.
  4. Проверьте SELinuxНа системах SELinux проверьте getenforce, ls -Z /путь/сайта и журнал аудита на момент отказа. Если выявлен неправильный контекст, примените штатную настройку semanage fcontext и restorecon для нужного дерева. Не отключайте SELinux и не меняйте контексты до подтверждения причины.
  5. Проверьте и перезагрузите конфигурациюСохраните копию конфигурации, выполните sudo apachectl configtest, при Syntax OK — sudo systemctl reload apache2 на Debian либо httpd на RHEL. В браузере повторите запрос к публичному URL и отдельно проверьте закрытые каталоги, которые должны оставаться недоступными.

#Журнал и директива

Откройте журнал: sudo tail -n 30 /var/log/apache2/error.log (CentOS: /var/log/httpd/error_log). Для каталога задайте: <Directory /var/www/site>\n Options -Indexes +FollowSymLinks\n AllowOverride All\n Require all granted\n</Directory>. Проверьте, что в apache2.conf корневой каталог / не открыт, а ваш каталог разрешён.

#Права файловой системы

Apache должен иметь право входить во все родительские каталоги. Проверьте: namei -l /var/www/site/index.html. Нужен бит x на каждом каталоге пути и r на файлах. Исправление: sudo chown -R www-data:www-data /var/www/site, find /var/www/site -type d -exec chmod 755 {} \;, find /var/www/site -type f -exec chmod 644 {} \;.

#SELinux и .htaccess

На CentOS/RHEL проверьте SELinux: ls -Z /var/www/site, при необходимости sudo chcon -R -t httpd_sys_content_t /var/www/site. Если нет index.html, а листинг запрещён, будет 403: добавьте индексный файл или DirectoryIndex index.php. Проверьте .htaccess: правила Deny from all, Require all denied и блокировки по IP.

Linux · Терминал (Bash)КомандаНужен sudo
Диагностика причин 403.
sudo tail -n 30 /var/log/apache2/error.log
namei -l /var/www/site/index.html
sudo apachectl configtest

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.