Я ищу команду, которая проверяет правильность конфигурационных файлов на сервере Apache в дистрибутивах Debian и RHEL. Мне нужно сделать это до перезапуска, чтобы не было простоев.
apache-2.2
configuration
Sigtran
источник
источник
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Другой способ есть
httpd -t
. Поэтому он доступен в Windows-версии Apache. Проверьте http://httpd.apache.org/docs/2.4/programs/httpd.htmlисточник
apachectl configtest
я получаюSyntax OK
, но когда я бегу,apache2 -t
я получаюAH00526: Syntax error on line 74 of /etc/apache2/apache2.conf
(среди других ошибок)apachectl configtest
это правильный ответ. К сожалению, я установил Windows, где отсутствует apachectl. Здесьhttpd
также помогает вызов .источник
Тест конфигурации Apache (
apachectl configtest
или его эквиваленты) проверяет только допустимый синтаксис файла конфигурации (и файлов, которые он включает в себя). Тем не менее, оригинальный вопрос задан для предотвращения простоя. Даже еслиapachectl configtest
ошибка не возвращается, фактический перезапуск может все же привести к сбою, что приводит к простою.Распространенными причинами таких сбоев являются отсутствующие или недоступные сертификаты SSL, отсутствующие каталоги для файлов журналов или отсутствующий корневой каталог веб-сайта. Часто такие ошибки вызваны удалением каталога vhost без удаления файла конфигурации vhost Apache. Настоятельно рекомендуется использовать такой инструмент, как марионетка или ansible, чтобы предотвратить такие несоответствия.
Видя, что этот вопрос является хитом номер один при поиске "apache config lint", я подумал, что упомяну эту маленькую деталь ...
источник