Tag 41/2016: Falsche Spuren

Eine Ansible-Anweisung in einem Webserver-Task hat mir heute den Apache ausgeknipst. Genauer gesagt eine fehlerhafte Anweisung im „lineinfile“ -Modul. Das Modul benutzt man vor allem, um eine einzelne Zeile in einer Datei zu finden und auszutauschen.

Spoiler: Ich wollte in der ports.conf aus „Listen 80“ ein explizites „Listen 127.0.0.1:80“ machen und habe stattdessen bei jedem Durchlauf „Listen 127.0.0.1:80“ hinzugefügt. Irgendwann stand es 5x drin, was 4x zuviel ist.

Ein „apachectl configtest“ meldet leider fröhlich „Syntax OK“ – die manpage weist ja auch darauf hin „This test does not catch all errors“, weil es hauptsächlich die Syntax analysiert.

Beim „service apache2 restart“ kommt dann „Address already in use: AH00072: make_sock: could not bind to address“ und „no listening sockets available, shutting down“ und dann final „the apache2 instance did not start within 20 seconds. Please read the log files to discover problems“. Das Error-Log bleibt leer.

Bei der Fehlersuche habe ich zuerst mit netstat und lsof hantiert und war von der doch eigentlich freien Adresse:Port-Kombi irritiert. Bis die Ansible-Script-Recherche mich auf die ports.conf-Veränderung gebracht hat.

Was könnten die Alternativen auf Apache-Seite sein? Gleiche Konfigurationsanweisungen wie eine einzige Anweisung behandeln? Eine aussagekräftigere Fehlermeldung?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.