Polecenie sprawdzenia poprawności plików konfiguracyjnych serwera Apache

151

Szukam polecenia, które sprawdza poprawność plików konfiguracyjnych na serwerze Apache zarówno w dystrybucji Debian, jak i RHEL. Muszę to zrobić przed ponownym uruchomieniem, aby nie było przestojów.

Sigtran
źródło

Odpowiedzi:

222

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

apachectl configtest
keatch
źródło
Otrzymuję ten komunikat, uruchamiając powyższe polecenieAH00558: 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
Dodaj wiersz „ServerName Whateveryoulike” do konfiguracji Apache. Zastąp wszystko, co lubisz, tym, co chcesz nazwać swoim serwerem.
Pit
1
może wymagać sudo?
Miguel
36

Innym sposobem jest httpd -t. Dlatego jest dostępny w wersji Apache dla Windows. Sprawdź http://httpd.apache.org/docs/2.4/programs/httpd.html

Gość
źródło
Dziwnie, na Ubuntu, kiedy uruchamiam apachectl configtest, dostaję Syntax OK, ale kiedy uruchamiam apache2 -t, dostaję AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf(między innymi błędy)
Buttle Butkus
6

apachectl configtestjest poprawną odpowiedzią. Niestety mam instalację systemu Windows, w której brakuje apachectl. Tutaj httpdrównież dzwonienie pomaga.

Matthias M.
źródło
0

Test konfiguracji Apache ( apachectl configtestlub jego odpowiedników) testuje tylko plik konfiguracyjny (i pliki, które rekursywnie zawiera) pod kątem poprawnej składni. Jednak pierwotne pytanie dotyczyło zapobiegania przestojom. Nawet jeśli apachectl configtestnie zwróci błędu, faktyczny restart może się nie powieść, powodując przestoje.

Typowe przyczyny takich awarii to brakujące lub niedostępne certyfikaty SSL, brakujące katalogi plików dziennika lub brakujący katalog główny witryny. Często takie błędy są powodowane przez usunięcie katalogu vhosta bez usuwania pliku konfiguracyjnego Apache vhosta. Zdecydowanie zaleca się stosowanie narzędzia takiego jak marionetka lub ansible, aby zapobiec takim niespójnościom.

Widząc, że to pytanie jest strzałem w dziesiątkę, kiedy google przeglądam „Apache lint config”, pomyślałem, że wspomnę o tym drobnym szczególe ...

BertD
źródło