Apache funktioniert nach einem Ubuntu-Server-Upgrade von 10.04 auf 12.04 nicht

669
beacon_bonanza

Ich habe gerade einen Server von Ubuntu 10.04 LTS auf Ubuntu 12.04 LTS aufgerüstet, da der Support für 10.04 unmittelbar bevorsteht. Das Upgrade verlief einwandfrei. Ich habe das alles schon vorher mit einer virtuellen Maschine getestet. Der Webserver funktioniert jedoch nicht mehr.

Wenn ich renne

sudo /etc/init.d/apache2 restart 

Es gibt

* Restarting web server apache2 [ OK ] 

Keine Fehlermeldung, die Ausgabe von ps axzeigt jedoch keinen Hinweis darauf, dass Apache tatsächlich ausgeführt wird. Ebenso zeigt die Ausgabe von netstat -tuplnnichts an Port 80. Ich habe tatsächlich den gesamten /etc/apache2Ordner von einem anderen Ubuntu 12.04 LTS-Server kopiert, der für den Fall arbeitet, dass er funktioniert etwas in einer der Konfigurationsdateien, aber das wurde nicht behoben.

Weiß jemand, warum es keine Fehlermeldung geben würde, aber eigentlich nicht läuft?

Ich habe das Fehlerprotokoll überprüft und nichts hinzugefügt. Ausgabe von /var/log/syslogis

 Apr 28 16:28:37 ubuntu-server kernel: [ 9061.735298] apache2[13102]: segfault at 0 ip 00007fe46d8d7476 sp 00007ffd6f130ba8 error 4 in libc-2.15.so[7fe46d7a6000+1b4000] 
0

1 Antwort auf die Frage

1
JakeGould

Ich würde empfehlen, die Systemanmeldung zu überprüfen, /var/log/syslogwenn Sie einen Apache2-Neustart durchführen. Das bedeutet, dass ein Terminalfenster geöffnet wurde, in dem Sie das syslogVia tailwie folgt sehen:

sudo tail -f -n 10 /var/log/syslog 

Und im anderen Fenster versuchen Sie, Apache neu zu starten. Aber Ihre Syntax sudo /etc/init.d/apache2 restartscheint klobig zu sein, wenn Sie einfach so verwenden könnten service:

sudo service apache2 restart 

Ich würde auch empfehlen, es manuell anzuhalten und erneut zu starten, indem Sie einfach diese beiden Befehle hintereinander ausführen:

sudo service apache2 stop  sudo service apache2 start 

Alle tieferen Systemprobleme mit Apache sollten in der syslog. Wie kann ich das debuggen? Kommt drauf an, was Sie sehen / lesen. Ich habe jedoch viele Ubuntu-Upgrades von früheren Versionen auf Ubuntu 12.04 LTS ohne Probleme gemacht.

UPDATE: Da das Originalposter die Ausgabe gepostet hat syslog, kann es auch dazu Stellung nehmen. Es zeigt, dass beim Starten von Apache eine Art Segmentierungsfehler auftritt:

Apr 28 16:28:37 ubuntu-server kernel: [ 9061.735298] apache2[13102]: segfault at 0 ip 00007fe46d8d7476 sp 00007ffd6f130ba8 error 4 in libc-2.15.so[7fe46d7a6000+1b4000] 

Segmentierungsfehler wie dieser können das Aufspüren von Schmerzen schwierig machen. Nach meiner Erfahrung könnten dies jedoch einige Hauptursachen sein:

  • Schlechter / beschädigter PHP- oder HTML-Code: Zunächst bezweifle ich, dass dies der Fall ist, erwähne es aber trotzdem: Ich gehe davon aus, dass Sie PHP mit Apache ausführen, dies gilt jedoch auch für HTML. Am besten überprüfen Sie dies, index.phpindem Sie eine einfache Seite einrichten und sehen, was passiert. Aber wie gesagt, wenn Apache beim Neustart borkelt, bezweifle ich, dass dies der Fall ist, aber es ist eine Idee.
  • Inkompatible oder beschädigte Apache2-Konfiguration oder -Einstellung: Sie geben an, dass Sie eine funktionierende Apache2-Konfiguration von einem anderen Ubuntu 12.04 LTS-Server verwenden. Es kann jedoch immer noch ein Konfigurationsproblem auftreten, das Sie übersehen haben. Sind beispielsweise die Berechtigungen für das /etc/apache2Verzeichnis und dessen untergeordnete Verzeichnisse korrekt? Wenn Sie die Dateien kopiert haben, besteht immer das Risiko, dass Sie beim Einrichten des Besitzes möglicherweise die Eigentums- und Zugriffsberechtigungen übersehen haben.
  • Ein beschädigtes Apache2-Modul: Es kann sein, dass ein mit Apache verbundenes Modul selbst beschädigt ist. Wenn Sie irgendetwas wie APC (Alternative PHP Cache) installiert haben, würde ich empfehlen, es zu deaktivieren oder sogar neu zu installieren. Um sie zu deaktivieren, öffnen /etc/php5/conf.d/apc.iniund kommentieren Sie die Zeile, die liest extension=apc.somit einem ;wie folgt aus : ;extension=apc.so.
  • Etwas in Apache2 alles in allem : Wenn alles andere fehlschlägt, führen Sie a aus sudo apt-get purge apache2und installieren Sie es dann erneut über a sudo apt-get install apache2und sehen Sie, was bei einer Standardinstallation passiert.

Wenn all dies den Apache2-Prozess immer noch nicht zum Leben erweckt, würde ich auch andere Systemdienste überprüfen und prüfen, ob sie überhaupt betriebsbereit sind. Sie könnten auch Segmentierungsfehler im zeigen syslog.

Außerdem geben Sie nicht die Tiefe oder Konfiguration des Setups dieses Systems an. Wenn dies jedoch nicht sehr aufwendig ist - es werden nur einige Dienste ausgeführt, bei denen Sie mit der Konfiguration vertraut sind -, sollten Sie diese Installation einfach verwerfen und Ubuntu 12.04 LTS von Grund auf neu installieren.

Meine persönliche Server-Administrationsphilosophie besteht darin, sehr kontrolliert zu sein und Backups aller Konfigurationsdateien und Kerndateien zu haben, die für diesen Server idiosynkratisch sind. Auf diese Weise werde ich den problematischen Server einfach wegblasen und von vorne anfangen, wenn es zu heftigen Kopfschmerzen wird.