Команда для проверки правильности конфигурационных файлов сервера Apache

152

Я ищу команду, которая проверяет правильность конфигурационных файлов на сервере Apache в дистрибутивах Debian и RHEL. Мне нужно сделать это до перезапуска, чтобы не было простоев.

Sigtran
источник

Ответы:

223

Проверьте: http://httpd.apache.org/docs/2.2/programs/apachectl.html

apachectl configtest
keatch
источник
Я получаю это сообщение, выполнив приведенную выше команду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
Ciasto piekarz
Добавьте строку «ServerName, что бы вы ни хотели» в конфигурацию apache. Замените все, что вам нравится, на имя вашего сервера.
Яма
1
может потребоваться sudo?
Мигель
36

Другой способ есть httpd -t. Поэтому он доступен в Windows-версии Apache. Проверьте http://httpd.apache.org/docs/2.4/programs/httpd.html

гость
источник
Как ни странно, в Ubuntu, когда я бегу, apachectl configtestя получаю Syntax OK, но когда я бегу, apache2 -tя получаю AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf(среди других ошибок)
Buttle Butkus
6

apachectl configtestэто правильный ответ. К сожалению, я установил Windows, где отсутствует apachectl. Здесь httpdтакже помогает вызов .

Матиас М
источник
1

Тест конфигурации Apache ( apachectl configtestили его эквиваленты) проверяет только допустимый синтаксис файла конфигурации (и файлов, которые он включает в себя). Тем не менее, оригинальный вопрос задан для предотвращения простоя. Даже если apachectl configtestошибка не возвращается, фактический перезапуск может все же привести к сбою, что приводит к простою.

Распространенными причинами таких сбоев являются отсутствующие или недоступные сертификаты SSL, отсутствующие каталоги для файлов журналов или отсутствующий корневой каталог веб-сайта. Часто такие ошибки вызваны удалением каталога vhost без удаления файла конфигурации vhost Apache. Настоятельно рекомендуется использовать такой инструмент, как марионетка или ansible, чтобы предотвратить такие несоответствия.

Видя, что этот вопрос является хитом номер один при поиске "apache config lint", я подумал, что упомяну эту маленькую деталь ...

BertD
источник