Co zkontrolovat, když nestartuje apache webserver

Apache webserver přestal fungovat a restart služby nepomáhá? Návod, jak najít chybu najdete v článku.

Návod je primárně psán pro debian-like systémy, počítá se standardní konfigurací logů a portů. Většinu příkazů lze použít i na rhel a jeho klonech, jen je potřeba zaměnit apache2 za httpd.

Jako první najděte popis chyby:

  • zkontrolujte správnost konfigurace, opravte chyby jsou-li
    apache2ctl -t
  • zkontrolujte error log apache
    less /var/log/apache2/error.log
  • zkontrolujte, jestli nemáte v konfiguraci logy umístěné do neexistujících adresářů, pokud ano, vytvořte je. Všechny řádky z konfigurace apache2 se slovem log si můžete vypsat pomocí
    find /etc/apache2/ -type f | xargs grep -i log

Nejčastější chyby a jejich řešení:

(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443 no listening sockets available, shutting down

Na portech, které využívá apache je jiný program – pak je potřeba tento program nejprve ukončit a až pak spustit apache. Najít, který program je na portu apache můžete pomocí příkazu netstat, v tomto případě (port 443):
netstat -tupan | grep 443

[emerg] (28)No space left on device: Couldn’t create accept lock

Zkontrolujte místo na disku, jak velikost, tak počet inodů (pomocí příkazů df, df -h, df -i). Pokud je místa dostatek, může to být problém se semafory, pokud byl apache ukončen násilně, mohl je nechat otevřené. Jestli je to tento případ zjistíte pomocí
ipcs -s | grep www-data
odstraníte je pak pomocí:
ipcs -s | grep www-data | perl -e 'while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}'
teď zkuste znova apache nastartovat

[crit] (28)No space left on device: mod_rewrite: could not create rewrite_log_lock Configuration Failed

Stejný problém, jako No space on the device, postup viz. výše.

Komentování je uzavřeno.