Weitere Lösungen

Hier sammele ich weitere Hinweise, die über eine normale Installation hinausgehen.


Spezielle Ports

Zum Beispiel den Sonderfall bei mir: Hier im Haus läuft schon ein Webserver. Die Ports 443 und 80 an meinem Router werden daher an den anderen Server weitergeleitet. Nextcloud auf der DS ist statt dessen von außen am Router auf Port 63443 erreichbar. Das erzeugt mehrere Fehlermeldungen in Nextcloud. Hier die nötigen Änderungen:

 


Noch mehr Fehlermeldungen

Die auf der Hauptseite genannten Fehlermeldungen in „Einstellungen – Übersicht“ treten bei Nextcloud 16 auf. Andere Versionen – andere Probleme. Darauf habe ich nicht alle Antworten (aber dieses sehr empfehlenswerte Blog versucht es!)

Hier Lösungen des unter Nextcloud 15 auftretenden Datenbank-Problems und des „referrer“-Problems von Version 14:

 


Weitere Webseiten mit Web Station

Wenn wir zusätzlich zu Nextcloud noch andere Websites (z.B. ein Blog) auf der Synology NAS hosten wollen, brauchen wir virtuelle Hosts – und zwar einen für jede Website. Das heißt: Nextcloud muss in ein Unterverzeichnis, kriegt eine eigene Internetadresse und ein eigenes Sicherheitszertifikat.

 


Kurze Notizen zu den Updates auf die Nextcloud-Versionen 21 und 22.

Beim Updaten treten wieder die üblichen Fehler auf.

Einmal beschwert er sich, dass das PHP-Modul „sodium“ nicht installiert ist, das installiert man über WebStation – Skript-Spracheinstellungen nach, indem man es unter Erweiterungen anklickt.

Eine andere Meldung beschwert sich über die Telefonregion. Dafür muss man in der Datei /volume1/web/nextcloud/config/config.php eine Zeile ergänzen:

'default_phone_region' => 'DE',

Datenbanken

Andere Fehler sind nur durch Aufruf der Datenbank zu beheben.

So muss man sich also wieder in die Synology einloggen, root werden und dann einen Befehl absetzen von der Sorte:

sudo -u http php73 -d memory_limit=1024M occ db:add-missing-indices

Allerdings war es ab Nextcloud 21 bei mir nötig, den Pfad von occ hinzuzufügen. Außerdem ist das System inzwischen bei PHP 7.4 angelangt, auch das scheint eine Rolle zu spielen. Die für mich erfolgreichen Zeilen lauten daher:

sudo -u http php74 -d memory_limit=1024M /volume1/web/nextcloud/occ db:add-missing-indices
sudo -u http php74 -d memory_limit=1024M /volume1/web/nextcloud/occ db:convert-filecache-bigint
sudo -u http php74 -d memory_limit=1024M /volume1/web/nextcloud/occ db:add-missing-columns
sudo -u http php74 -d memory_limit=1024M /volume1/web/nextcloud/occ db:add-missing-primary-keys

Bevor ihr das einfach ausschneidet und einfügt, überprüft selbst, wo ihr Nextcloud hin installiert habt. Bei mir war das /volume1/web/nextcloud/, bei Euch vielleicht ein anderer Ort.

Cronjobs

In dem Aufgabenplaner der DSM-Systemsteuerung hatten wir festgelegt, dass alle 15 Minuten das Skript cron.php auf dem Nextcloud-Server aufgerufen wird. Das muss unter dem Usernamen des Webservers erfolgen, auf der Synology ist das http.

Ein direkter Aufruf des PHP-Skripts war bisher leider nicht möglich. Wir hatten das – etwas umständlich – gelöst, in dem wir curl einfach unsere Nextcloud-Website mit dem Cron-Skript darauf haben ansteuern lassen:

curl --insecure https://127.0.0.1/nextcloud/cron.php

Leider scheint das derzeit nicht mehr zu funktionieren. Schade.

Allerdings funktioniert jetzt endlich der lokale Aufruf von cron.php. Also nutzen wir diesen – und tragen die folgende Zeile in den Aufgabenplander der DSM ein:

sudo -u http php74 -f /volume1/web/nextcloud/cron.php

Das bedeutet, dass unter dem Nutzer des Webservers http nun mit der Version 7.4 von PHP das Skript cron.php ausgeführt werden soll.

Eine Alternative, die ebenfalls funktioniert, ist Webcron. Das bezeichnet Dienste wie https://console.cron-job.org, die ebenfalls alle paar Minuten Abfragen an einen Server absetzen können.

Wenn wir das nutzen wollen, tragen wir dort eine Zeile wie die folgende ein:

https://nextcloud.server.de/cron.php

(Hier müsst ihr die Adresse Eures Nextcloud-Servers eintragen)

Dann kann man den Dienst diese Adresse alle 5 Minuten abfragen lassen.

In Nextcloud Grundeinstellungen – Hintergrund-Aufgaben klickt ihr dann einfach Webcron an.

Midnight Commander

Unglücklicherweise will DSM 7, dass wir den Dateimanager Midnight Commander deinstallieren. Er sei nicht mehr kompatibel. Allerdings funktioniert die installierte Version weiterhin sehr gut, von daher behalte ich ihn noch eine Weile.

Eine Einschränkung allerdings: Während für den root-Benutzer die normale Version in blau weiterhin läuft, bekomme ich als normaler Nutzer nur eine schwarz-weiße Version, bei der man Markierungen kaum erkennen kann. Vielleicht hat ja jemand anderes auch noch diesen Fehler. Leider konnte ich nicht herausfinden, woran es liegt. Im home-Verzeichnis des normalen Nutzers, unter /var/services/homes/ fand ich leider keinen Hinweis.

Ich begnüge mich damit, mit dem Befehl mc -b eine Terminal-Version des Midnight-Commanders laufen lassen, die zwar auch zweifarbig ist, bei der man aber mehr Überblick hat.