Ich würde empfehlen, die Systemanmeldung zu überprüfen, /var/log/syslog
wenn Sie einen Apache2-Neustart durchführen. Das bedeutet, dass ein Terminalfenster geöffnet wurde, in dem Sie das syslog
Via tail
wie 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 restart
scheint 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.php
indem 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/apache2
Verzeichnis 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.ini
und kommentieren Sie die Zeile, die liestextension=apc.so
mit 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 apache2
und installieren Sie es dann erneut über asudo apt-get install apache2
und 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.