Comando para verificar a validade dos arquivos de configuração do servidor Apache

152

Estou procurando um comando que verifique a validade dos arquivos de configuração no servidor apache nas distribuições Debian e RHEL. Preciso fazer isso antes de reiniciar, para que não haja tempo de inatividade.

Sigtran
fonte

Respostas:

223

Verifique: http://httpd.apache.org/docs/2.2/programs/apachectl.html

apachectl configtest
keatch
fonte
Estou recebendo esta mensagem executando o comando acimaAH00558: 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 15/09/16
Adicione uma linha "ServerName anyyoulike" à sua configuração do apache. Substitua qualquer que seja o nome que você quiser para nomear seu servidor.
Pit
1
pode exigir sudo?
Miguel
36

Outra maneira é httpd -t. Portanto, está disponível na versão Windows do Apache. Verifique http://httpd.apache.org/docs/2.4/programs/httpd.html

convidado
fonte
Estranhamente, no Ubuntu, quando eu corro apachectl configtesteu chegar Syntax OK, mas quando eu corro apache2 -teu recebo AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf(entre outros erros)
Buttle Butkus
6

apachectl configtesté a resposta correta. Infelizmente eu tenho uma instalação do Windows em que o apachectl está ausente. Aqui, ligar httpdtambém ajuda.

Matthias M
fonte
1

O teste de configuração do Apache ( apachectl configtestou seus equivalentes) apenas testa o arquivo de configuração (e os arquivos que ele recursivamente inclui) quanto à sintaxe válida. No entanto, a pergunta original pedia a prevenção do tempo de inatividade. Mesmo quando apachectl configtestnão retorna um erro, uma reinicialização real ainda pode falhar, causando tempo de inatividade.

As causas comuns para essas falhas incluem certificados SSL ausentes ou inacessíveis, diretórios ausentes para arquivos de log ou um diretório raiz do site ausente. Freqüentemente, esses erros são causados ​​pela remoção do diretório de um vhost sem remover o arquivo de configuração do vhost Apache. É altamente recomendável usar uma ferramenta como fantoche ou ansible para evitar essas inconsistências.

Vendo que esta pergunta é o hit número um ao pesquisar no "apache config lint", pensei em mencionar esse pequeno detalhe ...

BertD
fonte