Nach dem unclean Herunterfahren reagiert ownCloud weiterhin mit dem HTTP-Fehler 500

460
user149408

Mein Raspbian-ownCloud-Server hat neulich einen Stromausfall erlitten. Seitdem konnte ich ownCloud nicht mehr verwenden: Im Browser bekomme ich nur eine leere Seite, die das Laden nicht zu beenden scheint. DAVdroid und der Desktop-Sync-Client beschweren sich über einen HTTP-Fehler 500 (Interner Serverfehler).

Ich kann nicht einmal auf die ownCloud-Admin-Benutzeroberfläche zugreifen. Das Syslog hat keine Einträge, die verdächtig erscheinen. Was gibt?

1

1 Antwort auf die Frage

0
user149408

Ein allgemeiner Leitfaden zur Fehlerbehebung bei ownCloud ist auf der offiziellen Website verfügbar .

ownCloud Log - Dateien sind in /var/www/owncloud/data/owncloud.logleer war in meinem Fall.

PHP5-Fehlerprotokolle sind standardmäßig deaktiviert (zumindest bei Raspbian). Sie müssen sie aktivieren, /etc/php5/apache2/php.iniindem Sie log_errorsauf Ein und den Pfad für die Protokolldatei in festlegen error_log. Danach müssen Sie Ihren Webserver neu starten, damit die Änderungen wirksam werden. Ich habe diesen ganzen Schritt übersprungen.

Apache-Fehlerprotokolle werden in /var/log/apache2/error.logRaspbian gespeichert (der Pfad kann zwischen den Distributionen stark variieren). Protokolle werden beim Neustart oder alle 24 Stunden gedreht, wobei das vorherige Protokoll umbenannt wird error.log.1, das Protokoll davor mit gzippt und benannt wird error.log.2.gzusw. Für mehr als 10 Protokolle. Sie können wie folgt angesehen werden:

sudo less /var/log/apache2/error.log sudo less /var/log/apache2/error.log.1 sudo zcat /var/log/apache2/error.log.2.gz | less 

(Beachten Sie den unterschiedlichen Befehl für gezippte Protokolle).

Die Apache-Fehlerprotokolle enthielten viele Zeilen wie diese:

[Sat Mar 04 14: 32: 15.682697 2017] [: error] [pid 12325] [client 10.15.1.19:56016] PHP-Parse-Fehler: Syntaxfehler, unerwarteter '41' (T_LNUMBER), erwartet ')' in / var / www / owncloud / 3rdparty / phpseclib / phpseclib / phpseclib / crypt / Hash.php in Zeile 385

Ein wenig weiter in die Geschichte eingegangen, stellte sich in der Tat heraus, dass dieser Fehler aufgetreten war, als das System nach dem Stromausfall das erste Mal auftrat, was auf eine Beschädigung des Dateisystems hindeutet.

Die betreffende Datei scheint Teil der ownCloud-Installation zu sein. Daher dachte ich, der einfachste Weg wäre, das ownCloud-Paket neu zu installieren (ich hatte den deb-Pfad gewählt).

Da ownCloud eine neue Version 9.1.4 veröffentlicht hat (mein Server ist noch auf 9.1.3), schlug die Neuinstallation fehl, da das ursprüngliche Paket nicht mehr am alten Speicherort verfügbar war.

Ich entschied mich daher, es zu riskieren und das Upgrade auszuführen, was die fehlende Datei auf dieselbe Weise wiederherstellen würde. (Eine Neuinstallation hätte wahrscheinlich auch funktioniert und den Dienst schneller wiederhergestellt.)

Nach dem Upgrade begrüßte mich ownCloud mit einer Meldung, dass es sich im Wartungsmodus befand. Die folgenden Befehle haben das Upgrade abgeschlossen:

sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off sudo -u www-data php /var/www/owncloud/occ upgrade 

(Beachten Sie, dass der Pfad zu angegeben werden occmuss, andernfalls wird er nicht gefunden).

Danach musste ich mich noch mit einem Administratorkonto anmelden, zu Apps gehen und meine Apps erneut aktivieren.

Und der Server ist von den Toten zurück.