Nextcloud Installation auf einer Synology DiskStation mit DSM 7.1

Das neue DSM 7 ist da und auch hier ist die Nachfrage nach Nextcloud wieder sehr hoch. Synology bietet zwar eine eigene Cloudlösung, Synology Drive, die ist aber bei weitem nicht so umfangreich und flexibel wie Nextcloud. Sei es Kalender- und Kontaktsynchronisation oder die Apps und Weboberfläche, es gibt viele Gründe für Nextcloud auf einer DiskStation. Der Artikel erklärt Schritt für Schritt, wie ihr Nextcloud auf einem Synology NAS installiert.

Vorbereitung

Bevor wir anfangen können, kontrolliert ob die Web Station läuft bzw. installiert Sie, wenn ihr das noch nicht getan habt. Außerdem benötigt ihr SSH-Zugriff (zu finden in der Systemsteuerung unter Terminal & SNMP) auf euer NAS (z.B. mit PuTTY).
Wichtig: Nutzt ihr bisher Nginx als Webserver, müsst Ihr in der Web Station unter Allgemeine Einstellungen > HTTP-Backend-Server auf Apache HTTP Server 2.4 umstellen. Nextcloud läuft unter Nginx nicht ohne diesen vorher zu konfigurieren. Bisher ist aber keine funktionierende Konfiguration für Synology in der Community vorhanden. Ihr könnt für Nextcloud einen vhost einrichten, der den Apache nutzt, dann könne ihr den Rest eurer DS wieder auf Nginx umstellen.

Installiert folgende Pakete im Paket Zentrum:

Öffnet MariaDB 10 und setzt den Haken bei “TCP/IP-Verbindung aktivieren”.

Freigegebener Ordner

Erstellt einen neuen freigegebenen Ordner als Speicherort für die Daten. Nextcloud speichert die Daten standardmäßig im data-Ordner unter /web/Nextcloud. Nextcloud empfiehlt aus Sicherheitsgründen den Speicherort außerhalb des /web Ordners anzulegen. Das erleichtert auch ein späteres Upgraden von Nextcloud. Auf den freigegebenen Ordner sollte niemand sonst Zugriff haben und auch als Administrator solltet ihr dort nur Änderungen vornehmen wenn Sie eure Nextcloud-Installation betreffen. Diese Änderungen solltet ihr dann aber über PuTTY als root machen, da sich sonst die Ownership ändert und Nextcloud nicht mehr auf den Ordner/die Dateien zugreifen kann. Erstellt den freigegebenen Ordner über DSM > Systemsteuerung > Freigegebener Ordner, erstellt ihr den Ordner über PuTTY erkennt DSM diesen nicht und ihr könnt ihn z.B. nicht über Hyper Backup sichern.

Damit PHP auch auf den freigegebenen Ordner zugreifen kann, muss der Pfad in open_basedir eingetragen werden. Details dazu im Abschnitt “PHP Profil”.

Öffnet PuTTY und verbindet euch mit eurer DS. Loggt euch als Administrator ein. Um die Befehle als root auszuführen gebt sudo –i ein und drückt (Enter). Gebt erneut euer Administratorpasswort ein. Gebt folgende 2 Befehle ein, damit Nextcloud, bzw. der User des Webservers auch auf diesen zugreifen darf:

chown -R http:http /volume1/nextcloudData
chmod -R 777 /volume1/nextcloudData

PHP-Profil

Öffnet die Web Station und erstellt unter Skript-Spracheinstellungen ein neues Profil.

  1. Vergebt einen Namen und eine Beschreibung.
  2. Wählt PHP 8 aus.
  3. Aktiviert “PHP-Cache aktivieren”.
  4. Aktiviert “PHP open_basedir benutzerspezifisch anpassen” und tragt /tmp:/var/services/tmp:/var/services/web ein. Fügt jetzt noch den Pfad zum gemeinsamen Ordner ein, den ihr vorhin angelegt habt (vergesst den : nicht). Das ganze könnte dann so aussehen: /tmp:/var/services/tmp:/var/services/web:/volume1/nextcloudData
  5. Aktiviert folgende Erweiterungen: bcmath, bz2, curl, ftp, gd, gmp, iconv, imagick, intl, mysqli, openssl, pdo_mysql, posix, sodium, ssh2, sysvsem, zip, zlib

Webserver-Timeout

Synology hat in DSM 7 ein allgemeines Timeout für den Nginx als Proxy-Server (der ist immer vorgeschaltet, auch wenn ihr Apache als Webserver nutzt) festgelegt. Das Timeout gilt allerdings nicht mehr, sobald man einen virtuellen Host verwendet. Wer meine bisherigen Anleitungen zu Nextcloud auf der Synology Diskstation kennt, der weiß, wo sich unter DSM 6 das Timeout setzen ließ. Das klappt aber unter DSM 7 nicht, da der Eintrag mit dem von Synology in Konflikt gerät.

  1. Verbindet euch per SSH (z.B. PuTTY) mit eurem NAS. Führt die Änderungen als root durch.
  2. Öffnet die Datei /var/packages/WebStation/target/misc/VirtualHost-nginx.mustache im Editor.
vi /var/packages/WebStation/target/misc/VirtualHost-nginx.mustache
  1. Fügt die Zeile proxy_read_timeout 3600s; im Block für Apache 2.2 bzw. Apache 2.4 unter include proxy.conf; ein. Führt die Änderung in jenem Block durch, der zur verwendeten Apache-Version passt. Ihr könnt die Zeile aber auch in beiden Blöcken einfügen.
  2. Speichert und schließt die Datei.
  3. Testet zuerst die Nginx-Konfiguration, startet dann den Nginx neu, wenn der Test positiv ausfällt und testet die Konfig danach erneut:
nginx -t
synosystemctl restart nginx
nginx -t
Proxy-Timeout für vHosts erhöhen
Proxy-Timeout für vHosts erhöhen

Das Timeout für den Proxy ist jetzt auch unter Verwendung von virtuellen Hosts erhöht. Jetzt kann es aber immer noch am Apache zum Timeout kommen. Das lässt sich, wie auch schon unter DSM 6 beheben:

  1. Erstellt (als root) die Datei /usr/local/etc/apache2X/sites-enabled/user.conf
vi /usr/local/etc/apache24/sites-enabled/user.conf
  1. Fügt die Zeile TimeOut 3600 ein.
  2. Speichert und schließt die Datei.
  3. Startet den Apache neu.

Installation

Ladet die neueste Version von Nextcloud als .zip oder .tar hier herunter (unter Community Projects > Archive > Get ZIP file. Ladet das zip-File auf eure DiskStation hoch und extrahiere es in den /web Ordner.

Jetzt wäre der richtige Zeitpunkt den virtuellen Host anzulegen. Ihr könnt den vHost aber auch nach der Installation anlegen.
Wählt dazu in der Web Station Webdienstportal und legt mit Erstellen > Dienstportal > Virtueller Host einen neuen Eintrag an.

  • Tragt den Hostnamen ein, unter dem ihr eure Nextcloud erreichen wollt. (Der Hostname muss existieren und auf eure DiskStation verweisen, mehr dazu in diesem Artikel.)
  • Wählt die Ports, für die der virtuelle Host gilt (im Normalfall 80/443).
  • Wählt als Dokument-Root den Nextcloud-Ordner (/web/Nextcloud).
  • Aktiviert unbedingt “HSTS”, das sorgt dafür, dass alle http-Zugriffe auf eure Cloud auf https umgeleitet werden. Dafür ist aber ein gültiges SSL-Zertifikat notwendig, das für die verwendete Domain ausgestellt wurde. Auch dazu findet Ihr eine Anleitung im vorhin verlinkten Artikel.
  • Wählt als Webserver Apache 2.4 und das zuvor angelegte PHP-Profil.

Ändert die Rechte des Nextcloud-Ordners. Gebt dazu folgende Befehle in der Kommandozeile ein:

#!/bin/bash
chown -R http:http /volume1/web/Nextcloud/
chmod -R 777 /volume1/web/Nextcloud/

Datenbank-Problem umgehen

Eigentlich sollte die Installationsroutine von Nextcloud die Datenbank inklusive eigenem Benutzer selbst anlegen. Allerdings gibt es immer wieder Probleme zwischen dem Installationsskript von Nextcloud und Synologys MariaDB-Paket. Aktuell erhält man die Meldung “MySQL-Benutzername und/oder Passwort ungültig Du musst Details von einem existierenden Benutzer einfügen.”, auch bei Verwendung des root-Users.

Um das Problem zu umgehen, legen wir Datenbank und Benutzer einfach selbst an.

Öffnet phpMyAdmin und meldet euch als root oder Benutzer mit administrativen Rechten an. Alternativ könnt ihr euch auch mit MariaDB via Kommandozeile (PuTTY) verbinden. Wechselt in den Reiter SQL und gebt dort folgende Zeilen ein:

CREATE DATABASE <NEXTCLOUD_DB_NAME>;
CREATE USER '<NEXTCLOUD_DB_BENUTZER>'@'localhost' IDENTIFIED BY '<SICHERES_PASSWORT>';
GRANT ALL ON <NEXTCLOUD_DB_NAME> .* TO '<NEXTCLOUD_DB_BENUTZER>'@'localhost';
FLUSH PRIVILEGES;

Ersetzt die Platzhalter <NAME> mit tatsächlichen Namen die Ihr verwenden wollt (die spitzen Klammern <> gehören dabei entfernt, die einfachen Anführungszeichen ‘ sind aber Teil der Befehlssyntax). Klickt anschließend auf OK um die Befehle auszuführen. Dabei wird eine Datenbank erstellt sowie ein neuer Benutzer, der nur per localhost auf die Datenbank zugreifen darf, auf der Datenbank aber alle Rechte besitzt.

Installationsassistenten ausführen

Öffnet Nextcloud im Browser. Verwendet dabei unbedingt die Adresse, die ihr für den virtuellen Host angegeben habt (z.b. cloud.meinedomain.com), habt ihr keinen virtuellen Host konfiguriert verwendet die IP, den Namen der DiskStation oder eine Domain die auf die DiskStation zeigt, gefolgt vom Nextcloud-Verzeichnis (z.b. mynas.synology.me/Nextcloud) Die Adresse die Ihr hier benutzt wird während der Installation als vertrauenswürdige Domain eingetragen. Wollt ihr Nextcloud von anderen Domains aus erlauben müsst ihr diese später in der config.php eintragen. Das ist der Fall wenn ihr z.B. die Cloud später über eine eigene Domain bzw. DynDNS erreichen wollt, aber bei der Installation den lokalen Namen oder die lokale IP der DiskStation benutzt.

Nextclud Hub Installation im Browser
Nextclud Hub Installation im Browser

Den Fehler könnt ihr einfach ignorieren, ihr seht ihn nur, wenn eure DiskStation keine 64bit-CPU aufweist. Gebt einen Benutzernamen und ein Passwort für den Nextcloud-Admin ein (der NC-Admin hat nichts mit dem Admin der DiskStation zu tun). Unter Speicher & Datenbank > Datenverzeichnis ist standardmäßig /volumeX/web/nextcloud/data eingetragen, gebt den Pfad zum freigegebenen Ordner an, den ihr vorhin angelegt habt.

Im Abschnitt “Datenbank” tragt ihr den Datenbank-Benutzer sowie den Datenbank-Namen ein, die ihr im vorherigen Abschnitt angelegt habt. Für die Datenbankdomain ist “localhost” voreingetragen, ihr müsst noch den Port ergänzen. MariaDB 10 hat in DSM 7 den Port 3306 und nicht wie früher 3307. Den Port könnt ihr in MariaDB 10 ändern.

Datenbankdetails
Datenbankdetails

Klickt den Button “Installation abschließen” um das Setup abzuschließen. Nach einigen Augenblicken ist die Installation abgeschlossen und ihr solltet das Webinterface sehen.

Ihr habt noch die Möglichkeit die empfohlenen Apps zu installieren. Überspringt den Schritt und installiert benötigte Apps lieber per Hand. Nicht alle Apps sind auf jeder DiskStation lauffähig und mit Office und Talk werden teilweise sehr große Apps installiert die ihr eventuell gar nicht benötigt oder nutzen könnt.

Willkommenstour im Webinterface
Willkommenstour im Webinterface

OnlyOffice aktivieren

Seit Nextcloud 18 wird mit dem Community Document Server eine integrierte Version von OnlyOffice angeboten. Dieser ist als App installierbar und soll die Bereitstellung von OnlyOffice via Docker überflüssig machen. Und jetzt kommt das fett ABER:
Die App ist immer noch nicht in einem annähernd stabilen Zustand. Ich rate von einer produktiven Nutzung ab. Folgende Fehler wurden mir von anderen Benutzern/Lesern mitgeteilt und konnten auch von mir nachgeprüft werden:

  • Änderungen über den Browser werden zwar gespeichert und sind beim nächsten Öffnen im Browser wieder vorhanden, werden aber nicht richtig von der Cloud erfasst und somit weder in der Versionierung eingetragen noch richtig synchronisiert. Bei Bearbeitung einer Datei mit mehreren Geräten (auch nacheinander) kann Datenverlust auftreten.
  • Ältere Versionen können nicht geöffnet werden, von Excel-Dokumenten wird immer die aktuellste Version geöffnet, Word-Dokumente öffnen sich gar nicht. Eine WIederherstellung einer älteren Version funktioniert aber.

Wer Dokumente direkt über die Cloud bearbeiten möchte, muss dann doch auf Docker zurückgreifen. Als mögliche Lösung bieten sich OnlyOffice (sofern ihr keine Bearbeitung auf Mobilgeräten benötigt) oder Collabora/LibreOffice an. Anleitungen dazu findet ihr dazu hier in meinem Blog, folgt einfach den Links.

So viel zu “integriert”, selbst wenn ihr OnlyOffice bei der Einrichtung mitinstalliert habt, läuft noch gar nichts. Trotzdem ist die Integration ein Schritt nach vorne. Bisher musste OnlyOffice in einem Docker-Container aufgesetzt werden und Docker auf der DiskStation ist kein Spaß (die Synology-Version von Docker funktioniert wieder mal anders als die offizielle Version). Die integrierte Version von OnlyOffice macht Docker überflüssig. Das ändert aber nichts daran, das OnlyOffice immer noch eine x86-CPU voraussetzt. Ist in eurem NAS eine ARM-CPU verbaut, könnt ihr den Abschnitt überspringen.

Von offizieller Stelle nicht dokumentiert, muss noch eine weitere App installiert werden. Öffnet den Appstore indem ihr im Webinterface rechts, oben auf euren Account klickt und dort + Apps auswählt.

Wenn Ihr die empfohlenen Apps nicht installiert habt: Sucht nach die App ONLYOFFIC. Ihr findet sie im Bereicht “Büro & Text”. Ladet die App herunter und aktiviert sie. Sucht dann die App Community Document Server, ebenfalls unter “Büro & Text”. Ladet die App herunter und aktiviert sie.

Synology macht hier wieder mal Probleme. Eine Datei fehlt, aber mit ein paar extra Schritten bekommen wir auch das in den Griff.

  1. Ladet libstdc++6 für Debian hier herunter.
  2. Entpackt folgende Datei: data.tar\.\usr\lib\x86_64-linux-gnu\libstdc++.so.6.0.25
  3. Benennt die Datei in libstdc++.so.6 um.
  1. Ladet die Datei auf eure DiskStation.
  2. Kopiert die Datei mit PuTTY:
cp <PfadZurDatei> /volume1/web/nextcloud/apps/documentserver_community/3rdparty/onlyoffice/documentserver/server/FileConverter/bin
  1. Passt die Rechte und den Besitzer der Datei an. Der Besitzer muss http http sein. Nutzt die bei “Installation” angegebenen Befehle.
  1. Geht jetzt in den Adminbereich: Rechts, oben auf den Account klicken und Einstellungen. Im Navigationsbereich könnt ihr ONLYOFFICE auswählen. Kontrolliert ob die Einstellungen vorhanden sind. Unter “Serviceadresse der Dokumentenbearbeitung” muss die URL eurer Nextcloud eingetragen sein. Verwendet ihr https – was ich dringend empfehle – muss die URL der Domain entsprechen, auf die das SSL-Zertifikat ausgestellt ist.

Das war’s. Klickt ihr jetzt im Bereich “Dateien” auf ein Dokument öffnet sich OnlyOffice und ihr könnt es im Browser bearbeiten. Erscheint nur die Auswahl für einen Download, ist OnlyOffice nicht aktiv. Erscheint “Community document server is not supported for this instance, please setup and configure an external document server”, dann müsst ihr im Log nach der genauen Fehlermeldung suchen. Dazu müsst ihr im Adminbereich auf “Protokollierung” gehen. Steht dort “OCA\DocumentServer\Document\DocumentConversionException: sh: ./x2t: cannot execute binary file: Exec format error” dann hat eure DiskStation eine ARM-CPU und auf der läuft OnlyOffice nicht.

Nextcloud optimieren

Nach der Installation sind einige Anpassungen der Einstellungen notwendig. Einige davon werden euch sogar von eurer Nextcloud vorgeschlagen. Ihr findet diese Fehler- und Hinweismeldungen im Menü unter Administratoreinstellungen > Übersicht > Sicherheits- und Einstellungswarnungen. Da sich die DiskStation nicht immer wie ein normaler Linux-Server verhält, gilt es herauszufinden wo die Konfigurationsänderungen wirksam vorgenommen werden können und welche zusätzlichen Schritte erforderlich sind.

Warnungen im Adminbereich
Warnungen im Adminbereich

PHP-Memory-Cache aktivieren

Der Memory-Cache verbessert die Leistung eurer Cloud. Seid ihr meiner Installationsanleitung gefolgt, habt ihr ihn bereits aktiviert und müsst ihn nur noch in der Nextcloud-Konfiguration eintragen. Habt ihr den Cache nicht aktiviert, könnt ihr das nachholen, indem ihr im PHP-Profil den Haken bei “PHP-Cache aktivieren” setzt.

Um den Cache in die Nextcloud-Konfiguration einzutragen, öffnet mit PuTTy die Datei /web/Nextcloud/Config/config.php und fügt am Ende der Datei (noch vor der schließenden Klammer) folgende Zeile ein:

'memcache.local' => '\\OC\\Memcache\\APCu',

Speichert und schließt die Datei.

Redis aktivieren

Redis verbesser das File Locking und kann als distributed Cache verwendet werden. Um Redis verwenden zu können, müsst ihr das Paket “Redis” auf eurer DiskStation installieren. Ihr findet es in der Community-Paketquelle.

Ganz ohne Workaround geht es leider auch unter DSM 7.2 nicht. Den Redis-Server habt ihr jetzt, allerdings braucht ihr auch den Redis-Client als PHP-Modul. Redis wird zwar mit den Synology-PHP-Paketen mit ausgeliefert, aber in der WebStation könnt ihr Redis nicht aktivieren. Das müsst ihr über die Kommandoziele erledigen.

Ohne vHost

Legt unter /usr/local/etc/phpXX/conf.d/ die Datei user_settings.ini an und dort tragt ihr folgende Zeile ein:

extension = redis.so

Mit vHost

Öffnet die Datei /var/packages/WebStation/etc/php_profile/<String>/conf.d/user_settings.ini und ergänzt dort obige Zeile.
<String> steht für eine Zeichenkette, jedes angelegte PHP-Profil in der WebStation wird unter so einer Zeichenkette abgespeichert. Welches das gewünschte PHP-Profil ist, kann durch einen Blick in die jeweilige user_settings.ini erraten werden. Dort finden sich alle aktivierten PHP-Module, die open_basedir sowie die gesetzten PHP-Variablen. Seid ihr euch nicht sicher, öffnet das angelegte PHP-Profil in der WebStation und macht dort eine Änderung die ihr in der user_setttings.ini erkennen könnt. Vergesst aber nicht, diese Änderung rückgängig zu machen, bevor ihr Redis eintragt.
Startet im Anschluss eure DIskStation neu.

Nach dem Neustart, öffnet die Datei /web/Nextcloud/Config/config.php in PuTTY und tragt folgende Zeilen ein (am besten unterhalt von 'memcache.local' ...):

'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' =>
array (
    ‘host’ => ‘localhost’,
    'port' => '6379',
    ‘timeout’ => 0.0,
    ‘password’ => ”,
    ‘dbindex’ => 0,
),

Speichert und schließt die Datei.

Redis Paket
Redis findet ihr in der Community-Paketquelle
Redis konfigurieren
Redis in der Nextcloud-Konfiguration eintragen

Cache auf der Kommandozeile aktivieren

Ihr habt bereits den PHP-Cache aktiviert, der gilt allerdings nur serverseitig, also wenn PHP vom Webserver aufgerufen wird. Damit ihr die Hintergrundaufgaben der Cloud per Cron aufrufen könnt (siehe unten) und Nextclouds Kommandozeilenbefehle (occ-Commands, werden für das Updaten der Cloud benötigt) ausführen könnt, müsst ihr den Cache auch auf der Kommandozeile aktiveren. Das geht auf der DiskStation – wie so vieles – nicht wie auf einem gewöhnlichen Linux-Server, bzw. nicht da wo man es erwarten könnte.

Erstellt über die Kommandozeile (z.B. mit PuTTY) die Datei /usr/local/etc/php80/cli/conf.d/user_settings.ini und fügt dort folgenden Inhalt ein:

extension = apcu.so

[apc]
apc.shm_size = 512M
apc.enable_cli = 1

Speichert und schließt die Datei. Jetzt müsst ihr noch die Rechte anpassen:

chmod -R 644 /usr/local/etc/php80/cli/conf.d/user_settings.ini

Hintergrundaufgaben per Cron

Nextcloud erledigt viele Aufgaben über Hintergrundprozesse, diese müssen aber auch ausgeführt werden. Standardmäßig passiert das beim Laden einer Seite, sprich, wenn jemand das Webinterface öffnet. Tut das aber niemand, werden die Hintergrundprozesse nicht ausgeführt. Besser ist es, diese regelmäßig von eurer DiskStation ausführen zu lassen. Dazu verwenden wir den Aufgabenplaner. Öffnet in DSM die Systemsteuerung und dort den Aufgabenplaner. Legt eine neue Aufgabe (Erstellen > Geplante Aufgabe > Benutzerdefiniertes Skript) an.

Skript Aufgabenplaner
Der Aufgabenplaner kann eigene Shell-Kommandos und Skripte ausführen
Nextcloud Cron aufrufen
Ruft die Datei cron.php auf
  • Vergebt einen Namen.
  • Belasst den Benutzer root.
  • Unter Zeitplan legt ihr fest, dass die Aufgabe täglich alle 5 Minuten ausgeführt werden soll.
  • Es ist hilfreich sich per E-Mail benachrichtigen zu lassen (“Ausführungsdetails per E-Mail senden”) wenn die Aufgabe nicht richtig ausgeführt werden konnte (“Ausführungsdetails senden, wenn das Skript unnormal beendet wird”).
  • Unter “Benutzerdefiniertes Skript” tragt ihr folgende Zeile ein:
sudo -u http php80 /var/services/web/Nextcloud/cron.php

Bestätigt die neue Aufgabe mit Klick auf OK.

Öffnet jetzt im Nextcloud-Webinterface Einstellungen > Grundeinstellungen > Hintergrund-Aufgaben und aktiviert die Option Cron. Wartet jetzt etwas mehr als 5 Minuten und ladet die Seite neu. Der Punkt neben der Überschrift muss grün sein und die letzte Ausführung weniger als 5 Minuten her sein.

Nextcloud Cron
Erfolgreich ausgeführte Hintergrundaufgaben

PHP-Variablen anpassen

Damit auch größere Dateien über das Webinterface hochgeladen werden können, müssen einige PHP-Variablen angepasst werden. Auch der für Nextcloud zur Verfügung stehende Arbeitsspeicher sollte erhöht werden. Öffnet dazu in DSM die Web Station > PHP-Einstellungen und bearbeitet das PHP-Profil, das eure Nextcloud nutzt (ein virtueller Host und ein eigenes PHP-Profil für Nextcloud sind eben sinnvoll). Sucht im Reiter Kern nach der Variable memory_limit und weisen Sie mindestens 2 GB (als Wert 2G) zu. Mehr ist natürlich besser, allerdings hängt das auch davon ab wie viel RAM eure DiskStation besitzt und ob auch andere Prozesse auf eurem NAS laufen (die natürlich ebenfalls RAM benötigen).

Sucht jetzt die Variablen post_max_size und upload_max_filesize und tragt dort einen hohen Wert (z.B: 16G) ein. Dabei handelt es sich nicht um Arbeitsspeicher, sondern um die Dateigröße, die ihr auf einmal hochladen könnt. Den Unterschied zwischen den beiden Variablen verrät euch Google, in den meisten Fällen reicht aber der selbe Wert bei beiden Variablen. Für den Upload großer Datenmengen verwendet man sowieso selten das Webinterface.

PHP-Variablen
Mehr RAM und größere Uploadgrenzen für Nextcloud

HSTS aktivieren/https-Umleitung

Habt ihr für die Installation meine Anleitung benutzt und habt euch an meine Empfehlung gehalten für Nextcloud einen eigenen virtuellen Host einzurichten, solltet ihr diese Meldung gar nicht erst erhalten. Falls doch, kontrolliert, ob ihr HSTS und HTTP/2 aktiviert habt. Falls ihr keinen virtuellen Host angelegt habt, könnt ihr jetzt einen anlegen. Wählt dazu in der Web Station virtueller Host und legt einen neuen Eintrag an.

  • Tragt den Hostnamen ein, unter dem ihr eure Nextcloud erreichen wollt. (Der Hostname muss existieren und auf eure DiskStation verweisen, mehr dazu in diesem Artikel.)
  • Wählt die Ports, für die der virtuelle Host gilt (im Normalfall 80/443).
  • Wählt als Dokument-Root den Nextcloud-Ordner (/web/Nextcloud).
  • Aktiviert unbedingt HSTS und HTTP/2, das sorgt dafür, dass alle http-Zugriffe auf eure Cloud auf https umgeleitet werden.
  • Wählt als Webserver Apache 2.4 und das zuvor angelegte PHP-Profil.
Nextcloud vHost
HSTS über den vHost aktivieren

Wollt, oder könnt ihr keinen virtuellen Host verwenden, könnt ihr HSTS auch global auf eurem Webserver aktivieren. Legt in PuTTY als root die Datei /etc/nginx/conf.d/http.hsts.conf an und fügt folgende Zeile ein:

add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";

Speichert und schließt die Datei und startet anschließend Nginx neu (synoservice -restart nginx).

Open_basedir-Ergänzungen

Öffnet das PHP-Profil für Nextcloud und fügt unter “PHP open_basedir benutzerspezifisch anpassen” die Pfade /dev/urandom, /proc/meminfo, /proc/cpuinfo, /proc/uptime und /sys/class/net/eth0 hinzu (vergesst den Doppelpunkt zum Trennen einzelner Pfade nicht).

Standard-Telefonregion festlegen

Öffnet einfach eure Nextcloud-Config und fügt in den geschwungenen Klammern folgenden Eintrag hinzu:

'default_phone_region' => 'AT',

Ersetzt AT durch DE, CH oder einen anderen, von euch gewünschten ISO-Ländercode.

E-Mail-Serverkonfiguration

Damit ihr gewisse Funktionen von Nextcloud verwenden könnt, müsst ihr eine E-Mail-Adresse konfigurieren. Wechselt dazu in die Grundeinstellungen und hinterlegt dort unter E-Mail-Server die Einstellungen eures Mail-Kontos.

Rechte anpassen

Während der Installation wurden die Rechte für den Nextcloud-Ordner und das Datenverzeichnis nur sehr locker gesetzt. Das ist während der Installation auch notwendig. Für den Betrieb sollten die Rechte aus Sicherheitsgründen aber so strikt wie Möglich gesetzt werden. Da ihr für ein Update die Rechte wieder lockern müsst, ist es ratsam, die Rechte über Skripte anzupassen. Legt also mit PuTTY auf eurer DiskStation eine Datei mit Endung .sh an. Fügt dann folgenden Code ein:

#!/bin/bash
ncpath='/volume1/web/Nextcloud'
ncdatapath='/volume1/NextcloudData'
htuser='http'
htgroup='http'
rootuser='root'

printf "chmod Files and Directories\n"
find ${ncpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ncpath}/ -type d -print0 | xargs -0 chmod 0750
find ${ncdatapath} -type f -print0 | xargs -0 chmod 0640
find ${ncdatapath} -type d -print0 | xargs -0 chmod 0750

printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ncpath}/
chown -R ${htuser}:${htgroup} ${ncpath}/apps/
chown -R ${htuser}:${htgroup} ${ncpath}/config/
chown -R ${htuser}:${htgroup} ${ncpath}/themes/
chown -R ${htuser}:${htgroup} ${ncpath}/updater/
chmod +x ${ncpath}/occ

printf "chmod/chown .htaccess\n"
if [ -f ${ncpath}/.htaccess ]
then
    chmod 0644 ${ncpath}/.htaccess
    chown ${htuser}:${htgroup} ${ncpath}/.htaccess
fi
    chown ${htuser}:${htgroup} ${ncpath}/.user.ini

Achtet bitte wieder auf die einfachen und doppelten Anführungszeichen. Ihr könnt das Skript jetzt mit folgendem Befehl ausführen:

sh /volumeX/Pfad/zum/Script/Betriebsberechtigungen.sh

Probleme, die sich nicht oder nur eingeschränkt beheben lassen

Bisher konnten die Sicherheitswarnungen und Betriebsempfehlungen mit relativ wenig Aufwand beseitigt werden. Jetzt kommen wir aber zum unangenehmen Teil. Es gibt Meldungen, die sich auf der DiskStation derzeit nicht oder nur bedingt beheben lassen.

CalDAV- und CardDAV-URLs

Die Meldung “Ihr Webserver ist nicht richtig konfiguriert um “./well-known/caldav” (bzw. ./well-known/carddav) aufzulösen.” Erscheint nur dann, wenn ihr für Nextcloud keinen virtuellen Host konfiguriert habt. Da die, von Nextcloud vorgegebenen, Standardwerte für die URLs vom Document-Root ausgehen, Nextcloud aber in einem Unterverzeichnis liegt. Habt ihr einen virtuellen Host angelegt, ist für diesen das Unterverzeichnis der Root-Ordner und somit alles in Ordnung. Normalerweise ließe sich das Problem auf viele verschiedene Weisen lösen, indem die URL einfach um den Unterordner ergänzt wird. Aus bisher nicht bekannten Gründen funktioniert das aber auf den NAS-Geräten von Synology nicht,, bzw. um präziser zu sein, nicht bei allen Anwendern. Es gibt für das Problem mehrere Lösungen aber diese funktionierten nicht immer bei allen. Fragt die Suchmaschine eurer Wahl nach den Lösungen und probiert sie durch. Wenn das nicht klappt, bleibt euch also nur, einen virtuellen Host für Nextcloud einzurichten, oder Nextcloud direkt im Document-Root (/web) zu installieren. Ersteres bedeutet, ihr braucht einen Host (Subdomain) allein für Nextcloud, zweiteres bedeutet ihr könnt keine andere Webseite im Dokument-Root betreiben.

Fazit

Habt ihr alle Meldungen beseitigt (sofern sie sich beseitigen lassen) und habt ihr die Rechte angepasst, steht dem Betrieb eurer eigenen Cloud nichts mehr im Wege. Zumindest bis zum nächsten Update. Denn dann warten vermutlich neue Meldungen darauf von euch beseitigt zu werden.

Der Entwicklungszyklus von Nextcloud ist recht kurz und neben den regelmäßigen Updates, warten zwei Mal in Jahr neue Hauptversionen darauf installiert zu werden. Die Meldungen, die ihr in der Übersicht von Nextcloud erhaltet, hängen stark davon ab, welche Version ihr Installiert, ob ihr ein Update durchführt und welche Versionen ihr dabei ausgelassen habt und vorallem davon, wie euer Webserver bereits konfiguriert ist. Es kann daher gut sein, dass ihr Meldungen sehr, die mir noch nicht untergekommen sind. Sollte das der Fall sein, werdet ihr entweder in der Vorgängerversion dieses Artikels fündig oder ihr hinterlasst mir einen Kommentar.

Jetzt könnt ihr Nextcloud direkt im Browser nutzen, oder ihr ladet euch den Client herunter. Der Client funktioniert ganz ähnlich wie der von Dropbox. Ihr könnt eure gesamte Cloud mit eurem Rechner synchronisieren oder aber nur einzelne Ordner. Das synchronisieren einzelner Ordner ist auch dann ganz hilfreich wenn ihr schon eine bestehende Ordnerstruktur für eure Daten (Bilder, Videos, Datein, etc.) – z.B. auf verschiedenen Laufwerken – habt und ihr diese beibehalten wollt. Der Client ermöglicht auch die Verwendung mehrerer Nextcloud-Instanzen. Die Client-App für Smartphones bietet auch die Option Bilder automatisch hochzuladen. Die Daten selbst werden nicht alle auf das Smartphone heruntergeladen, erst wenn ihr einzelne Dateien über die App abruft.

Möchtet Ihr noch detailliertere Schritt-Für-Schritt-Anleitungen für euer Synology NAS, mit viel mehr Hintergrundinformationen, Tipps und Tricks? Dann holt euch mein Wissen als als umfassendes Praxis-Handbuch. Mehr Infos findet ihr in keinem Buch zu Synology und alles in der von mir gewohnten Qualität.

Die dritte Auflage enthält Aktualisierungen zu DSM 7.1 und den Updates von WebStation, Surveillance Station und Synology Photos.

Das Buch direkt beim Verlag

Das Buch auf Amazon

Related Posts

86 thoughts on “Nextcloud Installation auf einer Synology DiskStation mit DSM 7.1

  1. Hallo Andreas,
    also deine Anleitungen sind wirklich super und informativ.
    Ich bekomme die vHosts nicht mehr zum Laufen seit DSM 7.2. Laut Web Station 4.2.1-0492 Protokoll sucht er im Unterordner nach Zeugs und wenn ich den /webroot dann einen Ordner drüber setze meldet er, dass vom Server generierte index.html Datei nicht akzeptiert wird. Passiert so nicht ohne vHost. Super merkwürdig..

    Ich würde mich über ein Update des Artikels mit der DSM 7.2 und der neuen Web Station Oberfläche freuen. Was ich im Netz wirklich vermisse, ist gleich die Kombination mit NGINX statt Apache als Backend. Gerade eine vernünftige Anleitung für unsere DiskStations fehlt im Netz. Vielleicht kannst du den Artikel ja sogar darum ergänzen. Da würden sich wohl sehr viele darüber freuen, wenn man die Nextcloud mit Nginx direkt zum Laufen bekommen würde. Ich habe schon Stunden mit dem Versuch der NGINX config Datei verbracht und komme nicht weiter. Einzigst diesen Artikel fand ich etwas hilfreich um etwas über das nginx config verhalten der Syno zu erfahren nyllep.wordpress.com/2019/05/24/setting-up-nextcloud-16-on-synology-webstation/.

    Ich weis ist nicht ganz Topic, aber: Bei mir kommt noch erschwerend hinzu, dass mein lokaler Internetanbieter zu dem ich wechseln musste kein IPv4 mehr anbietet. Ich bin also gezwungen meine Systeme bis nächsten Monat auch noch auf IPv6 um zu stellen. Das könnte ebenfalls eine sehr hilfreiche Ergänzung für den Gesamtartikel werden 🙂
    Ich nutze den Anlass um alles von einer ownCloud in eine frische NextCloud Instanz zu migrieren. OC läuft zwar relativ gut als Docker aber ein paar Bugs sind noch vorhanden deswegen auch der Wechsel zu NC.

    Grüße
    DSMTuxUser

    1. Hallo,

      Ich habe gestern erst selbst das DSM 7.2 Update gemacht. Der vHost wird jetzt etwas anders eingerichtet. Hattest du vorher schon einen vHost? Meiner wurde migriert und hat unter DSM 7.2 problemlos funktioniert.
      Der neue Artikel für die Nextcloud-Installation unter DSM 7.2 ist schon in Vorbereitung.

      Das Thema Nginx ist etwas problematisch. Es gibt deswegen keine Anleitungen weil es einfach auf der DS nicht funktioniert hat. Das PHP-Paket von Synology konnte nicht richtig konfiguriert werden. Da die neue WebStation jetzt scheinbar auch PHP über Docker erlaubt, könnte das jetzt gehen. Allerdings habe ich mich noch nicht eingehend damit befasst.
      Wenn du Nginx möchtest, ist es am einfachsten Nextcloud als Docker-Container zu betreiben. Das könnte dann auch dein IPv6 Problem lösen. Mit IPv6 kann ich dir leider nicht weiterhelfen, da ich eine statische IPv4 habe.

      Grüße,
      Andreas

      1. Hallo Andreas,
        du sprichst mir aus der Seele was Docker und NGINX angeht. Das habe ich auch schon angetestet. Ich blicke aber noch nicht mit der NGINX config durch. Es läuft ja “NUR” Nextcloud PHP- FPM wie jetzt ich da den vHost ansetze konnte ich noch nicht heraus bekommen ist aber spannend da es “theoretisch” ja irgendwie gehen müsste. Habe schon Stunden investiert und wäre aber für mich die Beste Finale Lösung. Du scheinst mir da schon etwas tiefer in der Materie bewandert. Das das Syno PHP nicht richtig konfiguriert werden konnte war mir neu und ist informativ danke dafür: :-))
        Docker macht immer noch mit IPv6 Probleme. Das Problem ist hinreichend bekannt und betrifft den Docker DNS Service wenn ich es richtig verstanden habe ist der immer noch rudimentär (Erste IPv6 Entwicklung) obwohl IPv6 langsam aber sicher Standard wird.
        Schade dass du nur eine statische IPv4 hast, denn das Problem wird mit Sicherheit in den nächsten Jahren akuter und die Netzanbieter werden dann keine feste IP Adressen mehr raus geben.. Dein Artikel wird langsam aber sicher zum Allrounder FAQ für Syno wie ich sehe und da würden viele den Teil mit IPv6 Wertschätzen. Bist du sicher dass du kein Dual Stack hast? Normalerweise wird das anstatt IPv4 only geschaltet oder eben bei manchen Anbietern in bestimmten Regionen nur noch IPv6 (DS Lite). Mit Dual Stack wären parallel Tests möglich. Erste Tests zur Web Station habe ich eben erfolgreich mit IPv6 hinbekommen (Auch mit No-IP Domain (AAAA Record) und LE Zertifikat). Ich bin diesbezüglich noch gespannt, wie dass dann eventuell mit dem Docker Routing klappt..

        Grüße
        DSMTuxUser

        1. Hallo,

          Das ist der Vorteil wenn man im kleinen Österreich lebt. Grundsätzlich bieten die meisten Provider den Privatkunden sowieso nur dynamische IP-Adressen an. IPv6 bekommt man (zumindest bei Kabel-Netz) gar nicht bzw. je nach Provider nur auf Anfrage bzw. in eigenen Paketen. Es ist einfach so, dass noch genug IPv4 Adressen zur Verfügung stehen.

          Irgendwann wird die Zeit kommen, aber ich hoffe das dauert noch.

          Grüße
          Andreas

        2. Nun in Deutschland ist es soweit. O2 bietet bei Kabel keine IPv4 mehr an. Vodafone in bestimmten Regionen auch nicht mehr. Da ist Ö. ja noch richtig gut dran. Zumal es hier eigentlich nur noch die TKom, Vodafone und O2 gibt. Das Problem ist einfach dann die nicht vorhandene Abwärtskompatibilität. Wenn es dann soweit ist muss man schon umgestiegen sein nicht erst danach, gerade wegen der fehlenden Abwärtskompatibilität. Sollte man große Datenmengen bewegen, ist natürlich eine Tunnelserverlösung dann auch keine Option.
          Trotzdem vielen herzlichen Dank für deine Artikel und deine Mühen. Sind wirklich nützlich und informativ. Gibt zu wenig Infos die auf die Syno umgebogen werden und vor allem zu wenig in Deutsch 😉

          Auf einen Part oder Informationen der dann Nextcloud direkt mit NGINX zum Laufen bringt wäre Ich und viele andere natürlich sehr dankbar, falls du Lust dazu hast das aus zu arbeiten. Ich werde natürlich auch immer wieder mal einen Versuch mit einigen Stunden starten nur bin ich zu bequem zum Bloggen sollte ich eine Lösung finden. Falls ich das also irgendwie hin bekommen sollte hinterlasse ich hier einfach einen Kommentar. Bin aber noch nicht ganz optimistisch, da ich das Zusammenspiel von PHP mit NextCloud FPM Docker,vHost, Nginx + Reverse Proxy noch nicht so ganz im Kopf zusammen bekomme. Aber wenn ich mit so etwas anfange dann mach ich da immer mal wieder weiter bis ich eine Lösung finde. Frei nach dem Motto geht nicht – gibts nicht. (Auch wenns manchmal dann doch nicht will)
          🙂

          VG
          DSMTuxUser

  2. Hi Andreas,
    die Anleitung ist wunderbar, vielen Dank! Ich komme auf einer DS923+ leider nur bis zu dem Punkt, an dem es der Installationsassistent den Rest erledigen soll. Der Installationsassistent meldet sich ordnungsgemäß, allerdings kommt dem Klick auf “Installieren” nach einigen Augenblicken eine 504-Seite “Bei der Verarbeitung dieser Anforderung ist ein Fehler aufgetreten.”. Wo kann ich da anfangen, nach Fehlern zu suchen?
    Vielen Dank und LG,
    René.

    1. Hallo René,

      Kontrollier doch bitte, ob du auch tatsächlich den Apache als Webserver eingestellt hast. Ich meine mich zu erinnern dass der Nginx einen 504 Error erzeugt.
      Ansonsten gibt es einige Log-Dateien die du kontrollieren kannst. Das Nginx-Error-Log sowie das Apache Error- und Access-Log. Die sind leider nicht ganz einfach zu finden. Bzw kann es sein, dass du diese erst aktivieren musst. Im Internet finden sich diverse Anleitungen dazu.

      Grüße
      Andreas

  3. Nach dem Upgrade auf 26.0.1 bekomme ich keinen Cronjob mehr durchgeführt.
    Die Fehlermeldung ist ein Scherz: Die letzte Aufgaben-Ausführung lief vor einem Monat. Etwas scheint falsch zu sein.
    langsam verzweifele ich mit denen, jedes Uprgrade bringt irgend ein neues Ungemach.
    Hast Du zufällig eine Idee was den Fehler auslöst?

    1. Hallo Hans,

      Ich hatte das selbe Problem. Hab zuerst den external Storage als Fehlerquelle vermutet, wars dann aber doch nicht.
      Es gibt zwar im Nextcloud-Forum diverse ältere Beiträge zum Cron der sehr lange braucht aber nicht dass er komplett steckt.
      Hab alle logs durchsucht und nichts gefunden. Welcher Cron stecken bleibt war bei mir recht zufällig, manchmal der erste, manchmal der zweite und manchmal erst irgendwann tagsüber.
      Ich hab ein Backup eingespielt und bleibe vorerst bei NC 25.

      Grüße,
      Andreas

      1. Ich habe es auf Ajax umgestellt, der Cron läuft, löst aber einen Fehler aus: OCP\HintException: [0]: Memcache \OC\Memcache\APCu, weiß der Teufel was er will, ich vermute mal es liegt an dem tollen Script von Nextcloud. Da ich nur die Adressen und den Kalender in der Nextcloud habe, ist das für mich nicht dramatisch aber ärgerlich zumal die Herren der Netcloud Weisheit so tun als läge es an mir.
        Ich spiele gleich mal beim Hoster die alte version wieder ein. Die hätte ich auch nicht upgedatet, aber online geht es beim hoster nur version für version

  4. Hallo,
    ich habe nextcloud nach deiner Anleitung bei mir auf der ds218 + installiert.
    Bei mir kann ich nicht redis bzw Memory cache aktivieren, dann habe ich keine Zugriff mehr auf die Oberfläche von Nextcloud. U.a habe ich Probleme beim einbinden externe Daten, via webdav habe ich keinen Zugriff auf meine Fotos.
    023-04-18 12:44:06 [INFO] Clear log with level 1 Nextcloud Liquid for iOS 4.8.0.5 © 2023
    2023-04-18 12:44:11 Network request started: PROPFIND https://domain.de/remote.php/dav/files/basti2/photo_synology_webdav
    2023-04-18 12:44:11 Network request started: PROPFIND https://domain.de/remote.php/dav/files/basti2
    2023-04-18 12:44:12 Network request started: PROPFIND https://domain.de/remote.php/dav/files/basti2/photo_synology_webdav
    2023-04-18 12:44:18 Network response request: https://domain.de/remote.php/dav/files/basti2, result: success(1681 bytes)
    2023-04-18 12:44:18 Network request started: PROPFIND https://domain.de/remote.php/dav/files/basti2/
    2023-04-18 12:44:19 Network response request: https://domain.de/remote.php/dav/files/basti2/photo_synology_webdav, result: success(1676 bytes)
    2023-04-18 12:44:19 Network request started: PROPFIND https://domain.de/remote.php/dav/files/basti2/photo_synology_webdav/
    2023-04-18 12:44:19 Network response request: https://domain.de/remote.php/dav/files/basti2/photo_synology_webdav/, result: failure(Alamofire.AFError.sessionTaskFailed(error: Error Domain=NSURLErrorDomain Code=-1001 “Zeitüberschreitung bei der Anforderung.” UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x283efc540 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 “(null)” UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask ., _NSURLErrorRelatedURLSessionTaskErrorKey=(
    “LocalDataTask .”
    ), NSLocalizedDescription=Zeitüberschreitung bei der Anforderung., NSErrorFailingURLStringKey=https://domain.de/remote.php/dav/files/basti2/photo_synology_webdav/, NSErrorFailingURLKey=https://domain.de/remote.php/dav/files/basti2/photo_synology_webdav/, _kCFStreamErrorDomainKey=4}))
    2023-04-18 12:44:21 Network response request: https://domain.de/remote.php/dav/files/basti2/photo_synology_webdav, result: success(1676 bytes)
    2023-04-18 12:44:21 Network request started: PROPFIND https://domain.de/remote.php/dav/files/basti2/photo_synology_webdav/

    Hat jemand eine Idee und kann mir weiterhelfen?

    1. Hi.
      Bei mir das gleiche Problem mit Redis.
      Ich kriege auf der Web-Oberfläche dann eine ‘Internal Server Error’ Nachricht angezeigt.
      Jemand eine Idee?

      Außerdem kann ich aus irgendeinem Grund in der Oberfläche selbst keine Gruppen hinzufügen.
      Was jedoch in diesem Fall für mich funktioniert hat: In phpmyadmin unter der Tabelle oc_groups einfach manuell einen neuen Eintrag mit id und Gruppen-Anzeigename erstellen.

      1. Hallo Lukas,

        was für eine DiskStation hast du? Ich habe bei meiner alten DS215+ einige Tests mit Nextcloud durchgeführt und dabei konnte ich ebenfalls Redis installiert und eingerichtet und den selben Fehler erhalten.
        Ich konnte in keinem der Log-Files einen Anhaltspunkt finden. Ich hab mir aber auch eingebildet, dass ich auf der 215+ früher, als ich sie noch produktiv genutzt habe, kein Redis installieren konnte.

        Grüße
        Andreas

        1. Hallo Andreas,
          erstmal: Top-Anleitung.

          Zu dem redis-Problem:

          Das c&p-Fenster für die Einträge in der config.php ist widersprüchlich zu den Einträgen, die der danebenliegende Screenshot zeigt. Im Text hast Du ‘memcache.distributed’ => ‘\OC\Memcache\Redis’, drin, dass muss ich auskommentieren, sonst bekomme ich einen internal server error. Im Screenshot hast Du den Eintrag auch nicht drin.

          Trotzdem läuft redis nicht. Warum: Syno mag das redis-paket nicht. Es wurde ja schon in einem Forum erarbeitet, dass die WebStation diese extension sehr wohl aktivieren kann (wie die anderen extension auch), allerdings ist das python-skript für die Oberfläche irgendwo so verhunzt, dass es die Zeile mit der redis-extension nicht gibt.

          Du willst dieses Problem umgehen, indem Du die extension manuell in die user_settings.ini einträgst. Diese Datei wird allerdings bei jedem WebStation-Start neu generiert, Dein Eintrag verschwindet wieder.

          Ich habe es jetzt so gelöst: NEBEN die user_settings.ini habe ich eine redis.ini angelegt. Dort hinein die extension = redis.so. Die lässt die WebStation in Ruhe. PHP aber liest JEDE ini im Config-Pfad aus, also auch diese.

        2. Du hast Recht, die Infos sind veraltet, ich habe lediglich die Anleitung für DSM 7.2 aktualisiert und nicht diese hier. Aber auch die Lösung dort hält nur bis zum Update der Web Station. Wenn deine Lösung ein Update übersteht, wäre das natürlich noch besser. Ich werde es beim nächsten Update testen.

  5. Hallo,

    vielen Dank für die tolle Seite.
    Ich habe jetzt auf meiner DS920 NC25 installiert. Der Umstieg von der alten Ds213+ mit Nextcloud 21 hat ganz gut funktioniert.
    Alle Rechner und Handys können sich mit der NC verbinden, super!
    Es gibt aber noch 2 Probleme:
    1. das Aktualisieren des PHP Caches über den Aufgabenplaner ( Cron Job ) scheint nur sporadisch zu funktionieren, obwohl das Intervall auf 5min gestellt ist.
    Ich bekomme die Meldung: Letzte Cron-Job-Ausführung: Vor 8 Stunden. Check the background job settings ↗.
    Wenn ich die Aktualisierung im Terminal als root ausführe, ist alles OK und die Warnung verschwindet.
    2. Kann es sein wenn man den CRON Job alle 5min laufen lässt, das dann der Ruhemodus der Festplatten blockiert wird?
    Wieviel Performance bringt der Cache? Ist er Pflicht oder kann man die Warnung auch explizit Abschalten und auf den Cache verzichten?
    Ich meine wir sind hier nur 3 User und meistens hat der Server nichts zu tun.

    1. Hallo Matthias,

      Ich kann dir leider keine Erfahrungswerte zum deaktivierten Cache geben. Wobei der Cache sicher nicht so stark ins Gewicht fällt bei 3 Nutzern. Die Frage ist, was der Cron noch macht. Die einzige Info die ich habe sind, dass Hintergrundaufgaben erledigt werde, aber ob sich das nur auf den Cache bezieht weiß ich nicht.
      Wenn du den Cron nicht laufen hast, heißt das die Hintergrundaufgaben werden nur dann ausgeführt, wenn das Webinterface offen ist.
      Der Festplattenruhezustand könnte einen Einfluss haben ,allerdings komme ich gar nicht mehr in den Ruhezustand sobald ich mehrere Clients mit Nextcloud verbinde (Desktop und Mobile App).
      Versuch doch mal die E-Mail Benachrichtigung für den Cron Aufruf im Aufgabenplaner zu aktivieren. Das sollte dir eine Rückmeldung geben warum der Cron nicht aufgeführt wird. Eventuell steckt ein Aufrufvorgang. Der Aufruf ist blockend, kann also kein 2. Mal ausgeführt werden wenn der erste noch läuft.
      Seit einiger Zeit bzw. einigen NC Versionen habe ich das Problem dass der Cron mehr als 5 Minuten braucht wenn ich größere Datenmengen innerhalb kurzer Zeit hochlade und das trotz Umzug auf neue DS.
      Ein komplettes Feststecken hatte ich auch eine Zeit lang, dafür hatte ich keine konkrete Lösung.

      Wichtig wäre, wie gesagt die Rückmeldung von Aufgabenplaner, dann können wir weiter schauen.

      Grüße
      Andreas

  6. wie kann ich denn die ganze nextcloud wieder restlos deinstallieren? Mir gefällt die Performance auf meiner DS118 leider gar nicht.

    1. Verschieb die Dateien auf einen anderen Freigabeordner (hast du all deine Daten auch lokal bzw sinds nur Testdateien, kannst du das auch überspringen), lösch dann den Freigabeordner für die NC Dateien. Lösch unter /web den NC Installationsordner. Wenn du In MariaDB noch andere Datenbanken hast, musst du dich mit phpMyAdmin verbinden und die NC Datenbank und den User löschen, ansonsten kannst du MariaDB deinstallieren.
      Lösch bei Bedarf den vHost und das PHP-Profil, wenn du die WebStation für sonst nichts benötigst, kannst du das Paket direkt deinstallieren.
      Entferne dann noch Portfreigaben/Firewallregeln etc. sofern du diese nicht mehr benötigst.

      Die DS 118 ist von der Hardware zu schwach um NC wirklich nutzen zu können.

      Grüße
      Andreas

  7. Hallo Andreas, ich habe die 24.0.5 ohne fehler Laufen, nach dem Update auf Nextcloud 24.0.6
    Kommt die folgende Fehlermeldung:
    Bei einigen Spalten in der Datenbank fehlt eine Konvertierung in big int. Aufgrund der Tatsache, dass das Ändern von Spaltentypen bei großen Tabellen einige Zeit dauern kann, wurden sie nicht automatisch geändert. Durch Ausführen von “occ db:convert-filecache-bigint” können diese ausstehenden Änderungen manuell übernommen werden. Diese Operation muss ausgeführt werden, während die Instanz offline ist. Weitere Details finden Sie auf der zugehörigen Dokumentationsseite ↗.

    file_metadata.id
    Wierso taucht die auf einmal auf, und was michh hart trifft, die oocweb geht nicht mehr.
    Kann ich die jetzt nur noch neu installieren? Ich hatte es versucht, aber sie bleibt im Wartungsmodus mit der bemerkung ich hätte die falsche php version und ohne occ web bin ich so gut wie aufgeschmissen. Zur zeit bleibt mir nur eine Neuinstallation oder zurück zum Alten. Gibt es bei dir im Buch eined Beschreibung was ich tun kannn ausser neu installieren? Gefunden habe ich nix passendes.
    schönen Abend
    Hans

    1. Hallo Hans,

      Die Lösung steht doch in der Meldung, du brauchst nur den angeführten occ-Befehl über PuTTY ausführen, mehr dazu findest du in diesem Artikel: https://blog.viking-studios.net/nextcloud-hub-optimierung-auf-einer-synology-diskstation-mit-dsm-6/
      Grund dafür: manche NC-Versionen führen neue Tabellen oder Spalten in der Datenbank ein. Da die Big-Int-Konvertierung je nach Datenbankgröße sehr lange dauern kann, passiert das nicht während der Installation, sondern muss danach per Hand gemacht werden.

      Den Wartungsmodus kannst du danach auch über Putty und occ rausnehmen, mehr dazu hier: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#maintenance-commands-label

      Bekommst du danach immer noch die Meldung bezüglich PHP, dann ist deine PHP-Version vielleicht zu alt.

      Grüße
      Andreas

      1. Hallo Andreas,
        ich habe gedacht es gäbe eine neue Version deines Links oben, das der auch für die 7er passt war mir nicht klar.
        eigentlich mache ich alles mit occ web, warum, weil ich da automatisch der richtige User bin und im richtiogen Verzeichnis lande. Runter geht damit, aber die Datenbank will er dann nicht mehr berichtigen.
        Bei Putty kämpfe ich nur noch mit der Syntax, dem richtigen user und der Richtigen Position, da bekomme ich ständig not found, vermutlich passt der Pfad noch nicht. Warum das nicht direkt mit Maria geht kann ich so auch nicht nachvollziehen.
        Aber nach wie vor meldet er das ich eine zu niedere Version von PHP habe wenn ich die NC wieder hochfahren will. Nein, auf meiner Syno kann das nicht sein, ich habe Version 7.3, 7.4 und 8 drauf. Die 7.4. ist gem. der Anleitung hier für NC angepasst und tut auch reibungslos.
        Ich schaue jetzt noch mal bei Deinen Tips unter DMS 6, aber ich fürchte es wird mal wieder nur noch neu Insstallieren helfen
        Danke dir
        Hans

        1. Hallo Hans,

          occ web ist halt eine App, da kanns halt sein, wenn NC grundlegend Probleme hat, dass die App eben nicht läuft, zumal die App seit 7 Monaten nicht mehr aktualisiert wurde und somit auf den neueren Versionen von NC evtl nicht funktioniert.
          In meinem Artikel zur Optimierung sollte aber alles zu Putty und den OCC-Commands stehen. Du solltest lediglich php74 verwenden statt php73.

          Erhälst du das not found zu occ? OCC findest du im Nextcloud-Installationsverzeichnis unter /web. D.h. du musst vorher mit “cd” ins richtige Verzeichnis wechseln bevor du die occ Befehl ausführen kannst.

          Grüße
          Andreas

        2. Hallo Andreas,
          meine Nexcloud läuft ja unter 7.4, deiner Anleitung entnehme ich das man bei occ die php mitgeben kann die man möchte.
          Ich selber habe das jetzt mal mit Heidi erledigt, nix runterfahren, Tabelle auf big setzen und geht. Wenn ich mir die Datenbank anschaue, übersichtlich war gestern und nach wie vor alles auf oc… das erinnert mich an die IBM, die hat sich von HP OpenView gekauft und umbenannt, starten tat man das über OV start…
          Gut, geht jetzt erst mal wieder
          Danke Dir

  8. Hallo Andreas,

    leider bekomme ich den CRON-Job nicht zum laufen.

    Diese Fehlermeldung wird ausgegeben:
    Standardausgabe/Fehler:
    OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)

    Der PHP-Cache ist aber aktiviert und ‘memcache.local’ => ‘\\OC\\Memcache\\APCu’, ist auch in der config.php hinterlegt.

    Wo könnte mein Fehler sein?

    VG Steffen

      1. Hallo Andreas,

        memcache. local aus der config.php gelöscht => Cron läuft! Super

        Jetzt kommt das aber!

        In der Fehlerliste taucht jetzt folgender Fehler auf:
        Es wurde kein PHP Memory Cache konfiguriert. Konfigurieren Sie zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen finden Sie in unserer Dokumentation ↗.

        Desweiteren werde ich diese blöden Fehler nicht los:
        Ihr Webserver ist nicht richtig konfiguriert um “/.well-known/webfinger” aufzulösen. Weitere Informationen hierzu finden Sie in unserer Dokumentation ↗.
        Ihr Webserver ist nicht richtig konfiguriert um “/.well-known/nodeinfo” aufzulösen. Weitere Informationen hierzu finden Sie in unserer Dokumentation ↗.
        Ihr Webserver ist nicht richtig konfiguriert um “/.well-known/caldav” aufzulösen. Weitere Informationen hierzu finden Sie in unserer Dokumentation ↗.
        Ihr Webserver ist nicht richtig konfiguriert um “/.well-known/carddav” aufzulösen. Weitere Informationen hierzu finden Sie in unserer Dokumentation ↗.

        Hast Du ne Lösung für mich? Danke

        Grüße
        Steffen

  9. Hallo Andreas,

    ich habe die Nextcloud 24.0.5 nach deiner super Anleitung installiert.

    Leider bekomme ich die folgende Fehlermeldung angezeigt:

    Einige App-Ordner haben einen anderen Besitzer als der Benutzer des Webservers. Dies kann der Fall sein, wenn Apps manuell installiert wurden. Prüfen Sie die Berechtigungen der folgenden App-Ordner:
    /volume1/web/NextCloud/apps/accessibility
    /volume1/web/NextCloud/apps/activity
    /volume1/web/NextCloud/apps/admin_audit
    /volume1/web/NextCloud/apps/circles
    /volume1/web/NextCloud/apps/cloud_federation_api
    /volume1/web/NextCloud/apps/comments
    /volume1/web/NextCloud/apps/contactsinteraction
    /volume1/web/NextCloud/apps/dashboard
    /volume1/web/NextCloud/apps/dav
    /volume1/web/NextCloud/apps/encryption
    /volume1/web/NextCloud/apps/federatedfilesharing
    /volume1/web/NextCloud/apps/federation
    /volume1/web/NextCloud/apps/files
    /volume1/web/NextCloud/apps/files_external
    /volume1/web/NextCloud/apps/files_pdfviewer
    /volume1/web/NextCloud/apps/files_rightclick
    /volume1/web/NextCloud/apps/files_sharing
    /volume1/web/NextCloud/apps/files_trashbin
    /volume1/web/NextCloud/apps/files_versions
    /volume1/web/NextCloud/apps/files_videoplayer
    /volume1/web/NextCloud/apps/firstrunwizard
    /volume1/web/NextCloud/apps/logreader
    /volume1/web/NextCloud/apps/lookup_server_connector
    /volume1/web/NextCloud/apps/nextcloud_announcements
    /volume1/web/NextCloud/apps/notifications
    /volume1/web/NextCloud/apps/oauth2
    /volume1/web/NextCloud/apps/password_policy
    /volume1/web/NextCloud/apps/photos
    /volume1/web/NextCloud/apps/privacy
    /volume1/web/NextCloud/apps/provisioning_api
    /volume1/web/NextCloud/apps/recommendations
    /volume1/web/NextCloud/apps/serverinfo
    /volume1/web/NextCloud/apps/settings
    /volume1/web/NextCloud/apps/sharebymail
    /volume1/web/NextCloud/apps/support
    /volume1/web/NextCloud/apps/survey_client
    /volume1/web/NextCloud/apps/systemtags
    /volume1/web/NextCloud/apps/text
    /volume1/web/NextCloud/apps/theming
    /volume1/web/NextCloud/apps/twofactor_backupcodes
    /volume1/web/NextCloud/apps/updatenotification
    /volume1/web/NextCloud/apps/user_ldap
    /volume1/web/NextCloud/apps/user_status
    /volume1/web/NextCloud/apps/viewer
    /volume1/web/NextCloud/apps/weather_status
    /volume1/web/NextCloud/apps/workflowengine

    Was könnte der Grund dafür sein?

    Viele Grüße
    Steffen

    1. Hallo Steffen, für nochmal die Befehle zur Anpassung der Rechte aus, bzw. kontrolliere mit “ls -l /volume1/web/NextCloud/” bzw. “ls -l /volume1/web/NextCloud/apps”
      welche Rechte und welche Besitzer angegeben ist.

      Grüße,
      Andreas

  10. Hallo,
    ich habe Nextcloud 24.04 bei mir auf der Synology installiert. Jetzt bietet Nextcloud 24.05 an. Ich würde gern dies updaten. Aber über die Funktion update in der Nextcloud bricht der Vorgang immer beim “Create Backup” ab. Ein Fehlerlog wird nicht richtig angezeigt.
    Nur dieser “Fehler”, damit kann ich nichts anfangen:

    .center{font-family:Verdana,Arial,sans-serif}.center:lang(zh-TW){font-family:Verdana,Arial,Microsoft JhengHei,sans-serif}.center:lang(zh-CN){font-family:Verdana,Arial,Microsoft YaHei,sans-serif}.center:lang(ja){font-family:Verdana,Arial,Meiryo,sans-serif}.circle_text{font-weight:700}html{height:100%}body{margin:0 auto;min-height:600px;min-width:800px;height:100%}.top{height:100px;height:calc(40% - 140px)}.bottom{height:150px;height:calc(60% - 210px)}.center{height:350px;text-align:center;vertical-align:middle}.circle{margin:auto;width:260px;height:260px;border-radius:50%;background:#c0c6cc}.circle_text{line-height:260px;font-size:100px;color:#fff}.text{line-height:40px;font-size:26px;color:#414b55}

    504

    /* Copyright (c) 2021 Synology Inc. All rights reserved. */

    (function(){var a=new XMLHttpRequest();a.open("get","/missing",true);a.send();a.onreadystatechange=function(){if(a.readyState==4&&(a.status==200||a.status==304)){var c=String(a.responseText);var e=document.open("text/html","replace");e.write(c);e.close()}else{var d={en:"There is an error while processing this request.",zh:"\u5904\u7406\u6b64\u8bf7\u6c42\u65f6\u51fa\u73b0\u9519\u8bef\u3002",it:"Errore durante l'elaborazione della richiesta.","zh-HK":"\u60a8\u6240\u6307\u5b9a\u7684\u9801\u9762\u767c\u751f\u932f\u8aa4\u3002",cs:"Do\u0161lo k\u00a0chyb\u011b p\u0159i zpracov\u00e1n\u00ed tohoto po\u017eadavku.",es:"Se ha producido un error al procesar esta solicitud.",ru:"\u041f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430.",nl:"Er is een fout opgetreden tijdens deze aanvraag.",pt:"Ocorreu um erro ao processar este pedido.",no:"Det oppsto en feil under behandlingen av denne foresp\u00f8rselen.",nb:"Det oppsto en feil under behandlingen av denne foresp\u00f8rselen.",tr:"Bu iste\u011fi i\u015flerken bir hata meydana geldi.",pl:"Wyst\u0105pi\u0142 b\u0142\u0105d podczas przetwarzania tego \u017c\u0105dania.",fr:"Une erreur s'est produite lors du traitement de cette demande.",de:"Bei der Verarbeitung dieser Anforderung ist ein Fehler aufgetreten.",hu:"Hiba t\u00f6rt\u00e9nt a k\u00e9r\u00e9s feldolgoz\u00e1sa sor\u00e1n.","pt-BR":"Houve um erro ao processar esta solicita\u00e7\u00e3o.","zh-MO":"\u60a8\u6240\u6307\u5b9a\u7684\u9801\u9762\u767c\u751f\u932f\u8aa4\u3002",da:"Der er en fejl under behandling af denne anmodning.",ja:"\u3053\u306e\u8981\u8acb\u3092\u51e6\u7406\u3057\u3066\u3044\u308b\u9593\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002",nn:"Det oppsto en feil under behandlingen av denne foresp\u00f8rselen.","zh-TW":"\u60a8\u6240\u6307\u5b9a\u7684\u9801\u9762\u767c\u751f\u932f\u8aa4\u3002",ko:"\uc774 \uc694\uccad\uc744 \ucc98\ub9ac\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.",sv:"Det blev ett fel n\u00e4r beg\u00e4ran bearbetades."};var b=["zh-TW","zh-HK","zh-MO","pt-BR"];var f;if(window.navigator.languages!==undefined){f=window.navigator.languages[0]}else{f=window.navigator.language||window.navigator.browserLanguage}if(b.indexOf(f)<0){f=f.split("-")[0]}document.getElementById("a").innerHTML=d[f]||d.enu}}})();


    Hat jemand eine Idee, wie auf 24.05 updaten kann?
    Gruß

    1. Hallo Sebastian,

      Der Fehlercode 504 ist das Webserver Timeout. Normalerweise sollte das Update im Hintergrund weiterlaufen und du kannst am Ende die Seite neu laden und abschließen.
      Das ist aber mühsam, besser ist, du hebst das Timeout wieder an.
      Ich vermute du hast seit der Nextcloud installation bzw. dem letzten Update ein DS, Webstation oder Apache Update gemacht.
      Alles zum Timeout findest du hier: https://blog.viking-studios.net/synology-web-station-timeout-erhoehen-dsm7/

      Grüße
      Andreas

      1. Hallo Andreas,
        vielen Dank für deine schnelle Antwort. Tatsächlich nutze ich apache24. Die Anpassung hatte ich bereits in der Vergangenheit getätigt. Also das Update auf 24.05 funktioniert nach wie vor nicht. Ggf. noch eine weitere Idee? 🙂
        {{#apache22}}
        include proxy.conf;
        proxy_read_timeout 3600s;
        location / {
        {{#connect_timeout}}proxy_connect_timeout {{connect_timeout}}s;{{/connect_timeout}}
        {{#read_timeout}}proxy_read_timeout {{read_timeout}}s;{{/read_timeout}}
        {{#send_timeout}}proxy_send_timeout {{send_timeout}}s;{{/send_timeout}}
        proxy_pass http://{{listen}};
        }
        {{/apache22}}
        {{#apache24}}
        include proxy.conf;
        proxy_read_timeout 3600s;
        location / {
        {{#connect_timeout}}proxy_connect_timeout {{connect_timeout}}s;{{/connect_timeout}}
        {{#read_timeout}}proxy_read_timeout {{read_timeout}}s;{{/read_timeout}}
        {{#send_timeout}}proxy_send_timeout {{send_timeout}}s;{{/send_timeout}}
        proxy_pass http://{{listen}};
        }
        {{/apache24}}
        {{/enable}}
        }
        {{/hosts}}

        und zudem habe ich die Datei /usr/local/etc/apache24/sites-enabled/user.conf mit dem Inhalt TimeOut 3600
        erstellt.

        1. Das mit dem Timeout ist leider etwas tricky momentan. Was du machen kannst ist, das verwendete PHP Profil nach Timeouts abzusuchen (im Variablen-Bereicht, ich glaube der Tab heißt Kern) und dort die Werte erhöhen.
          Hilft das nichts, kannst du in den Logdateien von Apache und Nginx nachsehen ob es konkretere Fehler gibt bzw. auch das Nextcloud log durchsuchen.
          Alternativ bleibt dir noch die Möglichkeit das Update über die Kommandozeile manuell durchzuführen.

  11. Super Guide, vielen Dank dafür!
    Bin nur nicht sicher, ob ich das mit dem VHOST richtig verstanden habe.

    Beispiel:
    Habe versucht den VHOST “nc.meinedomain.synology.me” zu nennen und auf /web/nextcloud umzuleiten.

    Problem: Wenn ich “nc.meinedomain.synology.me” aufrufe, komme ich auf eine 404-Fehlerseite.

    Stattdessen habe ich dann versucht die Subdomain wegzulassen. D.h. Umleitung von “meinedomain.synology.me” auf /web/nextcloud umzuleiten.
    Damit lande ich jetzt allerdings nur auf der DSM-Willkommensseite “Web Station has been enabled. To finish setting up your website, please see the “Web Service” section of DSM Help.”

    Unter “meinedomain.synology.me/nextcloud” funktioniert es zwar. Aber ich befürchte, die VHOST-Einstellungen kann ich mir damit in die Haare schmieren?

    1. Hallo Alex,

      Ich sehe hier eine snyology.me Domain, ich nehme an du hast meinedomain.synology.me via Synologys DDNS Dienst erstellt.
      Das heißt aber nc.meinedomain.synology.me existiert nicht. Zumindest nicht im Internet, daher kannst du sie auch nicht aufrufen.
      vHosts kannst du nur mit existierenden Domains aufrufen. Also entweder meinedomain.synology.me oder mit einer registrierten Domain.
      Du könntest, sofern du das ganze nur lokal brauchst, den DNS Server auf deinem NAS installieren und die Domain lokal auflösen lassen.
      Dann kannst du nc.meinedomain.synology.me im LAN aufrufen.

      Bitte korrigiere mich, wenn meine Annahme falsch ist.

      Grüße
      Andreas

  12. Hallo, vielen Dank für die gute Anleitung. Ich habe Nextcloud auch auf meiner Synology DS 218+ installiert.
    Mein Data Verzeichnis liegt /volume1/nextcloudData
    Leider habe ich auf das Verzeichnis kein Zugriff, sobald ich im DSM die Zugriffsrechte ändere, wird dies unmittelbar danach wieder geändert und ich sehe den Ordner nicht mehr. Kannst du mir da weiterhelfen?

    1. Hallo Sebastian,

      Das Verhalten ist so beabsichtigt. Nextcloud entfernt alle Nicht-System-Benutzer aus Sicherheitsgründen. Eine Manipulation der Dateien außerhalb von Nextcloud kann zu Datenverlust und Fehlern führen.
      Das Verzeichnis ist aber weiterhin in DSM z.B. in Hyper Backup verfügbar, nur dein Benutzer kann das Verzeichnis nicht mehr in der File Station und ähnlichen Paketen sehen.

      Solltest du aus bestimmten Gründen dennoch mit deinem Nutzer auf das Verzeichnis zugreifen müssen, dann solltest du das Verzeichnis nicht als DataVerzeichnis in NC konfigurieren sondern als externen Speicher einbinden.
      Ich habe z.B. zusätzlich zum Dataverzeichnis (volume1/ncdata) noch /photo als externen Speicher eingebunden.
      Wie das geht findest du hier: https://blog.viking-studios.net/die-eigene-cloud-nextcloud-auf-einer-synology-diskstation-mit-der-photostation-kombinieren-dsm-6/

      Grüße
      Andreas

  13. Hallo, vielen Dank für die regelmäßigen Anleitungen für Nextcloud auf DSM.
    Ich benutze sie seit längerem erfolgreich, aber seit meinem Update auf Nextcloud 22 (auf DSM 7) kann ich die Nextcloud nicht mehr erreichen.
    Ich bekomme immer “Error 403 Bei der Verarbeitung dieser Anforderung ist ein Fehler aufgetreten”.
    Mein Problem ist, dass ich keine Server-Logs finde, da die in DSM irgendwo anders liegen als in den typischen Nextcloud auf Linux-Systemen.
    Hast du Tips für mich fürs Trouble shooting?
    Danke und viele Grüße
    David

    1. Hallo David,

      Ja Synology versteckt die Logs leider etwas, bzw. deaktiviert diese sogar in DSM 7.1.
      Das Error-Log des Nginx findest du unter /var/log/nginx
      Die Apache Logs (access und error) müssen aktiviert werden. Öffne dazu in Putty die Datei /usr/local/etc/apache24/conf/httpd24.conf such die Zeile ErrorLog /run/apache24-error.log und setz einen anderen Pfad ein, z.b. /var/log/httpd/apache24-error.log
      Etwas darunter findest du CustomLog /dev/null combine, kommentiere die Zeile mit Raute (#) aus und pass die Zeile #CustomLog /run/apache24-access_log combine so an, dass dort steht CustomLog /var/log/httpd/user-access_log.

      Du kannst natürlich auch andere Pfade setzen. Dann erhälst du Access und Error Log vom Apache nachdem du ihn neu gestartet hast.

      Grüße
      Andreas

  14. Hallo Andreas,
    seit ich DMS DSM 7.1-42661 Update 1 auf der Syno habe kommt es immer zu 504 Gateway Timeout. Ich habe dann versucht die Timeout wie in deiner Beschreibung rauf zu setzen, aber das klappte nur bei /usr/local/etc/apache24/sites-enabled/user.conf
    bei der Datei /var/packages/WebStation/target/misc/VirtualHost-nginx.mustache klappt das nicht, die sieht bei mir komplett anders aus. Trotzdem die Zeile da irgend wo einbauen?
    Leider kann ich hier kein Bild einbauen

    1. Hallo Hans,

      Danke für den Hinweis. Scheinbar hat Synology auf das Feedback gehört, die Timeouts können jetzt scheinbar direkt über die GUI im Virtual Host angegeben werden.
      Beim Erstellen eines neuen virtual Hosts kommt man im laufe des Dialogs dazu. Für bestehende vhosts kannst du einfach auf bearbeiten gehen und hast dort einen Reiter Timeout.
      Ich werde das in der Anleitung demnächst ausbessern.

      Grüße
      Andreas

      1. Hallo Andreas
        Stimmt für den Apache, nicht für den Nginx. Das Problem tritt auf wenn man am Handy davx verwendet, im virtual Host etwas rauf zu setzen hilft mir leider nicht, da es offensichtlich das Synology Web Server teil ist was einen Fehler 504 verusacht. Der antwortet nur verzögert auf anfragen und ich dachte ich könnte das über die Änderung in der Datei /var/packages/WebStation/target/misc/VirtualHost-nginx.mustache ändern, nur genau dort kann ich kein Timeot einsetzen weil die bei mir komplett anders aussieht.Grüße
        Hans

        1. Hast du schon mal probiert das Timeout in der fastcgi.conf setzen, wie hier beschrieben.
          Nach dem Update auf 7.1 (wie warscheinlich nach jedem DSM update) wird die Datei zurückgesetzt.

      2. Hallo Andreas,
        habe ich probiert mit fastcgi.conf, leider hilft das auch nicht, vom Handy bekomme ich immer timeouts. Mir kommt vor, als würde die Weiterleitung vom nginx zum Apache irgend wie haken, aber finden tue ich da nix. Wenn ich die Weboberfläche von nextcloud aufrufe dauert es ca. 5 sec bevor die da ist.Die Weboberfläche selber braucht 2 sec. das alles im Inhous Netz.

        1. Hallo Hans,

          Zumindest bei der Installation klappt Timeout in der vHost-GUI + Timeout in sites-endabled.
          Scheinbar gilt das Timeout in der GUI nur für den ProxyServer, was die ganze Sache meiner Meinung nach nur halb-nützlich und verwirrend macht.
          Ich werd da dem Support mal schreiben.
          Den Timeout mit DAVX hatte ich auch mal, aber der ist wieder verschwunden. Dafür bekomm ich öfter mal einen Timeout beim Cron über den Aufgabenplaner.

          Grüße
          Andreas

        2. Hallo Andreas, ich habe dem von DAVx schon geschrieben, mal schauen was der raus findet.
          Na und der Support von Synology in Deutschland kennt nur eines, lassen sie mich mal auf ihre Box remote, dann richten wir das schon…
          Also schauen wir ob es wieder weg geht.

  15. Hallo Andreas, hallo liebe Mitlesenden,
    tolle Seite, ich bin auch schon fast am Ziel mit meiner Installation der Version 24.0.1 unter DMS 7.1 mit Apache 2.4.26 und PHP 7.4. Bei mir behakeln sich die PHP-Memory-Cache-Einstellungen in der config.php (um den Warnhinweis im Admin-Webportal loszuwerden)
    ‘memcache.local’ => ‘\\OC\\Memcache\\APCu’,
    mit dem occ-Befehl und dem Nextcloud-Cron-Job, den ich über den DSM-Aufgabenplaner realisiert habe. Benutzerdefiniertes Skript:
    sudo -u http php74 -f /volume1/web/nextcloud/cron.php -d apc.enable_cli=1
    Kommentiere ich die memcache-Zeile in der config.php wieder aus, klappt alles. Aber man will auf den Cache ja nicht verzichten …
    Hast Du vielleicht eine Idee, was ich übersehen habe? Viele Grüße


  16. Hallo Andreas,
    nach der Anleitung in Deinem Buch konnte ich Nextcloud problemlos installieren.

    Nun versuche ich, eine 2. Instanz zu installieren. Dazu habe ich:
    a) ein 2. Nextcloud Verzeichnis angelegt: /volume4/web/nc02
    b) ein 2. Datenverzeichnis dafür angelegt: /volume2/ncData022
    c) beide Verzeichnis mit dem 777 Recht belegt:
    /volume2$ dir
    drwxrwxrwx 1 http http 28 Apr 30 12:11 ncData022

    d) in der Web Station ein über die Skkript Spracheinstellung ein PHP-Profil mit Namen NC02 angelegt, das in der Open_basdir auf das Datenverzeichnis zeigt:
    /tmp:/var/services/tmp:/var/services/web:/volume2/ncData022

    e) in der Web Station im Webdienstprotal einen virtuellen Host eingetragen mit
    – Zugriff auf das nextcloud: Hostname = nc.dyndns.name
    – Port 80/443
    – Dokument -Root: web/nc02
    – HTTPS: HSTS angekreuzt, den Kasten für http/2 gibt es in DMS 7 ja nicht mehr
    – HTTP-Backend = Apache 2.4
    – PHP: = NC02 (siehe Punkt d)
    Selbigen Host habe ich dann noch aktiviert.

    f) den Apache gestoppt und neu gestartet

    g) auf der Maria DB eine neue Datenbank angelegt

    g) und nun Nextcloud gestartet mit http://192.168.2.110/nc02
    da erscheint dann das Einstiegsbild. Nach der Eingabe einer Anmeldung und des korrekten Datenverzeichnisses sehe ich dann die Meldung
    “Das Datenverzeichnis /volume2/ncData022 kann nicht erstellt oder es kann darin nicht geschrieben werden. ”

    Ich habe das Verzeichnis überprüft, die Rechte dazu ebenfalls (siehe oben Pkt c), finde aber nirgends einen Fehler.
    Womit kann denn die Fehlermeldung noch zusammenhängen. Oder ist es generell nicht möglich, eine 2. Instanz anzulegen?

    schöne Grüße
    Andreas Lorch

    1. Hallo Andreas,

      Du startest die Cloud falsch. Nachdem du einen virtuellen Host erstellt hast, musst du NC auch mit diesem Host aufrufen, ansonsten wird das PHP-Profil nicht verwendet.

      Grüße
      Andreas

  17. Hallo Andreas,

    vielen Dank für die gute Anleitung unter DSM 7. Es hat auch (fast) alles gut geklappt, ich verzweifle gerade nur an einem Problem:

    Es gibt einige Warnungen bei Deiner Systemkonfiguration.
    Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache.

    Bis auf die oben stehende Warnung konnte ich alles anderen beheben. Kannst Du mir vielleicht helfen
    wie ich diese “PHP Memory Cache” – Warnung auch noch weg bekomme. Ich schon einige Seiten im Netz durchsucht aber noch keine Lösung gefunden.

    Danke vorab & Gruß
    Joerg

  18. Servus Andreas, die Fehlermeldung zur Erhöhung des Memmory Limits ist “Could not open input file: occ”
    Den Befehl ab ich als DS Root ausgeführt

    root@DS416Play:~# sudo -u http php74 -d memory_limit=512M occ
    Could not open input file: occ

    oder so
    root@DS416Play:~# sudo -u http php74 -d memory_limit=512M occ app:install documentserver_community
    Could not open input file: occ

    Die selbe Meldung
    lg
    Andreas

    1. Hallo Andreas

      occ ist ein Befehlssatz von Nextcloud, der wird nicht in der DSM-Kommandozeile registriert und ist daher nur in /web/nextcloud/ verfügbar. Um occ-Befehle auszuführen musst du vorher mit cd /volume1/web/nextcloud das Verzeichnis wechseln.

      Grüße
      Andreas

      1. Servus,
        So hat es funktioniert 🙂
        Ich werde trotzdem alles wieder deinstallieren, und nochmal von vorne Anfangen.
        Ich hab sicher einiges falsch gemacht, und das ist eine gute Gelegenheit das nochmal sauber Installation durchzuführen.
        Außerdem bin ich schon etwas geübter 😉

        Docker hab ich auch installiert, das ist zwar vom Hersteller nicht vorgesehen, mit etwas editieren in der synoinfo.conf geht das
        Danke für die Antwort, vielleicht bringst du noch ein Buch raus, wo das beschrieben ist. Einen Kunden hättest du dann schon 😉
        lg
        Andreas

        1. Hallo Andreas,

          Ja neu machen ist eine gute Idee, so lernt man dazu und geht sicher dass sich keine Probleme einschleichen.
          In der Neuauflage zu DSM 7 gibt es bereits ein Kapitel zu Docker (dem Synology Paket) inklusive MariaDB, phpMyAdmin und Nextcloud.

          Grüße
          Andreas

        2. Servus, ich hab die Fehlermeldung mit dem zu geringem Speicher ned weg gebracht.

          Man kann das in der “Web Station” -> “Skript Einstellungen” in dem angelegtem Profil unter “Kern” -> memory_imit einstellen.
          lg
          Andreas

  19. Servus Andreas,
    Ich habe nach der Anleitung aus deinem neuen Buch Nextcloud installiert DSM 7.x
    Heißt ich hab mich durchgekämpft, und schlussendlich kann ich auf Nextcloud zugreifen.

    p.s. Beim Starten der MariaDB musste ich eine PWD vergeben. (TCP an haken)
    Und genau dieses brauchte ich denn bei der Installation von Nextcloud
    Man vergibt nur ein PWD
    Ich hab lange gebraucht um heraus zu finden das der User root ist, aber nicht der DS root sonder der von MariaDB
    Dann ist die Installation problemlos durchgelaufen, ich hab das herausgefunden als ich versuchte den User manuell anzulegen, und auch keinen Zugriff bekommen hattbe.

    An der Installation des Documentserver bin ich gescheitert.-
    Der Befehl bringt nur die Fehlermeldung das die Installation gescheitert ist.
    Dieser Befehl bringt eine Fehlermeldung die mit occ zu tun hat, “nicht gefunden, kein Zugriff ?”. auch als root nicht möglich.
    sudo -u http php74 -d memory_limit=512M occ app:install documentserver_community

    Egal, wenn ich dann weiter lese was alles noch nötig ist, denke ich das ich die Nextcloud nicht so dringend brauche 😉
    Was noch dazu kommt,
    Die zusätzlich installierten App’s werden nicht angezeigt ? Ich hatte lange ein Version auf einen Pi laufen gehabt, da wurde oben in der Zeile wo
    Datei, Kalender, Kontakte u.s.w angezeigt werden, dann ein paar Punkte dargestellt, und man konnte das App’s Menü ausklappen. Das ist auch weg ?
    Fehler, geplant ich weiß es nicht.

    Ich hab jetzt nicht den Nerv mich weitere Stunden damit auseinander zu setzen 😉
    Wie werde ich die Installation wieder los ?
    Ohne das irgend welche Reste den Betrieb der DS beeinträchtigen ?

    lg
    Andi

    p.s.
    Vielleicht versuche ich das VM Image das von Nextcloud angeboten wird.
    Nur so aus Neugierde

    1. Hallo Andreas,

      Die Installation von MariaDB ist im Buch in Kapitel 17.2 erklärt, dort findet sich auch ein Hinweis zum root-User. Allerdings fehlen im Nextcloud-Kapitel die QUerverweise, das werde ich in der nächsten Auflage korrigieren.

      occ ist ein Befehlssatz von Nextcloud, der wird nicht in der DSM-Kommandozeile registriert und ist daher nur in /web/nextcloud/ verfügbar. Um occ-Befehle auszuführen musst du vorher mit cd /volume1/web/nextcloud das Verzeichnis wechseln.

      Das App Menü ist seit einigen Versionen im Benutzer-Menü zu finden (runder Kreis mit dem Benutzer Initialen/Avatar) ganz rechts in der Kopfzeile.

      Um Nextcloud zu entfernen sind folgende Schritte notwendig:
      – Nextcloud-Ordner unter /web löschen
      – freigegebener Ordner für Nextcloud-Daten löschen
      – in phpMyAdmin die Nextcloud-Datenbank und den, von der Installation, angelegten Benutzer löschen
      – falls angelegt, den virtuellen Host löschen
      – das PHP-Profil löschen
      – eventuell die Einträge für das Webserver-Timeout zurücksetzen/entfernen, die stören aber an sich nicht weiter
      – eventuell installierte Pakete (MariaDB, Apache, WebStation, etc…) deinstallieren, sofern sie nicht für andere Dienste gebraucht werden

      Das VM Image ist recht neu, dazu kann ich noch nicht viel sagen, als Alternative würde sich noch Docker anbieten, da ist die Installation auch recht einfach und schnell erledigt.

      Grüße
      Andreas

  20. Hallo,
    habe das Tutorial durchgearbeitet,
    Bei der mysql.php können die Änderungen nicht durchgeführt werden, die Einträge, bis auf einen, gibt es nicht.
    Kann es sein das, bei ds7.01 wieder alles anders ist?
    Beim aufruf im Browser wird Fehler 500 angezeigt.

    1. Hallo Christian,

      Danke für den Hinweis. Mit NC 23 sieht die MySQL.php etwas anders aus, das wäre nicht das Problem, man müsste einfach nur den einen Eintrag löschen, allerdings macht scheinbar das letzte MariaDB-Update wieder Probleme. Ich habe eine entsprechende Lösung im Artikel ergänzt.

      Der Fehler 500 kommt das erste mal wenn du versuchst Nextcloud aufzurufen?
      Der Fehler 500 ist nicht besonders Eindeutig, er deutet meist darauf hin, dass der Webserver nicht richtig konfiguriert ist. Das kann viele gründe haben. Entweder ist dem vhost der falsche Backend-Server zugewiesen, der Zugriff auf den vHost bzw. den Webserver im allgemeinen gelingt nicht oder andere Probleme.
      Hier solltest du zuerst im PHP-Profil die Fehlerausgabe aktivieren und Nextcloud erneut aufrufen. Sollten im Browser keine Fehler angezeigt werden, musst du im Apache-Error-Log bzw. im nginx-Error-Log nach Fehler suchen.

      Grüße
      Andreas

  21. Erstmal vielen Dank für die ausführliche Anleitung. Die Installation hat dadurch sehr gut funktioniert.
    Allerdings bekomme ich jetzt noch einen Fehler angezeigt:

    Manche Dateien haben die Integritätsprüfung nicht bestanden. Weitere Informationen um den Fehler zu beheben findest Du in unserer Dokumentation↗. (Liste der ungültigen Dateien … / Erneut scannen…)

    Results
    =======
    – core
    – INVALID_HASH
    – .htaccess

    Ist dir der Fehler bekannt und weißt du wie er behoben wird?
    Habe an der .htaccess noch nichts geändert. Auch nicht die ReWrites für Caldav, etc.

    Nutze keinen virtuellen Host

    1. Hallo Nils,

      Bei der htaccess hatte ich das Problem noch nie. ALlerdings hab ich die letzten beiden Updates das Problem einer anderen Datei gehabt.
      Üblicherweise hilft folgendes:
      Die Nextcloud-Version als zip Herunterladen, die Datei entpacken und die installierte damit ersetzen. Dann die Rechte für die Datei anpassen und zuletzt die Integritätsprüfung nochmal durchführen lassen (entweder per Link direkt in der Meldung oder per occ).

      Ich hoffe das behebt dein Problem.

      Grüße
      Andreas

      1. Wenn ich die .htaccess neu reinkopiere, kommt folgendes:
        – core
        – EXTRA_FILE
        – @eaDir/.htaccess@SynoResource
        – @eaDir/.htaccess@SynoEAStream

        Nachdem ich die dann gelöscht hatte, kam endlich der grüne Haken.

        Danke für die Hilfe

        1. Hallo Nils,

          @eaDir wird von DSM z.b. für Thumbnails angelegt. Nextcloud lässt außer den eigenen Dateien keine anderen Dateien im Verzeichnis zu und bemängelt das.
          Ich vermute das hat DSM beim Kopieren der htaccess angelegt.

          Grüße
          Andreas

  22. Hallo Andreas,
    vielen Dank für die Anleitungen zur Installation. Hat auch (fast) gut funktioniert. Ich verzweifle an zwei Problemen:
    1. In Verwaltung “externer Speicher”:
    – einbinden mittels SMB –> hier taucht folgende Meldung auf: “”smbclient” ist nicht installiert. Das Hinzufügen von “SMB/CIFS”, “SMB/CIFS mit OC-Anmeldung” ist nicht möglich. Bitte wende Dich zur Installation an den Administrator.”
    Frage: Wie kann ich diesen installieren? SMB ist im DSM aktiviert und funktioniert mit anderen Geräten.

    2. Fehlermeldung in Verwaltung “Übersicht”:
    – Fehler: “Manche Dateien haben die Integritätsprüfung nicht bestanden…”
    – hier stört sich Nextcloud an der Datei “MySQL.php”, obwohl die Änderungen nach der Installation rückgängig gemacht wurden, aber auch die Datei durch die Originaldatei ersetzt wurde.
    Kann man die Fehlermeldung abstellen oder muss man die ignorieren.

    Viele Grüße, Tilo

    1. Hallo Tilo,

      1. SMB habe ich nie zum laufen gebracht auf der DiskStation. Früher stand in der Doku dass SMB nicht ordentlich auf Linux läuft. Mittlerweile steht in der Doku dass die Funktion auf Linux eingeschränkt ist. Prinzipiell hat die DiskStation einen SMB-Service aber der muss aktiviert werden, ich kann dir aber nicht sagen welche Einstellungen dafür notwendig sind, damit Nextcloud darüber kommunizieren kann und ob das mittlerweile überhaupt funktioniert.
      Ich verwende WebDAV für die Einbindung von freigegebenen Ordnern der DS.

      2. Probier mal folgendes: Kopier die Originaldatei hinein und pass die Rechte an so wie in den Anleitung beschrieben. Geh dann nochmal zur Fehlermeldung und klick dort auf Integritätsprüfung erneut durchführen (oder so ähnlich). Das passiert nämlich nicht von alleine sondern nur im Zuge der Installation bzw. eines Updates. Alternativ kannst du die Prüfung auch über die Kommandozeile per occ-Befehl ausführen.

      Grüße
      Andreas

      1. Hallo Andreas,
        vielen Dank für die Hinweise. Aber die Integritätsprüfung wird weiterhin nicht bestanden. Bezüglich des occ-Befehl fehlt mir die momentan die Grundlage.

        Das Ergebnis der ungültigen datei sagt folgendes aus:
        “Results
        =======
        – core
        – INVALID_HASH
        – lib/private/Setup/MySQL.php
        Raw output
        ==========
        Array(
        [core] => Array (
        [INVALID_HASH] => Array (
        [lib/private/Setup/MySQL.php] => Array….”

        Vielleicht kannst du ja etwas damit anfangen.

        Für ein weiteres Problem brauche ich auch noch Unterstützung. Der Cron-Job wird nicht automatisch ausgeführt. Die Aufgabe wurde in Synology erstellt (analog deiner Anleitung), aber die funktioniert nicht. Bei “manueller” Ausführung über Komandozeile
        “sudo -u http php74 /var/services/web//cron.php”
        kommt die Fehlermeldung:
        “OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)”
        Ist das unter DSM 7 anders als bei DSM 6?
        Oder wo muss ich die erforderlichen Änderungen vornehmen?

        Viele Grüße, Tilo

        1. Hallo Tilo,

          Es scheint die Datei immer noch nicht zu stimmen. Wichtig ist, dass die die Datei aus dem Installations-Archiv von Nextcloud holst und zwar genau die Version die du gerade installiert hast. Entpacke das Archiv am besten direkt auf der DiskStation und kopier dann die Datei in das richtige Verzeichnis unter /web. Wichtig ist auch, die ganze Datei zu kopieren und nicht nur denn Inhalt und dann die Rechte richtig zu setzen (Owner http:http und Rechte 777).

          Wie du den Cron richtig einrichtest findest du in meinem Artikel Nextcloud optimieren und dort ist der Abschnitt “Cron-Probleme ab Nextcloud 21 beheben” wichtig.

          Grüße
          Andreas

  23. Hallo Andreas,
    beim Aufsetzen von OnlyOffice scheitere ich am Entpacken aus dem libstdc++6_8.3.0-6_amd64.deb-Archiv:

    “Entpackt folgende Datei: data.tar\.\usr\lib\x86_64-linux-gnu\libstdc++.so.6.0.25”

    Gibt es eine Möglichkeit, dies zu tun, ohne das entsprechende GNU-Projekt zu installieren? Danke 🙂

  24. Servus Andreas. Vielen Dank für das Update.
    Wechsel auf DSM 7.0 hat auch bei mir reibungslos geklappt. Zeitgleich NC Update zu Version 23 erfolgreich installiert und Fehlermeldungen behoben.

    Nun beschäftige ich mich mit Nextcloud Backup. Hast Du da schon Erfahrungen? Der Plan war eigentlich auf eine weitere NC Instanz, die ich lokal hoste zu sichern. Allerdings scheint das am fehlenden SMB Client zu scheitern (Du schreibst dazu an anderer Stelle etwas). Bin jetzt auf Sicherung per (s)ftp umgeschwenkt, allerdings rödelt die Nextcloud jetzt schon seeeehr lange und bleibt im Wartungsmodus – nicht sehr vertrauenerweckend.

    Bleibt trotzdem das Interesse an Backup NC (1) zu NC(2)(lokal). Das Paket (SMB Client) findet sich nicht in den PHP 7.4 Erweiterungen.

    Gruß
    Ben

    1. Update: Nach nunmehr 10 Stunden ließ sich der Spuk nur beenden durch Aufheben des Wartungsmodus. Also auf (s)ftp klappt nicht – mir schleierhaft warum.

  25. Gibt es eigentliche eine Möglichkeit einen Turn-Server für Nextcloud Talk unter DSM 7 zu installieren?
    Talk klingt ja ganz interessant, aber funktioniert nicht wirklich, wenn man nicht im gleichem Netzwerk ist.

  26. Vielen Dank für guten Anleitungen.
    Ich bekomme allerdings 2 Warnmweldungen und ich meine da haben viele Probleme mit:
    Dein Webserver ist nicht richtig konfiguriert, um “/.well-known/caldav” aufzulösen. Weitere Informationen hierzu findest Du in unserer Dokumentation ↗.
    Dein Webserver ist nicht richtig konfiguriert, um “/.well-known/carddav” aufzulösen. Weitere Informationen hierzu findest Du in unserer Dokumentation ↗.
    Unter WebStation -> Webdienstportal habe ich einen Virtuellen Host eingerichtet. Das funktioniert auch alles wunderbar. Bis auf diese Fehlermeldung.

    1. Hallo,

      interessant, gerade bei einem vHost sollte das Problem nicht auftreten.
      Kann es sein, dass du Nextcloud nicht mit dem selben Hostnamen installiert hast, den du für den vHost verwendest?
      Wirf mal einen Blick in die .htaccess deiner Nextcloud (unter /web/Nextcloud/)

      etwas weiter unten solltest du folgende Zeilen finden:
      RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
      RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]

      Sofern du Nextcloud mit einer URL ohne Unterverzeichnis aufrufst (z.B. cloud.meinedomain.com) sollte alles in Ordnung sein.

      Grüße
      Andreas

      1. Hallo Andreas,
        vielen Dank für die schnelle Antwort.

        Hmm, sehr seltsam.
        Ich habe bei meinem Hoster per CNAME eine Weiterleitung auf meine Fritzbox via myfritznet eingetragen.
        wenn ich jetzt cloud.xxxhosterxxx.de aufrufe, komme ich direkt auf meine Nextcloud.
        Beim vhost ist als als hostname auch nur cloud.xxxhosterxxx.de eingetragen und als Dokument-Root web/nextcloud
        Die Nextcloud selber ist ganz nach standart unter /web/nextcloud installiert.

        Einzige Abweichung ist, dass ich bei der Fritzbox eingetragen habe, dass der Port 443 auf einen anderen Port also X443 verweist.
        Beim vhost habe ich dann entsprechend den Punkt “https” angekreuzt und auch dort den Port X443 eingetragen.
        Das funktioniert ja auch alles. Die Fehlermeldung hat denke ich auch nichts damit zu tun, dass ich nicht den Standart 443 port intern verwende?

        In der .htaccess finde ich unter dem Punkt folgendes:
        RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT} DavClnt
        RewriteRule ^$ /remote.php/webdav/ [L,R=302]
        RewriteRule .* – [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
        RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
        RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
        RewriteRule ^remote/(.*) remote.php [QSA,L]
        RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* – [R=404,L]
        RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
        RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* – [R=404,L]

        Vielen Dank für deine Mühe.
        Jo

  27. Hallo Andreas,
    auf der Synology mit DSM 7 lässt sich der Apache22 oder Apache24 timeout auch in der Webstation unter Kern erhöhen
    default_socket_timeout (standart = 60) diesen wert auf 3600 setzen und der Upload timitout 504 ist damit behoben.
    gruß Alex

  28. Hallo Andreas,
    muss es beim WebserverTimeOut “vi /var/packages/WebStation/target/misc/VirtualHost-nginx-mustache” nicht “… nginx.mustache” heißen?
    Zumindest fide ich die Datei nur mit Punkt statt Bindestrich zwischen nginx und mustache. Das betrifft übrigens auch Seite 518 im DSM 7 Buch.
    Gruß Leo

  29. Ich habe Nextcloud auf DS218j installiert. Jetzt möchte ich zu DS918+ wechseln. Ist nach einer Migration (HDDs in DS918 stecken und den Anweisungen folgen) Nextcloud dann auf der neuen NAS nutzbar oder muss ich Nextcloud wieder Schritt für Schritt neu installieren?

    1. Hallo Leo,

      prinzipiell ist Nextcloud dann lauffähig. Du musst nur sichergehen dass die neue DS die selbe IP-Adresse zugewiesen bekommt wie die alte oder gegebenenfalls die Einstellungen im Netzwerk und am Router anpassen.

      Grüße
      Andreas

  30. Alternative zur obigen Anleitung:

    Ich betreibe seit 2-3 Jahren eine Nextcloud auf einer Synology 218+ über Docker. Ich habe mich dazu einfach über SSH in das Admin-Konto eingeloggt, eine `docker-compose.yml` mit folgendem Inhalt erstellt und abschließend alles per docker-compose (`sudo docker-compose pull` und `sudo docker-compose up -d`) gestartet – eigentlich super simpel. Alle Einstellungen findet man am jeweiligen Image auf Docker-Hub. Grundsätzlich sollte man das auch über die Docker-Oberfläche in DSM einrichten können.

    Den Dynamic DNS Name habe ich direkt im DSM eingebunden und dort auch konfiguriert, sodass Let’s Encrypt Zertifikate (HTTPS) dafür bezogen werden. Ich selbst nutze spdns.de

    Vorteile:
    * Man spart sich die umfangreiche Konfiguration in DSM
    * Man ist mit einer deutlich aktuelleren Version der Datenbank, von PHP und des Webservers unterwegs, als Synology diese anbietet
    * Keine Sicherheits- & Einrichtungswarnungen seitens Nextcloud
    * Das Nextcloud-Image integriert fast alles Wünschenswerte, wie CRON und OPCache

    Nachteile:
    * Man sollte ssh, docker und docker-compose bedienen können
    * Für Updates muss man sich über ssh einloggen, ggf. die `docker-compose.yml` Datei über vim editieren und docker-compose bedienen
    * ich bin mir nicht sicher, ob ein Backup der Diskstation die Docker Volumes sichert
    * Die von mir genutzten Images setzen eine X86 basierte Diskstation voraus. Für ARM basierte Diskstations müsste man andere Images suchen & verwenden

    docker-compose.yml:
    “`
    version: ‘2’

    services:

    nextcloud:
    image: hoellen/nextcloud:22.2
    restart: unless-stopped
    environment:
    – UID=1000
    – GID=1000
    – TZ=Europe/Berlin
    – DOMAIN=
    – DB_TYPE=mysql
    – DB_NAME=nextcloud
    – DB_USER=nextcloud
    – DB_PASSWORD=
    – DB_HOST=db
    volumes:
    – data:/data
    – config:/config
    – apps:/apps2
    – themes:/nextcloud/themes
    ports:
    – 8080:8888
    networks:
    – nextcloud
    depends_on:
    – db

    db:
    image: mariadb:10.7
    restart: unless-stopped
    #cotainer_name: nextcloud_db
    volumes:
    – db:/var/lib/mysql
    environment:
    – MYSQL_ROOT_PASSWORD=
    – MYSQL_DATABASE=nextcloud
    – MYSQL_USER=nextcloud
    – MYSQL_PASSWORD=
    networks:
    – nextcloud

    networks:
    nextcloud: {}

    volumes:
    apps:
    config:
    data:
    themes:
    db:
    “`

Schreibe einen Kommentar

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