OCC von Nextcloud funktioniert nicht

Bei Nextcloud funktioniert vieles über das Webinterface. Doch immer mal wieder kommt es vor, dass gewisse Aktionen über OCC (ownCloud console) ausgeführt werden sollten. Oft betrifft das Anpassungen an der Datenbank oder auch zum Beheben von Problemen bei App Installationen.

Ich habe eine Nextcloud-Instanz im Rahmen meines Webohstings bei Hostfactory in Betrieb genommen. Leider funktioniert die Konsole in dieser Umgebung nicht wie gewünscht. Ich habe nicht herausgefunden, an was das liegt, ich vermute aber, es hat mit Berechtigungen oder Funktionen zu tun, die beim Webhoster nicht zur Verfügung stehen.

Damit OCC verwendet werden kann, verbinde ich mich über SSH zu meinem Hosting und navigiere in das Wurzelverzeichnis von Nextcloud.
OCC muss ich mit vorangestelltem php Kommando starten. Zum Beispiel also:

php OCC status

Dabei kommt es zum ersten Fehler:

Doctrine\DBAL\DBALException: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory in /httpsdocs/[INSTACENAME]/lib/private/DB/Connection.php:68

Diese Problem umgehe ich, indem ich die Datei config.php aus dem Verzeichnis config modifiziere und folgende Änderung durchführe:

# Original
# 'dbhost' => 'localhost',
#
# Anpassung:
'dbhost' => '127.0.0.1',

Die Nextcloud-Instanz ist nach dieser Änderung über das Webinterface nicht mehr erreichbar.
Wird das OCC Kommando jetzt wieder ausgeführt, kommt es zu einem weiteren Fehler:

Setting locale to en_US.UTF-8/fr_FR.UTF-8/es_ES.UTF-8/de_DE.UTF-8/ru_RU.UTF-8/pt_BR.UTF-8/it_IT.UTF-8/ja_JP.UTF-8/zh_CN.UTF-8 failed
Please install one of these locales on your system and restart your webserver.

Natürlich habe ich keinen Zugriff auf den Webserver und kann den auch nicht neu starten. Die Abklärungen haben ergeben, dass diese Sprachen sehr wohl installiert sind. Ich habe mir darauf erlaubt, diese Prüfung durch Nextcloud auszuschalten. Dazu musste die Datei lib/private/legacy/util.php wie folgt angepasst werden.

# Original
# if (!OC_Util::isSetLocaleWorking(){
#
# angepasst
if (OC_Util::isSetLocaleWorking()) {

Damit wird der Test, welcher fehlschlägt, ausgeschaltet. Mit diesen Modifikationen kann ich das Kommando laufen lassen.
Nach dem ich alles mit OCC erledigt habe, müssen die beiden Dateien in den Originalzustand zurück versetzt werden, damit die Instanz wieder wie erwartet funktioniert.

Ich hoffe, dass ich dafür mal eine nachhaltigere Lösung finde. Zum Glück muss das nicht all zu oft gemacht werden.

3 Gedanken zu „OCC von Nextcloud funktioniert nicht

  1. In Fedora I found another way

    vi /usr/lib/systemd/system/httpd.service
    1.
    [Service]

    Environment=LC_CTYPE=en_US.UTF-8

    2.
    systemctl daemon-reload

    3.
    systemctl restart httpd.service

Schreibe einen Kommentar zu martin Antworten abbrechen

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