online 1
gast (50)

/ Forum / Linux

LinuxLinux

Fragevon Kristian vom 21.06.2020, 21:15 Options

Debian 4.0: Apache2 startet nicht mehr

Hallo,

seit vielen Wochenenden versuche ich schon, eine Ursache dafür zu finden, dass mein Apache2 unter Etch beim Start sang- und klanglos abschmiert. Sowohl unter den Prozessen als auch unter netstat -lanp ist nichts zu finden.

Es gibt keinen einzigen Hinweis auf die Ursache, weder im syslog, noch im errorlog, noch irgendwo unter /var/log/apache2, und den loglevel habe ich bereits auf debug gesetzt. Auch beim Start selber kommt überhaupt keine Meldung außer "Starting web server (apache2)....". Es wird kein pid angelegt (das entsprechende Verzeichnis unter /var/run ist von www-data beschreibbar, aber meines Wissens nach startet der Apache2 eh erstmal mit root-Rechten.

Neben dem Apache laufen auf dem System noch spamassassin, dovecot, exim4, jabber, mysql und webmin, der Port 80 ist aber frei.

Was ich bisher noch probiert habe:
- Scan der Konfiguration mit apache2ctl
- ausführen ohne init-script direkt über das binary
- minimieren der Konfiguration (entfernen aller vhosts und der SSL-Konfiguration)
- reinstall per apt (falls das binary beschädigt wäre)

Meine Konfigurationsdateien sehen so aus:

http://kkmatrix.de/apache2/apache2.conf
http://kkmatrix.de/apache2httpd.conf
http://kkmatrix.de/apache2/directories.conf
http://kkmatrix.de/apache2/ports.conf

Die Konfiguration des Standard-Hosts sieht so aus:
http://kkmatrix.de/apache2/default

Die aktiven Module sind folgende:
http://kkmatrix.de/apache2/mods-enabled

So langsam bin ich mit meinem Latein am Ende (wenn es doch wenigstens irgendwo einen Hinweis gäbe...). Das einzige, was ich nicht probiert habe, war die Konfiguration zu sichern und den Apache komplett neu zu holen (damit wäre ja aber dann das Problem nur auf die Konfiguration verschoben, wo ich es sowieso die ganze Zeit schon vermute).

Gibt es noch irgend eine Möglichkeit, wenigstens so etwas wie eine Fehlermeldung als Anhaltspunkt zu bekommen?


Antwort schreiben

Antwort 1 von Jaja vom 21.06.2020, 21:21 Options

wie siehts mit den logs im /var/log/apache2/ aus?

startest du apache als root in der shell? sudo apache?

Antwort 2 von Kristian vom 21.06.2020, 21:34 Options

tail -f in 3 Shells (ssh-Verbindung zum Server) parallel in /var/log/syslog, /var/log/apache2/error.log und /var/log/apache2/access.log ergab beim Starten des Dienstes über

# /etc/init.d,/apache2 start
# apache2ctl -k graceful
# /usr/sbin/apache2 -k graceful

genau... garnichts.

Antwort 3 von Jaja vom 21.06.2020, 21:54 Options

hast du das hier schon gelesen?

trifft dein problem recht genau, aber die löung:

Zitat:
Seems the problem was that the Errorlog statements failed to specify a file. I simply changed them all to include /error.log at the end and now apache is starting properly.


kann ich nicht einordnen. deine apache2.conf enthält ja schon "ErrorLog /var/log/apache2/error.log", seine zuvor gepostete konfig jedoch auch..
vieleicht verstehst du was er meint.

die dort angesprochenen probleme mit 2 vm scheinen dich ja nicht zu berühren.

Antwort 4 von Kristian vom 21.06.2020, 23:05 Options

So ganz passt das nicht auf mein Problem, denn der User hatte wenigstens den flüchtigen Hinweis "[fail]" am Ende der Startmeldung, dass da was nicht stimmt.

Ich muss aber sagen, dass ich auch auf dem Schlauch stehe, was die angebotene Lösung des Problems angeht, vermute aber dass er statt der Dateinamen nur die Ordner für das Logging angegeben hat.
Ich habe testweise mal das logging komplett deaktiviert (auch im vhost), wonah er eine default-Logdatei unter /etc/apache2/logs/error_log anlegen wollte. Da das Verzeichnis nicht existierte, gab es zur Abwechslung mal einen Fehler. Angelegt und der Fehler war verschwunden, stattdessen ist die Datei error_log in /etc/apache2/logs aufgetaucht. Leider war sie leer *seufz*.

Hat sich leider dadurch nichts geändert, es gibt nicht den geringsten Hinweis darauf, an welcher Stelle sich das Programm verschluckt...

Antwort 5 von Jaja vom 21.06.2020, 23:20 Options

wie verhält sich apache2 eigentlich, wenn eines der config files fehlt? nutzt er defaults?

wenn ja, oder du an die orginal config files rankommst, benenne doch nacheinander deine configs um und schau wann er läuft..

wobei ich nicht weiß, in wie fern diese configs voneinander abhängen, so dass dir die ursache dennoch durch die lappen geht.

die idee wäre eben dann zu wissen, wo man den fehler vermuten muss...

weitergehend würde ich dann einzelne teile der betreffenden deafault config nacheinander durch die angepasste version ersetzen und so weiter einkreisen...

Antwort 6 von Kristian vom 22.06.2020, 16:06 Options

Das scheint wohl die einzige Möglichkeit zu bleiben. Also die ganze Konfiguration zu sichern und den Apache2 zu entfernen und dann neu zu installieren. Ich hatte gehofft, darum herumzukommen ;)

Antwort 7 von Jaja vom 22.06.2020, 16:07 Options

na dann probiere das mal..

und teste dann nach und nach deine einstellungen.

Antwort 8 von Kristian vom 22.06.2020, 17:48 Options

So. Er läuft.

Ich habe alle anderen Netzwerkdienste deaktiviert, alle Verzeichnisangaben auf die default-Verzeichnisse gelegt, php5, perl und cgi aus den aktiven Modulen entfernt und die Konfiguration auf das allernötigste (zum Starten, nicht zum darstellen ;)) reduziert. Zudem habe ich noch einige redundante Einträge entfernt.
Jetzt werde ich anfangen, die ganzen Änderungen Schritt für Schritt rückgängig zu machen. Hoffentlich hab ich nicht vergessen was ich alles gemacht habe ;)

Antwort 9 von Jaja vom 22.06.2020, 17:52 Options

Zitat:
Hoffentlich hab ich nicht vergessen was ich alles gemacht habe ;)


na ein stück weit hilft dir ja die bash_histrory ;)

viel glück

Antwort 10 von Kristian vom 22.06.2020, 18:00 Options

Ich hab die Ursache gefunden:

Das Paket libapach2-mod-php5 bzw. die /usr/lib/apache2/modules/libphp5.so war anscheinend beschädigt. Die Anweisung und der Pfad in der php5.load war korrekt, die Datei existierte, aber erst nachdem ich das Paket entfernt und neu installiert hatte startete der Server auch (also war unter netstat sichtbar). Puuuh ;)

Ich würde mal sagen: Problem gelöst, Thema kann geschlossen werden.

Antwort 11 von Kristian vom 22.06.2020, 18:19 Options

Korrektur: Es ist zwar php5, aber der reinstall hat es doch nicht gebracht. Anscheinend ist libapache2-mod-php5 5.2.0-8+etch10 auch nicht die neueste Version. Aber die neueste im apt-cache. Hm.

Antwort 12 von Jaja vom 22.06.2020, 18:54 Options

wieso ist die version im apt-cache neuer als die von dir installierte, wenn du das modul grad erst neu installiert hast? hat der apache eine versionsabhängigkeit zu veralteten modulen?

Antwort 13 von Kristian vom 22.06.2020, 19:28 Options

Die version im apt-cache war 5.2.0-8+etch10, die neueste (security-update) aber 5.2.0-8+etch11. Das ersetzen des Pakets hat allerdings nichts geändert. Auch das aktivieren der PHP-Starup-Errors brachte nichts. Da stellt sich mir nur die Frage, wieso das laden von libphp5.so den Apache ohne Meldung tötet... alle anderen Module werden ja problemlos geladen.

Im Moment hab ich dann also libapache2-mod-php5 version 5.2.0-8+etch11 und apache2 version 2.2.3-4+etch4 (neueste). Und jedes Mal, wenn ich die php5.load im Verzeichnis /etc/apache2/mods-enabled verlinke, startet der Apache nicht, lösche ich den Symlink, startet er. Weitere Fehler gibt es, wie immer, nicht.

Antwort 14 von Jaja vom 22.06.2020, 20:13 Options

..komisch

schau mal hier ob du php5 anders einbindest.

is zwar ubuntu, doch sollte kaum einen unterschied ergeben.

Antwort 15 von Kristian vom 22.06.2020, 21:06 Options

Die beiden Dateien in mods-enabled bzw. mods-available sind natürlich vorhanden (und die conf wäre zum starten nichtmal notwendig). Wenn es doch nur so einfach wäre... er würde dann auch schlicht php5 nicht einbinden, und wenn ich die Dateien lösche läuft er ja auch...

Antwort 16 von Kristian vom 13.07.2020, 13:44 Options

So, nach langem hin- und her und einer (mehr oder weniger hilfreichen) Unterhaltung mit dem anderen Server-Admin in meiner Agentur habe ich Apache und PHP inkls. Konfiguration komplett entfernt und neu installiert. Dann die Konfiguration migriert, und siehe da:

In der /etc/php5/apache2/php.ini gab es einen Konfigurationseintrag zum eaccelerator. Und diese Extension war das ganze Problem. Vermutlich zu alt und daher inkompatibel mit aktuell installierten Bibliotheken. Nachdem ich die Extension neu kompiliert habe, konnte ich sie auch wieder einbinden, und nun läuft wieder alles.

Wenn ich jetzt noch wüsste, wie ich es mal geschafft habe, meinen www-Ordner auf dem Server - der www-data gehört - per NFS zu exportieren und unter Ubuntu auf meine UID/GID gemappt einzubinden, und warum Samba unter Windows plötzlich eine "Gruppenname nicht gefunden"-Fehlermeldung wirft (neue Version? *g*), dann wäre ich restlos glücklich ;)

Ähnliche Themen

Was muss ich unter --with-mssql[=DIR] verstehen???
Sparky909  23.04.2007 - 112 Hits - 2 Antworten

Debian: Dienst/Daemon zur Portnummer ermitteln
Lingling  19.05.2007 - 118 Hits - 1 Antwort

Debian: Dienststatus ermitteln
Lingling  19.05.2007 - 110 Hits - 2 Antworten

VoIP-Telefon über Konsole
luac.  15.11.2007 - 80 Hits -

Debian graphisch?
TByte  23.06.2008 - 66 Hits - 11 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026