Kategorien
Tutorials

Nextcloud auf Synology NAS hinter FRITZ!Box und DS-Lite installieren

Nextcloud ist ein quelloffener Cloudspeicher zum Hosten auf dem eigenen Server und der gedankliche Nachfolger von ownCloud. Wer bereits eine Synology DiskStation besitzt, hat bereits die besten Grundvoraussetzungen, um Nextcloud in den eigenen vier Wänden zu betreiben und unabhängig(er) von Firmen wie Microsoft, Google oder Dropbox zu werden. In diesem Artikel gehe ich ausführlich darauf ein, wie sich auf einer Synology DiskStation Nextcloud installieren und hinter einer FRITZ!Box mit Dual-Stack Lite Internetanschluss erreichen lässt.

Getestet wurde dieser Artikel mit der Synology DiskStation DS216+II (DSM 7.0.1-42218) und Nextcloud 23.0.0. Als Router kam die FRITZ!Box 6490 mit FRITZ!OS 07.20 zum Einsatz.
Diese Anleitung setzt voraus, dass du bereits grundlegende Erfahrungen in der Administration einer Synology DiskStation hast und idealerweise mit den Paketen "Web Station", "MariaDB 10" und "phpMyAdmin" vertraut bist. Einige Basics zum Hosten von Webseiten mit der Web Station sind hier zu finden: https://kb.synology.com/de-de/DSM/tutorial/How_to_host_a_website_on_Synology_NAS.
Grundlegende Netzwerkkenntnisse sollten ebenfalls vorhanden sein.

DiskStation vorbereiten

Es müssen einige grundlegende Pakete und Konfigurationen vorgenommen werden, bevor die eigentliche Installation von Nextcloud beginnen kann.

Pakete auf DiskStation installieren

Folgende Pakete müssen als grundlegende Voraussetzung über das Paket-Zentrum der Synology DiskStation installiert werden:

  • Web Station (Verwaltung der Webserver und Webapplikationen)
  • Apache HTTP Server 2.4 (Webserver)
  • MariaDB 10 (Datenbankserver)
  • phpMyAdmin (optionale Datenbankverwaltung, wer mag kann natürlich auch ein anderes Tool zur Administration der Datenbank verwenden)
  • PHP 7.4 oder neuer (Skriptsprache)
Ich persönlich habe phpMyAdmin nicht als vorgefertigtes Paket, sondern manuell installiert. Ich habe mich für die manuelle Installation entschieden, weil ich hier unabhängig von Synology bin, was die bereitgestellte phpMyAdmin-Version und damit auch die benötigte PHP-Version für phpMyAdmin angeht. Für diese Anleitung spielt es letzten Endes aber keine Rolle welche Version von phpMyAdmin verwendet wird.

Da ich die oben genannten Pakete bereits installiert habe, kann ich die Installation leider nicht zeigen. Die Installation ist aber recht einfach und ohne viel Wissen durchgeführt.

Bei der MariaDB 10 Installation sollte ein root Passwort vergeben worden sein. Ansonsten kann es aber auch über die MariaDB 10 App auf der DiskStation geändert werden. In der MariaDB 10 App ist außerdem TCP/IP zu aktivieren:

Synology NAS MariaDB 10 TCP/IP aktivieren
Für die spätere Datenbankanbindung muss TCP/IP aktiviert werden.
Standardmäßig verwendet MariaDB Port 3307. Der Port kann bei Bedarf aber auch abgeändert werden. Wichtig ist nur, dass du dir den Port merkst, denn den brauchen wir später noch.

Wenn die Installation aller Pakete erfolgreich abgeschlossen ist, kann auch phpMyAdmin gestartet werden:

phpMyAdmin
Mit phpMyAdmin können sämtliche Datenbanken oder Benutzer von MariaDB verwaltet werden.
Wenn phpMyAdmin über das Paket-Zentrum installiert wurde, wurde eine gleichnamige Verknüpfung auf der DiskStation angelegt.

Webverzeichnis erstellen

Eine Nextcloud-Installation besteht aus drei wesentlichen Bestandteilen: Datenbank, Webapplikation und Datenverzeichnis. Die Webapplikation und das Datenverzeichnis werden auf dem Dateisystem gespeichert. Ich wähle für diese Anleitung folgendes Vorgehen:

  • Freigegebenen Ordner "web" verwenden (wird bei der Installationen der Web Station automatisch erstellt)
  • Unterordner "nextcloud_app" für die Webapplikation erstellen
  • Unterordner "nextcloud_data" für das Datenverzeichnis erstellen
Freigegebene Ordner lassen sich in der Systemsteuerung unter "Freigegebener Ordner" in der DiskStation verwalten.

Die beiden Ordner "nextcloud_app" und "nextcloud_data" lassen sich direkt über die DiskStation über die App "File Station" oder über den Datei-Explorer (z.B. UNC-Pfad \\diskstation01\web) erstellen.

Synology DiskStation File Station Ordner erstellen
Die Ordner "nextcloud_app" und "nextcloud_data" lassen sich direkt über die App "File Station" auf der DiskStation erstellen.

Web Station konfigurieren

Über die Web Station lässt sich PHP und der Webserver für Nextcloud administrieren. Sie kann einfach als App auf der DiskStation gestartet werden. Damit es mit der Installation weitergehen kann, sollten mindestens die folgenden Back-End-Pakete installiert sein: Nginx (wird automatisch mit der Web Station installiert), Apache HTTP Server 2.4 und PHP 7.4 oder neuer.

Synology DiskStation Web Station
Die Web Station ist die zentrale Anlaufstelle für Konfigurationen des Webservers.

PHP-Profil erstellen

Im Reiter "Skript-Spracheinstellungen" können PHP-Profile erstellt und bearbeitet werden, die sich später den einzelnen VirtualHosts des Webservers zuweisen lassen. Ich erstelle für jede Webapplikation ein eigenes PHP-Profil, damit ich unterschiedliche Einstellungen für jede Webapplikation festlegen kann.

Synology Web Station PHP-Profile
In der Web Station lassen sich diverse PHP-Profile erstellen.

Per Klick auf den Button "Erstellen" kann ein neues PHP-Profil für Nextcloud erstellt werden:

Synology Web Station PHP-Profil erstellen
Für Nextcloud erstelle ich ein eigenes PHP-Profil.

Im Reiter "Erweiterungen" sind folgende PHP-Extensions zu aktivieren:

  • bcmath
  • bz2
  • curl
  • gd
  • gmp
  • iconv
  • imagick
  • intl
  • openssl
  • pdo_mysql
  • posix
  • sodium
  • zip
  • zlib

Die Einstellungen im Reiter "FPM" können im Standard belassen werden.

Im Reiter "Kern" setze ich den Wert für apc.enable_cli auf 1, damit die Cron Jobs von Nextcloud funktionieren.

VirtualHost erstellen

Im Reiter "Webdienstportal" können sämtliche Webserverkonfigurationen vorgenommen werden:

Synology Web Station VirtualHosts
Für jede Webapplikation kann eine eigene Konfiguration erstellt werden.
Durch die Verwendung von VirtualHosts ist es möglich, mehrere unterschiedliche Webapplikationen auf der DiskStation zu hosten.

Um eine neue VirtualHost-Konfiguration für Nextcloud anzulegen, ist auf "Erstellen" -> "Dienstportal erstellen" und "Virtueller Host" zu klicken. Es öffnet sich der Dialog zum Erstellen eines neuen VirtualHosts:

Synology Web Station VirtualHost erstellen
Es empfiehlt sich für Nextcloud einen eigenen VirtualHost anzulegen.

In diesem Dialog sind einige relevante Einstellungen zu setzen:

Namensbasiert oder Portbasiert: Wenn der Webserver eine Anfrage bekommt, muss er entscheiden wie er mit der Anfrage umgehen soll. Gerade wenn mehrere Webapplikationen gehostet werden, muss der Webserver wissen, welche Webapplikation der Besucher sehen möchte. Diese Unterscheidung kann der Webserver anhand von DNS-Namen (Namensbasiert) oder Ports (Portbasiert) vornehmen. Bei Namensbasiert ist beispielsweise sehr wichtig, welcher Hostname angegeben wird. Wird als Hostname etwa "diskstation01" und als Port 80/443 angegeben, wird Nextcloud nur aufgerufen, wenn der Besucher "http://diskstation01" oder "https://diskstation01" im Browser aufruft. Portbasiert ist hier flexibler (aber nicht immer besser), da es unabhängig vom Hostnamen funktioniert. Beispielsweise kann bei Portbasiert ebenfalls Port 80 für HTTP und Port 443 für HTTPS angegeben werden. Nextcloud wird sich dann aber unabhängig vom DNS-Namen in der URL öffnen, sofern der Port stimmt. So könnte der Besucher also "http(s)://diskstation01" oder "http(s)://nextcloud.meinzuhause.de" im Browser eingeben, sofern diese zusätzlichen DNS-Namen bei einem DNS-Anbieter entsprechend angelegt und konfiguriert sind. Ein Zugriff über die IP-Adresse ist dann natürlich auch möglich. Diese Einstellung ist also sehr wichtig dafür wie und von wo auf Nextcloud zugegriffen werden kann.

Dokument-Root: Hier ist der Pfad zu der Webapplikation anzugeben. In unserem Fall etwa "web/nextcloud_app".

HTTPS-Einstellungen: HSTS erhöht die Sicherheit des VirtualHosts und auch Nextcloud empfiehlt diese Einstellung. Mehr Hintergrundinformationen zu HSTS gibt es hier zum Nachlesen: https://www.globalsign.com/de-de/blog/was-ist-hsts-wie-fuehren-sie-es-ein

HTTP-Backend-Server: Welcher Webserver soll für unsere Webapplikation genutzt werden? Für Nextcloud ist hier "Apache HTTP Server 2.4" auszuwählen. Unter Nginx ist es mir leider noch nicht gelungen Nextcloud lauffähig zu machen.

PHP: Hier kann das PHP-Profil ausgewählt werden. Da ich zuvor das Profil "Nextcloud" erstellt habe, wähle ich es entsprechend aus.

Die VirtualHost-Konfiguration sieht dann wie folgt aus:

Synology Web Station VirtualHost erstellen
Ein VirtualHost für Nextcloud steuert den späteren Zugriff auf Nextcloud.

Ich habe hier als Hostnamen den internen FQDN meiner DiskStation angegeben. Nextcloud ließe sich so bei mir per "http(s)://diskstation01.fritz.box" aufrufen und damit derzeit nur intern in meinem Netzwerk, nicht aber aus dem Internet heraus.

Wie wir Nextcloud im Internet erreichbar machen, schauen wir uns später in dieser Anleitung an. Aktuell reicht aber erstmal ein lokaler Zugriff.
Sollte beim Erstellen des VirtualHosts bezüglich Leserechte für die HTTP-Gruppe nachgefragt werden, kann diese Meldung bestätigt werden.

Installation von Nextcloud

Nextcloud braucht eine Datenbank und genau für diesen Zweck haben wir MariaDB und phpMyAdmin installiert. In phpMyAdmin können im Reiter "SQL" folgende SQL-Statements abgesetzt werden:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES on nextcloud.* to 'username'@'localhost';
FLUSH privileges;

Die oberen Befehle erstellen eine neue Datenbank und einen Datenbankbenutzer mit entsprechenden Berechtigungen für Nextcloud. Ich habe den Datenbankbenutzer auf "nextcloud" (rote Markierungen) und das Passwort auf "Test12345!" (blaue Markierung) geändert. Den Datenbanknamen belasse ich bei "nextcloud" (schwarze Markierung):

phpMyAdmin Nextcloud Datenbank erstellen
Die Datenbank samt Datenbankbenutzer für Nextcloud kann über phpMyAdmin angelegt werden.

Anschließend sollten vier Erfolgsmeldungen, und nach einem Klick auf den kleinen grünen Reloadbutton im linken Menü in phpMyAdmin, die neue Datenbank "nextcloud" zu sehen sein:

phpMyAdmin Nextcloud Datenbank erstellen
Nachdem die Datenbank erstellt wurde, taucht sie im linken Menübaum auf.

Im Reiter "Benutzerkonten" in phpMyAdmin ist jetzt auch der neue Benutzer zu sehen:

phpMyAdmin Benutzerkonten
Der neu angelegte Benutzer taucht jetzt ebenfalls in der Benutzerkontenübersicht auf.

Die Datenbank ist erstellt. Jetzt kann die eigentliche Installation von Nextcloud durchgeführt werden. Dafür gibt es wieder verschiedene Wege und ich wähle die Installation über den Web Installer. Zunächst ist dafür die folgende URL aufzurufen: https://nextcloud.com/install/#instructions-server

Dort sind im Reiter "Web Installer" weitere Instruktionen zu finden:

Nextcloud Web Installer
Für die Installation von Nextcloud wähle ich den Web Installer.

Der erste Schritt "Right-click here and save the file to your computer" sollte selbsterklärend sein. Es wird eine PHP-Datei heruntergeladen.

Im zweiten Schritt "Upload setup-nextcloud.php to your web space" muss die heruntergeladene PHP-Datei im Dokument-Root, in unserem Fall also auf der DiskStation unter web/nextcloud_app abgelegt werden. Ebenso wie das Erstellen des Ordners "nextcloud_app" geht das wieder über die Synology DiskStation über die App "File Station" oder über den Datei-Explorer:

Synology DiskStation setup-nextcloud.php hochladen
Die Datei "setup-nextcloud.php" kann direkt über die File Station hochgeladen werden.

Als nächstes ist das PHP-Skript im Browser aufzurufen, damit die Setup-Routine gestartet wird. Laut VirtualHost-Konfiguration kann ich Nextcloud per "https://diskstation01.fritz.box" aufrufen. Das eigentliche PHP-Skript lässt sich in meinem Beispiel also mit folgender URL aufrufen: "https://diskstation01.fritz.box/setup-nextcloud.php":

Nextclloud setup-nextcloud.php
Das Skript "setup-nextcloud.php" führt durch die weitere Installation von Nextcloud.
Im Standard nutzt die DiskStation ein selbstsigniertes Zertfikat, weswegen es beim Aufruf der Seite über HTTPS zu einem Zertifikatsfehler kommen kann. Dieser kann erstmal ignoriert und bestätigt werden.

Nach einem Klick auf "Next" sollte Nextcloud die Meldung "All Nextcloud dependencies found" anzeigen. Wenn hier etwas bemängelt wird, muss in den meisten Fällen eine weitere PHP-Erweiterung im PHP-Profil aktiviert werden. Im Eingabefeld steht "nextcloud" als Installationsverzeichnis. Ich gebe dort allerdings einen Punkt ein, weil ich möchte, dass Nextcloud im ROOT-Verzeichnis, also direkt in web/nextcloud_app installiert wird:

Nextcloud Dependency check
Der nächste Schritt im Installer prüft die Abhängigkeiten und erlaubt die Angabe des Installationspfades.

Ein weiterer Klick auf "Next" zeigt an, dass Nextcloud erfolgreich installiert wurde. Die Installation ist aber an dieser Stelle noch nicht fertig. Nextcloud hat lediglich diverse Dateien unter web/nextcloud_app angelegt.

Im nächsten Schritt sind mehrere Dinge anzugeben. Zuerst ist ein Administratorkonto für Nextcloud zu erstellen und der absolute Pfad zum Datenverzeichnis anzugeben:

Nextcloud Setup
Der Installer führt schließlich durch die letzten Schritte.
Vorgeschlagen wird "/volume1/web/nextcloud_app/data". Ich ändere es entsprechend in "/volume1/web/nextcloud_data" ab. Dadurch ist die eigentliche Installation unabhängig von den Dateien, die die Benutzer hochladen.

Etwas weiter unten verlangt Nextcloud noch die Datenbankparameter. Benutzername, Passwort und Datenbankname wurden vorhin per SQL-Statement in phpMyAdmin angelegt. Diese Daten sind hier anzugeben. Der Datenbank-Host kann auf localhost belassen werden, muss aber noch um den Port von MariaDB ergänzt werden:

Nextcloud Setup
Der Installer führt schließlich durch die letzten Schritte und möchte die Informationen zur Datenbankverbindung haben.

Ein Klick auf "Installation abschließen" erstellt jetzt sämtliche Datenbanktabellen und schließt die Installation ab. Eventuell erscheint hier ein Fehler 504 mit dem Fehlertext "Bei der Verarbeitung dieser Anforderung ist ein Fehler aufgetreten.". Nach einem Reload der Seite ist diese Fehlermeldung bei mir aber verschwunden. Allerdings erscheint eine weitere Fehlermeldung:

Dein Datenverzeichnis kann von anderen Benutzern gelesen werden
Bitte ändere die Berechtigungen auf 0770, sodass das Verzeichnis nicht von anderen Benutzern angezeigt werden kann.
Nextcloud beklagt sich über falsche Zugriffsrechte.

Mit diesem Fehler kann auf zwei Weisen verfahren werden: Entweder man passt die Zugriffsrechte so an, dass nur noch die Gruppe "http" Zugriff hat, oder wenn man weiß was man tut, weist man Nextcloud an, die Berechtigungen des Datenverzeichnisses nicht zu prüfen. Ich stelle hier beide Möglichkeiten vor.

Überprüfen der Berechtigungen deaktivieren

Wenn man möchte, dass Nextcloud die Berechtigungen nicht prüfen soll, weil man bewusst möchte, dass ein bestimmter Benutzer auf das Datenverzeichnis zugreifen kann, um beispielsweise später auch per Windows Explorer zugreifen zu können, ist dieses Vorgehen der richtige Weg. Um die Prüfung zu deaktivieren, muss die Konfigurationsdatei von Nextcloud bearbeitet werden. Diese findet sich im Installationsverzeichnis von Nextcloud unter config/config.php. Damit das Bearbeiten der Datei etwas komfortabler ist, gebe ich meinem DiskStation-Benutzer noch Berechtigungen auf die Konfigurationsdatei:

Nextcloud config.php Berechtigungen anpassen
Damit ich einfacher Konfigurationen für die Konfigurationsdatei vornehmen kann, passe ich die Berechtigungen an.

Jetzt kann ich über den Datei-Explorer per UNC-Pfad auf das Installationsverzeichnis zugreifen:

Nextcloud Konfigurationsdatei
Die Konfigdatei von Nextcloud findet sich unter config/config.php.

In der Konfigurationsdatei ist folgener Eintrag hinzuzufügen:

'check_data_directory_permissions' => false,
Nextcloud 'check_data_directory_permissions' => false,
Das Prüfen der Berechtigungen für das Datenverzeichnis kann über die Konfigurationsdatei deaktiviert werden.
Wer das Prüfen der Berechtigungen für das Datenverzeichnis deaktiviert, sollte überlegen was er tut, damit keine Sicherheitslücken geschaffen werden.

Berechtigungen anpassen

Wer hingegen die Berechtigungen korrekt setzen möchte, kann diese über die File Station der Synology DiskStation anpassen. Dazu ist als Besitzer für das Verzeichnis "nextcloud_data" die Gruppe "http" einzutragen:

Synology DiskStation File Station Besitzer
Das Verzeichnis "nextcloud_data" muss dem Besitzer "http" zugeordnet sein.

Im Reiter "Berechtigungen" darf ausschließlich die Gruppe "http" berechtigt sein:

Synology DiskStation File Station Berechtigungen
Die Berechtigungen für das Verzeichnis "nextcloud_data" müssen ebenfalls angepasst werden.
Eventuell vererbte Berechtigungen können über die Schaltfläche "Erweiterte Otionen" -> "Übernommene Berechtigungen ausschließen" entfernt werden.

Abschluss der Grundinstallation

Nach einem weiteren Refresh der Seite öffnet sich schließlich die Loginmaske von Nextcloud:

Die grundlegende Installation von Nextcloud ist somit abgeschlossen.

Installation optimieren

Nach dem Login kann oben rechts auf das Benutzeravatar und auf "Einstellungen" geklickt werden. Unter "Verwaltung" und "Übersicht" kann schließlich ein Check gestartet werden, der bestimmte Parameter prüft. Diese Punkte sollten auch nicht ignoriert, sondern der Reihe nach abgearbeitet werden:

Nextcloud Sicherheitscheck
Diese Installation verlangt noch ein bisschen Aufmerksamkeit.

Die erste Warnung "Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von 512MB." kann behoben werden, indem das PHP-Profil bearbeitet wird. Konkret muss im Reiter "Kern" der Wert für memory_limit auf mindestens 512M gesetzt werden. Bevor diese Einstellung gemacht wird, sollte sich aber vergewissert werden, dass die DiskStation über genügend Arbeitsspeicher verfügt.

Die zweite Warnung "Für Deine Installation ist keine Standard-Telefonregion festgelegt." lässt sich über eine zusätzliche Einstellung in der Konfigurationsdatei "config/config.php" beheben. Es ist die folgende Zeile hinzuzufügen:

'default_phone_region' => 'DE',

Es bleibt die Meldung "Es wurde kein PHP Memory Cache konfiguriert.". Um dies zu beheben, ist in der Konfigurationsdatei "config/config.php" die folgende Zeile hinzuzufügen:

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

Nach einem erneuten Check sind alle Warnungen verschwunden:

Nextcloud Sicherheitscheck
Die eigentliche Installation von Nextcloud ist somit abgeschlossen.

Die eigentliche Installation von Nextcloud ist somit abgeschlossen. Es empfiehlt sich aber nach künftigen Updates von Nextcloud erneut zu prüfen, ob neue Warnungen vorhanden sind.

Zugriff aus dem Internet

Die aktuelle Installation läuft zwar, ist allerdings nur im lokalen LAN zugänglich. In dieser Anleitung möchte ich ein paar Vorgehensweisen vorstellen, wie Nextcloud im Internet hinter einer FRITZ!Box mit Dual-Stack Lite Internetanschluss verfügbar gemacht werden kann.

An dieser Stelle muss eventuell der VirtualHost auf der Web Station angepasst werden. In meinem Beispiel wird dies der Fall sein, weil der VirtualHost nur auf "diskstation01.fritz.box" hört, was aber im Internet kein gültiger DNS-Name ist.
Ich werde mich in dieser Anleitung Stück für Stück herantasten und nicht direkt die endgültige Lösung zeigen, damit du genau verstehst was ich tue und wie es funktioniert.

Portfreigabe erstellen

In der FRITZ!Box kann unter "Internet" -> "Freigaben" -> "Portfreigaben" eine Portfreigabe erstellt werden, damit Nextcloud im Internet erreichbar ist. Dafür muss zunächst auf "Gerät für Freigaben hinzufügen" geklickt werden. Es kann jetzt entweder manuell ein Gerät angegeben werden oder ein der FRITZ!Box bekanntes Gerät ausgewählt werden. In meinem Beispiel kennt die FRITZ!Box meine DiskStation und ich kann sie einfach auswählen. Unten ist noch auf "Neue Freigabe" zu klicken. Ich gebe für dieses Beispiel nur Port 8443 für HTTPS frei. Ja richtig 8443 und nicht 443. Das liegt daran, dass der Standardserver der Synology Web Station bereits portbasiert auf Port 443 lauscht. Auch erstelle ich die Freigabe nur für IPv6, da ich einen Dual-Stack Lite Internetanschluss für diese Anleitung verwende:

FRITZ!Box IPv6 Portfreigabe erstellen
In der FRITZ!Box kann eine IPv6 Portfreigabe erstellt werden.
Wenn das gewünschte Gerät in der Dropdownliste nicht auftaucht, sind die benötigten Informationen wie die IPv4-Adresse oder die IPv6 Interface-ID manuell anzugeben. Wie das geht habe ich bereit in diesem Artikel erklärt.

Die Portfreigabe ist erstellt, der Zugriff aus dem Internet funktioniert aber immer noch nicht. Grund ist der VirtualHost, der nur Anfragen für diskstation01.fritz.box verarbeitet, nicht aber Anfragen für die IPv6-Adresse der DiskStation. Außerdem lauscht er noch auf Port 443, ich habe die Portfreigabe in der FRITZ!Box aber für Port 8443 erstellt, da Port 443 für einen portbasierten VirtualHost bei mir bereits belegt ist. Im VirtualHost muss jetzt die Einstellung auf Portbasiert geändert werden, weil wir sonst keine Chance haben Anfragen auf einer IP-Adresse zu verarbeiten, denn einen externen DNS-Namen haben wir noch nicht:

Synology DiskStation Web Station Virtual Host
Um den Zugriff aus dem Internet zu ermöglichen muss eventuell der VirtualHost angepasst werden.

Der Zugriff aus dem Internet über die IPv6-Adresse der Synology DiskStation funktioniert jetzt. Du kannst die IPv6-Adresse der DiskStation in der Systemsteuerung unter "Netzwerk" -> "Netzwerkschnittstelle" -> "LAN" herausfinden:

Synology DiskStation IPv6-Adresse
Die IPv6-Adresse kann in der Systemsteuerung der Synology DiskStation abgelesen werden.

Per Browser lässt sich Nextcloud jetzt mit folgender URL aufrufen: "https://[IPv6]:8443" bzw. in meinem Fall "https://[2axx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]:8443"

Da in der FRITZ!Box nur Port 8443 freigegen ist und der VirtualHost nur HTTPS akzeptiert, muss in der URL explizit https:// vorangestellt und der Port am Ende ergänzt werden.

Da wir jetzt unter einer anderen URL auf Nextcloud zugreifen als bei der Installation, erscheint die Fehlermeldung "Zugriff über eine nicht vertrauenswürdige Domain":

Zugriff über eine nicht vertrauenswürdige Domain
Nextcloud merkt, dass wir über eine andere URL zugreifen.

Vertrauenswürdige Domains hinzufügen

Über die Konfigurationsdatei "config/config.php" können beliebig viele vertrauenswürdige Domains gepflegt werden. Dort tragen wir jetzt die IPv6-Adresse ein (siehe Zeile 9):

Nextcloud trusted_domains
Über die Konfigurationsdatei von Nextcloud können vertrauenswürdige Domains hinzugefügt werden.
Wenn Nextcloud später unter mehreren IP-Adressen oder DNS-Einträgen erreichbar sein soll, müssen diese IP-Adressen und DNS-Einträge immer in den trusted_domains aufgenommen werden. Es können beliebig viele Zeilen eingetragen werden. Ein dritter Eintrag würde beispielsweise wie folgt aussehen:
2 => 'meinedomain.tld',
Weitere Beispiele sind hier zu finden: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#default-config-php-examples

Ein erneutes Laden der Seite führt uns schließlich zur Loginseite. Damit ist Nextcloud grundsätzlich im Internet erreichbar. Allerdings noch mit zwei Haken: Eine IPv6-Adresse ist schwer zu merken und in den meisten Fällen wird sie sich nach einer gewissen Zeit ändern. Diese Punkte schauen wir uns in den nächsten Abschnitten gemeinsam an und überlegen, wie wir diese lösen können.

Variante 1: Externen DNS-Namen konfigurieren bei fester IPv6

Im letzten Absatz habe ich zwei Nachteile des aktuellen Setups erklärt: Eine IPv6-Adresse ist schwer zu merken und in den meisten Fällen wird sie sich nach einer gewissen Zeit ändern. Wenn du eine feste IPv6-Adresse hast, lese hier weiter. Hast du aber eine dynamische IPv6-Adresse (was bei den meisten Privatinternetanschlüssen standardmäßig der Fall ist), überspringe diesen Abschnitt und fahre direkt mit dem nächsten Abschnitt DDNS konfigurieren fort.

Ich zeige in diesem Abschnitt, wie sich ein externer DNS-Eintrag für Nextcloud konfigurieren lässt. Voraussetzung ist, dass du eine eigene Domain besitzt. Du kannst dann die Hauptdomain oder eine beliebige Subdomain für Nextcloud verwenden. An dieser Stelle kann ich leider keine detaillierte Anleitung geben, weil das Vorgehen bei jedem Anbieter etwas unterschiedlich ist. Es ist aber in jedem Fall ein AAAA-Record zu erstellen, der auf die IPv6-Adresse der DiskStation zeigt:

IONOS AAAA-Record erstellen
Am Beispiel von IONOS habe ich hier einen AAAA-Record für Nextcloud angelegt.

Eventuell vorhandene weitere DNS-Einträge für meine Nextcloud-Domain habe ich gelöscht, da ich in diesem Fall ausschließlich einen AAAA-Record für IPv6 benötige.

Jetzt muss natürlich der VirtualHost wieder angepasst werden. Außerdem kann jetzt wieder der Standard HTTPS-Port 443 verwendet werden, weil ein Zugriff über die IPv6-Adresse nicht mehr erforderlich ist. Zur Erinnerung: Wir mussten den Port im VirtualHost auf 8443 ändern, weil Port 443 für portbasierte VirtualHosts im Standard bereits belegt ist. An dieser Stelle muss die Portfreigabe in der FRITZ!Box natürlich auch auf Port 443 geändert werden.

Der VirtualHost wird auf Namensbasiert geändert und als Hostname wird der vorhin erstellte externe DNS-Eintrag (AAAA-Record) eingetragen. Auch kann jetzt wieder der Standardport für HTTP/HTTPS genutzt werden.

Synology DiskStation VirtualHost konfigurieren
Der VirtualHost kann nun wieder auf Namensbasiert und Port 80/443 geändert werden.
Das Setup wird so aber noch nicht funktionieren. Siehe weiter unten den Abschnitt Anpassungen nach Domainänderungen nicht vergessen.

Variante 2: DynDNS konfigurieren bei dynamischer IPv6

Im vorletzten Abschnitt habe ich zwei Nachteile des aktuellen Setups erklärt: Eine IPv6-Adresse ist schwer zu merken und in den meisten Fällen wird sie sich nach einer gewissen Zeit ändern. In diesem Abschnitt schauen wir uns an, wie wir beide Probleme lösen können und schauen uns dafür den DDNS-Dienst von Synology an und erstellen einen CNAME-Eintrag bei einem DNS-Anbieter. Wenn du aber eine feste IPv6-Adresse hast, ist der vorherige Abschnitt für dich besser geeignet. Dieser Abschnitt ist für dich geeignet, wenn du eine dynamische IPv6-Adresse hast.

Voraussetzung für diesen Abschnitt ist, dass du mit deinem Synology-Account bei deiner DiskStation angemeldet bist (Systemsteuerung -> Synology-Konto).
Bei der Verwendung der DDNS-Funktion wird die DiskStation nicht mehr in den Ruhezustand versetzt werden: https://kb.synology.com/de-de/DSM/tutorial/What_stops_my_Synology_NAS_from_entering_System_Hibernation
Wer über eine FRITZ!Box verfügt, kann alternativ über diese DynDNS für die DiskStation einrichten, damit der Ruhezustand weiterhin funktioniert: https://nocksoft.de/tutorials/dyndns-fuer-ipv6-server-hinter-fritzbox-konfigurieren/

In der DiskStation kann in der Systemsteuerung unter "Externer Zugriff" -> "DDNS" eine neue DDNS-Konfiguration angelegt werden. Ein Klick auf Hinzufügen öffnet die Maske:

Synology DiskStation DDNS einrichten
Über die DiskStation erstelle ich einen DDNS-Eintrag.

Als Anbieter wähle ich Synology. Der Hostname ist frei zu wählen, muss weltweit aber einmalig sein. Die externe IPv4-Adresse lösche ich, weil Nextcloud hinter dem Dual-Stack Lite Internetanschluss in diesem Setup nur über IPv6 erreichbar ist. Wahlweise kann hier der Haken für das Let´s Encrypt Zertifikat direkt gesetzt werden, damit über ein offiziell gültiges Zertifikat per HTTPS auf Nextcloud zugegriffen werden kann. Ich lasse diese Option jedoch deaktiviert, weil ich später ein eigenes Let´s Encrypt Zertifikat erstellen möchte, welches für mehrere DNS-Einträge gültig ist.

Später unten im Abschnitt erkläre ich, dass für Let´s Encrypt Zertifikate Port 80 in der FRITZ!Box freigeschaltet werden muss. Dies gilt aber nicht für Synology DDNS Let´s Encrypt Zertifikate, sodass diese ohne weitere Konfiguration erstellt werden können: https://kb.synology.com/de-de/DSM/tutorial/How_to_enable_HTTPS_and_create_a_certificate_signing_request_on_your_Synology_NAS

Ein Klick auf "Verbindung testen" prüft, ob die eingegebenen Daten gültig sind. Als Status wird dann "Normal" angezeigt. Ein Klick auf "OK" legt den DDNS-Eintrag schließlich an:

Synology DiskStation DDNS
Der DDNS-Eintrag ist jetzt erfolgreich angelegt.

Sollte sich die IPv6-Adresse der DiskStation künftig ändern, wird der DDNS-Eintrag automatisch aktualisiert.

Im Synology-Konto können die registrierten DiskStations und dazugehörigen DDNS-Einträge ebenfalls eingesehen werden: https://account.synology.com/de-de/overview

Als nächstes muss natürlich der VirtualHost wieder angepasst werden. Außerdem kann jetzt wieder der Standard HTTPS-Port 443 verwendet werden, weil ein Zugriff über die IPv6-Adresse nicht mehr erforderlich ist. Zur Erinnerung: Wir mussten den Port im VirtualHost auf 8443 ändern, weil Port 443 für portbasierte VirtualHosts im Standard bereits belegt ist. An dieser Stelle muss die Portfreigabe in der FRITZ!Box natürlich auch auf Port 443 geändert werden.

Der VirtualHost wird auf Namensbasiert geändert und als Hostname wird der vorhin erstellte Synology DDNS-Eintrag eingetragen. Auch kann jetzt wieder der Standardport für HTTP/HTTPS genutzt werden.

VirtualHost für DDNS anpassen
Der VirtualHost muss natürlich noch für Verbindungen über den neuen DDNS-Eintrag konfiguriert werden.
Das Setup wird so aber noch nicht funktionieren. Siehe weiter unten den Abschnitt Anpassungen nach Domainänderungen nicht vergessen.

Eigene Domain verwenden

Zusätzlich zu dem Synology DDNS-Eintrag kann noch ein eigener DNS-Eintrag (CNAME bei Subdomain wie nextcloud.meinedomain.de oder Weiterleitung bei Hauptdomain wie meinedomain.de) erstellt werden. Je nach DNS-Anbieter ist das Vorgehen hier etwas unterschiedlich, daher verzichte ich an dieser Stelle auf eine detaillierte Anleitung. In jedem Fall ist aber ein CNAME-Eintrag (für eine Subdomain) oder eine Weiterleitung (für eine Hauptdomain) zu erstellen, der auf den Synology DDNS-Eintrag zeigt. Da ich für diese Nextcloud-Installation eine Subdomain verwenden möchte, lege ich einen CNAME an:

IONOS CNAME-Record erstellen
Am Beispiel von IONOS habe ich hier einen CNAME für meine DDNS xyz.synology.me Domain erstellt.

Der CNAME (oder die Weiterleitung) ist erstellt. Der VirtualHost muss aber noch angepasst werden. Hier ist eine Entscheidung zu treffen: Soll die Synology DDNS-Domain weiterhin funktionieren oder soll nur der eigene Domainname (CNAME oder Weiterleitung) funktionieren? Wenn nur der eigene Domainname funktionieren soll, ist lediglich der Hostname im VirtualHost auf die neue Domain abzuändern. Sollen beide DNS-Namen funktionieren, ist ein neuer VirtualHost mit den gleichen Einstellungen wie der bereits vorhandene VirtualHost zu erstellen. Lediglich der Hostname ist dann anzupassen. Es gibt in diesem Fall also zwei VirtualHosts: Einen für die xyz.synology.me DDNS-Domain und einen für die eigene Domain.

Das Setup wird so aber noch nicht funktionieren. Siehe weiter unten den Abschnitt Anpassungen nach Domainänderungen nicht vergessen.

Anpassungen nach Domainänderungen nicht vergessen

Bei Variante 1 und 2 haben wir eine eigene Domain und/oder eine Synology DDNS-Domain erstellt. Funktionieren wird das Setup so aber noch nicht:

Auch wenn im VirtualHost Port 80 aktiviert ist, funktioniert in unserem Setup derzeit nur HTTPS, weil in der FRITZ!Box nur Port 443 freigegen ist. In der URL muss also weiterhin explizit https:// vorangestellt werden.
Alternativ kann natürlich auch Port 80 in der FRITZ!Box freigeschaltet werden. Port 80 wird übrigens später auch für Let`s Encrypt benötigt.

Nach dem Anpassen der Konfigurationsdatei sieht sie in meiner Testumgebung wie folgt aus (siehe trusted_domains in Zeile 6 bis 11 und overwrite.cli.url in Zeile 15):

Nextcloud config/config.php
In der Konfigurationsdatei von Nextcloud habe ich die oben aufgeführten Punkte umgesetzt.
Überflüssige Eintrage wie die IPv6-Adresse habe ich aus den trusted_hosts entfernt. Die URL bei overwrite.cli.url habe ich auf eine gültige URL geändert.

FRITZ!Box DNS-Rebind-Schutz konfigurieren

Wer jetzt versucht https://meinedomain.tld, https://nextcloud.meinedomain.de oder https://meinddns.synology.me im Browser aufzurufen, stößt höchstwahrscheinlich auf ein weiteres Problem: Die FRITZ!Box versucht einen öffentlichen DNS-Namen aufzulösen, der auf ein Gerät zeigt, das hinter der FRITZ!Box liegt, also eigentlich intern ist. Die FRITZ!Box unterbindet das standardmäßig mit dem DNS-Rebind-Schutz. Der Browser wird eine Fehlermeldung wie "Seite wurde nicht gefunden" anzeigen. Da wir jetzt aber genau das möchten, müssen wir in der FRITZ!Box unter "Heimnetz" -> "Netzwerk" -> "Netzwerkeinstellungen" -> "DNS-Rebind-Schutz" eine Ausnahme für unsere Domain(s) erstellen. Dazu muss jede gewünschte Domain einfach in einer eigenen Zeile in das Feld "Hostnamen-Ausnahmen" eingetragen werden:

FRITZ!Box DNS-Rebind-Schutz Ausnahmen
Damit die DNS-Auflösung auch intern funktioniert, muss eine Ausnahme für den DNS-Rebind-Schutz erstellt werden.
In meinen Tests konnte es einige Minuten dauern, bis die Ausnahme für den DNS-Rebind-Schutz funktionierte. Ein Neustart der FRITZ!Box war bei mir jedoch nicht notwendig.

Let´s Encrypt Zertifikat erstellen

An dieser Stelle bleibt jetzt nur noch ein unschöner Zertifikatsfehler, weil die Web Station standardmäßig ein selbstsigniertes Zertifikat verwendet:

Firefox Zertifikatsfehler
Aktuell haben wir noch mit einem Zertifikatsfehler zu kämpfen.

Die DiskStation bietet die Möglichkeit, ein offizielles Zertifikat über Let´s Encrypt zu erstellen. Das sollte auch getan werden. Allerdings braucht Let´s Encrypt Zugriff auf Port 80, um das Zertifikat zu erstellen. Es ist also in der FRITZ!Box an dieser Stelle noch eine zusätzliche Portfreigabe für Port 80 zu erstellen, falls noch nicht geschehen.

In der DiskStation in der Systemsteuerung unter "Sicherheit" -> "Zertifikat" kann über die Schaltfläche "Hinzufügen" ein neues Zertifikat erstellt werden:

Synology DiskStation Let´s Encryt Zertifikat erstellen
Über die DiskStation kann direkt ein Let´s Encrypt Zertifikat erstellt werden. Voraussetzung ist, das Port 80 im Internet erreichbar ist.

Im nächsten Fenster ist eine Beschreibung anzugeben, sowie die mittlere Option auszuwählen:

Synology DiskStation Let´s Encryt Zertifikat erstellen
Der Assistent führt durch die Zertifikaterstellung mit Let´s Encrypt.

Schließlich ist als Domainname und als alternativer Name der neue DNS-Name einzutragen. Soll Nextcloud später über mehrere DNS-Namen erreichbar sein, können sämtliche Domains im Feld "Betreff Alternativer Name", getrennt durch ein Semikolon, eingetragen werden. E-Mail ist leider ein Pflichtfeld. Es kann aber auch eine Fake-Adresse eingetragen werden.

Synology DiskStation Let´s Encryt Zertifikat erstellen
Der Assistent beschränkt sich auf die wesentlichen Daten.

Ein Klick auf "Fertig" erstellt schließlich das Zertifikat. Allerdings ist es noch keinem Dienst zugewiesen. Wir müssen das Zertifikat also dem VirtualHost für Nextcloud zuweisen. Das geht über den Button "Einstellungen":

Synology DiskStation Let´s Encryt Zertifikat erstellen
Das neue Zertifikat muss schließlich noch dem VirtualHost zugeordnet werden.
Das Zertifikat ist jetzt erstellt, aber nur 90 Tage gültig. Es muss alle 90 Tage erneuert werden. Dazu bietet die DiskStation eine entsprechende Funktion im Menü unter "Aktion" an. Laut Synology erneuert die DiskStation das Zertifikat aber automatisch, sofern Port 80 in der FRITZ!Box freigeschaltet ist: https://kb.synology.com/de-de/DSM/tutorial/How_to_enable_HTTPS_and_create_a_certificate_signing_request_on_your_Synology_NAS

An dieser Stelle ist die Installation und Konfiguration von Nextcloud inklusive Erreichbarkeit im Internet abgeschlossen.

Zugriff auf Nextcloud von IPv4-Clients

Es bleibt nur noch das Problem, dass viele Clients noch ausschließlich IPv4 verwenden und Nextcloud daher nicht erreichen können. Sollte dies für dich kein Problem darstellen, weil du an allen relevanten Orten mit einer IPv6-Adresse unterwegs bist: Herzlichen Glückwunsch! Hast du allerdings das Problem, dass immer mal wieder nicht auf Nextcloud zugegriffen werden kann, weil keine IPv6-Adresse vorhanden ist, möchte ich hier einmal einige mögliche Strategien und Techniken vorstellen, um einen Zugriff eventuell dennoch zu ermöglichen:

Ein Portmapper ist ein Dienst im Internet, welcher sich zwischen dem IPv4-Client und IPv6-Server schaltet, um zu übersetzen. In meinem Artikel Server im Heimnetz über FRITZ!Box mit DS-Lite aus dem Internet erreichen habe ich beispielsweise einen solchen Dienst vorgestellt.

Wer keinen Drittanbieterdienst verwenden möchte, kann sich auch selber einen "Übersetzerserver" installieren. Dazu eignet sich ein einfacher virtueller Server, der über eine IPv4- und eine IPv6-Adresse verfügt. Solche "vServer" bietet beispielsweise IONOS an (keine Werbung). In den meisten Fällen reichen diese Server auch in der kleinsten Ausführung aus, wie im Falle von IONOS der "VPS S" für 1€ monatlich (Stand 29.12.2021). Der Anbieter spielt dabei aber keine Rolle und es kann auch ein anderer Anbieter verwendet werden. Auf einem solchen Server kann dann mit dem Paket 6tunnel Traffic zwischen IPv4-Client und IPv-6-Server "übersetzt" werden:

Alternativ ließe sich bestimmt auch ein Reverse Proxy installieren, der zwischen IPv4 und IPv6 vermittelt:

Zu der Thematik "Zugriff auf Nextcloud von IPv4-Clients" habe ich jetzt nur ein paar Ideen gegeben. Ich hoffe, dass da für dich die richtige Idee dabei ist, falls du Nextcloud auch unter IPv4 erreichen möchtest.


Weiterführende Links
https://docs.nextcloud.com/server/latest/admin_manual/installation/harden_server.html
https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html

Quellen
https://docs.nextcloud.com/server/latest/admin_manual/installation/source_installation.html
https://docs.nextcloud.com/server/latest/admin_manual/configuration_database/linux_database_configuration.html#configuring-a-mysql-or-mariadb-database
https://docs.nextcloud.com/server/23/admin_manual/configuration_server/caching_configuration.html
https://frank-hilft.de/knowledge-base/lets-encrypt-zertifikat-automatisch-verlaengern/

Seit mehreren Jahren begeistere ich mich privat und beruflich für die IT. Das habe ich dann auch zum Anlass genommen, diesen Blog ins Leben zu rufen, um dort praxisnahe Tutorials über verschiedene IT-Themen zu schreiben und meine selbst geschriebene Software zu veröffentlichen.

21 Antworten auf „Nextcloud auf Synology NAS hinter FRITZ!Box und DS-Lite installieren“

Hallo Rafael
Vielen Dank für das tolle Tutorial. Ich habe Punkt für Punkt durchgearbeitet und nach etwa 2 Stunden konzentrierter Arbeit läuft Nextcloud auf meinen NAS. Es gab den einen oder anderen Stolperstein, den ich aber überwinden konnte. Via DynDNS Adresse von Noip ist meine Installation von aussen erreichbar. Im Router sind der Port 80/443 ans NAS weitergeleitet. Frage: Ist das ein Sicherheitsrisiko? Oder kann man das so lassen? Und noch eine Anregung: wie wäre es, ergänzend zu diesem Tutorial ein Tutorial zu veröffentlichen, das die Integration von OnlyOffice erläutert 😉 Beste Grüsse aus der Schweiz, Erich

Hallo Erich,
cool, dass deine Installation soweit läuft 🙂
Grundsätzlich stellt jeder Port, den man von außen erreichbar macht, ein Sicherheitsrisiko dar. Aber mit Port 80 und 443 hast du dich ja zumindest auf die wirklich notwendigen fokussiert und anders geht es halt leider auch nicht. Nextcloud erfüllt schon hohe Sicherheitsstandards, weswegen die deutsche Bundesregierung dies sogar einsetzt. Wichtig sind auf jeden Fall regelmäßige Updates und Backups, regelmäßiges Prüfen der Sicherheitswarnungen in Nextcloud und wenn möglich Multifaktor-Authentifizierung.
OnlyOffice steht auch auf meiner ToDo-Liste, dass ich es mir mal ansehe 😉
Liebe Grüße aus dem Ruhrgebiet
Rafael

Guten Tag Rafael,
vielen Dank für die geschätzte Rückmeldung. Das passt so für mich.

In der Zwischenzeit habe ich auch die Nacharbeiten an der config.php durchgeführt. Auch hier keine Probleme. Der Sicherheits-Check gibt meiner Installation ein (grünes) A+.

Bin schon gespannt, ob/wann der Teil "OnlyOffice" erscheint 😉

Noch eine Frage: Wo müsste ich ansetzen, wenn ich die Installation von aussen nur via VPN erreichbar machen wollte. VPN für den grundsätzlichen Zugang zu meinem Netz ist eingerichtet.

Beste Grüsse und guten Tag. Erich

Hallo Erich,
wenn du Nextcloud nur per VPN erreichen möchtest, musst du eigentlich nichts mehr machen, da dein VPN ja schon grundsätzlich funktioniert. Du kannst dann einfach auf Nextcloud zugreifen, als wärst du zu Hause 🙂
Du solltest lediglich in deinem Router den Port 80 und 443 sperren. Falls du allerdings Lets Encrypt verwendest, brauchst du Port 80 für die Erneuerung des Zertifikats.
LG Rafael

Vielen Dank, Rafael, für diese Klarstellung. Das bestätigt meine laienhafte Annahme. Auch hierzu: für mich passt das so.
Beste Grüsse, Erich

Hallo Rafael,
hier eine kleine Information. OnlyOffice (CommunityEdition) läuft ergänzend zu der von Dir beschriebenen Installation von Nexcloud seit etwa 2 Stunden einwandfrei.

Vorgehen: Als erstes habe ich die App 'Community Document Server' heruntergeladen und aktiviert. Als nächstes dann die App 'ONLYOFFICE' heruntergeladen und ebenfalls aktiviert.

In den Einstellungen der App 'ONLYOFFICE' war der korrekte Link schon drin. Nur noch bestätigen (speichern) und es hat funktioniert.

Allerdings funktionierte es nicht mit Safari, sondern lediglich mit Firefox, Edge und Chrome. Warum Safari Probleme macht, kann ich nicht sagen. Sorry für die laienhafte Beschreibung 🙂

Beste Grüsse, Erich

Hallo Rafael,

ich habe einen kleinen Stolperstein gefunden, der beim Konfigurieren des virtuellen Hosts entsteht, sich aber erst etwas später bemerkbar macht.

Zumindest bei mir weist die Web Station darauf hin, dass beim erstmaligen Erstellen des virtuellen Hosts eine Leseberechtigung für den User http auf den Root-Ordner gesetzt werden muss. Und es wird tatsächlich auch nur die Leseberechtigung gesetzt.
Bei der späteren Installation von Nextcloud sind dann jedoch auch Schreibrechte des Users http für den root Ordner erforderlich.

Ansonsten heißt der Fehler schon während der Installation:
"Dependencies not found.
Can't write to the current directory.
Please fix this by giving the webserver user write access to the directory."

Viele Grüße, Toby

Hallo Rafael,

super Anleitung, vielen Dank! Ich habe allerdings ein Problem bei der Installation von Nextcloud, denn ich erhalte folgende Fehlermeldung nach bestandenem "Dependency check":

Nextcloud is NOT installed
download of Nextcloud source file failed.
SSL certificate problem: certificate has expiredSSL certificate problem: certificate has expireddeleting of nc.zip failed.

Leider bringt mir diese Fehlermeldung nichts, da ich sie nicht verstehe. Hast du oder irgendwer ne Idee?

moin,
tja ich scheiter leider an der SQL Anbindung. Sprich wenn ich das Admin-Konto bei Nextcloud erstellen möchte bekomme ich die Fehlermeldung das ich keine Anbindung an die SQL Datenbank bekomme:
"Error while trying to create admin user: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2002] No such file or directory"

Nur kann ich über phpmyAdmin auf die Datenbank mit dem User zugreifen.

Hardware ist eine Synology DS1621+

Gruß

Hallo Rafael,
auch von mir ein riesiges Dankeschön für das tolle How-To!
Wie ich sehe, kommst du bei der Installation vollkommen ohne Modifikationen am DSM über das Terminal aus. Auch die Vergabe der Berechtigungen läuft vollständig über das DSM und nicht, wie bei anderen Tutorials, über die Konsole.
Dazu habe ich eine Frage:
Ich habe bereits mehrfach nextCloud-Installationen auf Synology-NAS durchgeführt. Stets nach Anleitungen aus dem Internet. Hierbei gab es aber stets das Problem (wahrscheinlich durch die Berechtigungsvergabe über das Terminal), dass die Installation nach dem nächsten DSM-Update nicht mehr funktionierte. Die Installation an sich schon, jedoch verschwanden sämtliche Benutzer und Berechtigungen. Wie schaut es da bei dir aus? Nachdem das Tutorial noch recht jung ist: Hast du schon ein Update hinter dir? Hat dir das DSM-Update irgendwelche Berechtigungen oder Pfade "zerlegt"?

Hallo Stefan,
ich habe seitdem kein großes DSM-Update gemacht. Da ich aber generell öfters auf diesem Wege Berechtigungen anpassen, erwarte ich keine Probleme 🙂
Generell versuche ich immer Anpassungen über das Terminal bei meinem Synology NAS zu vermeiden.
LG Rafael

Hallo,
bei mir hat's leider nicht funktioniert. Der Webinstaller mündet nach etwa zwei Minuten in einer Seite mit einem dicken "504" und dem lapidaren Kommentar: "Bei der Verarbeitung dieser Anforderung ist ein Fehler aufgetreten."
Im Verzeichnis nextcloud_app kann man währenddessen dem Download eines Zip-Files zusehen, das aber mit Erscheinen der Fehlerseite dann wieder verschwindet.
Habe daraufhin mal das Timout im PHP-Profil von 60 auf 600 geändert. Damit kommt er immerhin soweit, das zip komplett zu laden, bleibt aber dann offenbar beim auspacken hängen und landet wieder auf der Fehlerseite.

Ich habe wie angegeben den externen DNS-Namen vergeben und bis zu diesem Schritt hat alles einwandfrei funktioniert, doch jetzt bekomme ich immer eine Fehleranzeige. Ich weiß nicht was hier falsch gelaufen ist, hast du eventuell eine Idee?

Hallo. Auch ich komme bei Eingabe meines Hostnamen "https://MeinServer" leider nicht mehr weiter. Trotz der Sicherheitseinstellungen im Browser und als sicheres Einstufen der Servers per Hostnamen, erhalte ich den Fehler "403" ....

Danke für die ausführliche Anleitung. Aus irgendwelchen Gründen laufen keine cron Jobs auf meinem System. Daher habe ich etwas tiefer im Betriebssystem herumgewühlt, um das Problem zu lösen, denn ein Ajax Cron ist keine Option. Was habe ich gemacht:

1. ssh Zugang freigeschaltet.
2. per ssh auf die Synology einloggen. auf den Benutzer root wechseln per sudo -iH.
3. mit nano /etc/systemd/system/nextcloudcron.service eine Datei mit folgendem Inhalt anlegen:
[Unit]

Description=Nextcloud cron.php job

[Service]

User=root

ExecStart=/bin/sudo -u http /usr/local/bin/php82 --define apc.enable_cli=1 /volume1/web/nextcloud_app/cron.php

KillMode=process

4. mit nano /etc/systemd/system/nextcloudcron.timer eine Datei mit folgendem Inhalt anlegen:

[Unit]

Description=Run Nextcloud cron.php every 5 minutes

[Timer]

OnBootSec=5min

OnUnitActiveSec=5min

Unit=nextcloudcron.service

[Install]

WantedBy=timers.target

5. mit systemctl enable nextcloudcron.timer die Änderungen aktivieren.

6. Diskstation neu starten und in NextCloud / Grundeinstellungen kontrollieren, ob der gewünschte Erfolg eingetreten ist.

Anmerkung: in nextcloudcron.service läuft der Dienst als Benutzer root, der per sudo den User http den Befehlt /usr/local/bin/php82 --define apc.enable_cli=1 /volume1/web/nextcloud_app/cron.php ausführen lässt. Leider ist es - zumindest bei mir - nicht möglich, den Dienst als User http laufen zu lassen, ohne noch tiefer ins System einzugreifen.

Quelle: https://docs.nextcloud.com/server/27/admin_manual/configuration_server/background_jobs_configuration.html?highlight=background%20jobs

Hallo,
ich steh vor dem gleichen Hintergrund wie hier im Artikel beschrieben. Leider gibt es in meinem Umfeld noch ipv4 user, sodass diese nicht aus ihrem ipv4 Netzwerk Zugriff auf meine Nextcloud (synology) haben. Leider funktioniert nicht der link https://voiceoverit.de/blog/allgemein/eigene-ipv4-trotz-ipv6-dslite-nat-6tunnel-4to6/1065/
Welchen Port muss ich unter 6tunnel einstellen, dass ich Zugriff auf meine Nextcloud.domain habe?
Gruß Sebastian

Schreibe einen Kommentar

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