Apache Error AH00526: Syntax error on line in site.conf — Решение
Служба Apache отказывается перезагружать конфигурацию или падает при старте. В выводе консоли или systemctl status apache2 фиксируется ошибка синтаксического анализатора виртуального хоста: AH00526: Syntax error on line 14 of /etc/apache2/sites-enabled/site.conf: Invalid command 'SSLCertificateFile', perhaps misspelled or defined by a module not included in the server configuration.
| Сбойная директива | Типичная ошибка | Причина отказа парсера |
|---|---|---|
SSLCertificateFile | Модуль mod_ssl отключен | Apache не знает SSL-директивы без a2enmod ssl |
RewriteEngine On | Модуль mod_rewrite отключен | Не подгружен rewrite.load |
Require ip ... | Опечатка в CIDR маске | Неверный формат IP-адреса в директиве авторизации |
ProxyPass | Модуль mod_proxy отключен | Отсутствуют прокси-библиотеки в рантайме |
- Команда
apache2ctl configtestилиhttpd -tзавершается со статусомAction 'configtest' failed. - Ни один виртуальный хост на сервере не обновляется до исправления ошибки.
- Выполните проверку конфигурации для получения точного номера строки и причины сбоя:
sudo apache2ctl configtest # Для CentOS/RHEL: sudo httpd -t - Откройте указанный файл виртуального хоста на проблемной строке:
sudo nano +14 /etc/apache2/sites-enabled/site.conf - Если ошибка гласит
Invalid command 'SSLCertificateFile', включите SSL-модуль:sudo a2enmod ssl sudo a2enmod headers - Если ошибка указывает на
Invalid command 'RewriteRule'или'ProxyPass', активируйте соответствующие модули:sudo a2enmod rewrite proxy proxy_http proxy_fcgi - Если ошибка сообщает
SSLCertificateFile: file does not exist or is empty, проверьте реальное наличие SSL-сертификатов по указанному пути (например, путь Certbot Let's Encrypt):ls -la /etc/letsencrypt/live/yourdomain.com/fullchain.pem - Проверьте парность и корректность синтаксиса директив доступа (в Apache 2.4 используется
Require all grantedвместо старогоAllow from all). - После внесения правок протестируйте и примените конфигурацию:
sudo apache2ctl configtest && sudo systemctl reload apache2
/etc/apache2/sites-available/. Файлы в sites-enabled/ являются лишь символическими ссылками. Если вы создадите временный бэкап-файл site.conf.bak прямо внутри sites-enabled/, Apache попытается распарсить и его, вызвав конфликт дублирования хостов!Частые вопросы (FAQ)
Что означает ошибка AH00526?
AH00526 — это стандартный код ошибки синтаксического анализатора Apache, указывающий, что в одном из подключенных конфигурационных файлов vhost содержится недопустимая команда, неверные аргументы или ссылка на несуществующий ресурс.
Почему после удаления Let's Encrypt сертификата Apache не стартует?
Потому что в конфигурации vhost остались директивы SSLCertificateFile, указывающие на удаленные файлы. Закомментируйте SSL-блок или перевыпустите сертификат.
Как временно отключить сломанный сайт, чтобы запустить остальные?
Выполните sudo a2dissite site.conf и перезапустите Apache командой sudo systemctl restart apache2.
Как проверить синтаксис одного конкретного файла конфигурации?
Apache всегда проверяет всю цепочку включений целиком. Вы можете запустить apache2ctl -t -D DUMP_VHOSTS для подробного анализа всех хостов.