Home » Nextcloud » Nextcloud 27 auf Synology DSM 7.2 installieren

Nextcloud 27 auf Synology DSM 7.2 installieren

In diesem Artikel erkläre ich Euch, wie Ihr Nextcloud, in der aktuellsten Version 27 auf Eurer Synology NAS mit DSM 7.2 installieren könnt. Die Installation bietet die grösste Vielfalt an Konfigurationsmöglichkeiten, da alle Komponenten frei konfiguriert werden können, und später, falls nötig, individuel auf Eure wachsenden Bedürfnisse angepasst werden können.. Es gibt zwar eine Docker Installation für Nextcloud, ich finde aber, dass die Synology, je nach Model zu schwach dafür ist, vor allem wenn noch anderer Docker Container darauf laufen.

Die Konfiguration einer eigenen Nextcloud Instanz, welche zudem aus dem Netz, und im LAN erreichbar sein soll, benötigt einiges an Konfiguration und Einstellungen. Auch müssen die Clients, bzw Eure Smartphones  und Laptops DNS seitig leicht angepasst werden, da bestimmte Router keine NAT-Reflection können und Domainanfragen aus dem LAN an Eure eigene Domain ins leere laufen. Warum das so ist, würde hier den Rahmen sprengen, mit entsprechenden Firewalls lässt sich sowas lösen, jedoch haben das nur die wenigstens. Swisscom Router können NAT-Loopback / NAT Reflection, Sunrise und UPC Router hingegen nicht. Deshalb beinhaltet diese Einrichtung auch die Nutzung eines internen eigenen DNS Servers, der dieses Problem umgeht.

Vorbereitungen um Nextcloud 27 auf Eurer Synology mit DSM 7.2 zu installieren

Bevor wir anfangen können, kontrolliert ob die Web Station läuft bzw. installiert sind, wenn Ihr das noch nicht getan habt. Außerdem benötigt ihr SSH-Zugriff auf Eure NAS (auf Windows könnt Ihr das z.B. mit Putty tun).

Installiert folgende Pakete im Paket Zentrum:

  • PHP 8
  • Apache (2.4)
  • MariaDB 10
  • phpmyadmin
  • DNS Server

Öffnet MariaDB 10 im Packetzentrum der Synology und setzt den Haken bei TCP/IP-Verbindung aktivieren.

DynDNS Adresse einrichten und Portweiterleitung erstellen

Als nächstes müssen wir uns eine Dynamische Domain erstellen und eine Adresse festlegen, mit die Nextcloud erreichbar sein soll. Wählt dafür einen aussagekräftigen Namen. Wie das geht, erfahrt Ihr hier in diesem Beitrag.

Dynamischen DNS Eintrag erstellen

Portweiterleitung erstellen

Damit Ihr die Nextcloud aus dem Internet erreichen könnt, muss die Anfrage direkt an Eure Synology NAS geschickt werden, und zwar an die Ports 443 und 80. Diese müssen auf die IP Adresse Eurer Synology zeigen. Wie das geht erfahrt Ihr ebenso in einer unserer Beiträge:

Portweiterleitungen Erstellen

DNS Server erstellen

Dies dienst dazu dass Eure Domain bzw Eure Nextcloud Instanz auch innerhalb Eures Netzwerks erreichbar ist. Bestimmte Router generieren Probleme, falls Ihr auf eine Domain zugreifen wollt, die er garnicht kennt. Im bestenfall können wir somit mit der Domain unsere Nextcloud auch im Heimnetz erreichen. In dem verlinkten Beitrag, erfahrt Ihr wie Ihr einen DNS Server erstellt:

DNS Server auf Synology NAS erstellen

Freigegebener Ordner in DSM 7.2 auf der Synology NAS erstellen

Legt einen neuen geteilten Ordner an, der als Ablageplatz für die Daten dient. Standardmäßig werden die Daten von Nextcloud im data-Ordner unter /web/Nextcloud abgelegt. Allerdings empfiehlt Nextcloud aus Gründen der Sicherheit, den Speicherort außerhalb des /web-Ordners zu positionieren. Dies erleichtert zudem eine zukünftige Aktualisierung von Nextcloud. Keine andere User sollte Zugang zu dem geteilten Ordner haben und als Administrator solltet Ihr dort nur Änderungen durchführen, die Eure Nextcloud-Installation betrifft. Solche Änderungen sollten jedoch als root über Putty durchgeführt werden, da sonst die Besitzverhältnisse geändert werden und Nextcloud keinen Zugriff mehr auf den Ordner oder die Dateien hat. Den geteilten Ordner erstellt man über DSM > Systemsteuerung > Geteilter Ordner, da DSM einen über Putty erstellten Ordner nicht erkennt und man diesen beispielsweise nicht über Hyper Backup sichern kann.

Den data-Ordner in der DS nutzen

Generell sollte nur Nextcloud Daten im data-Ordner ändern können. Würdet Ihr Dateien über die DS bzw. nicht über die Cloud hinzufügen oder Ändern würde Nextcloud das nicht mitbekommen da sie die Daten nicht lesen kann aufgrund der der Rechteverwaltung von Linux/Unix Systemen. Solltet Ihr, Eure Dateien oder einen bestimmten Ordner auch außerhalb von Nextcloud bearbeiten wollen, so müsst ihr diesen als externen Speicher einfügen.

Erstellt einen neuen Freigegebenen Order auf Eurer Synology. Nennt den Ordner z.B nextclouddata. Eine Verschlüsselung darf nicht aktiviert werden, den ansonsten kann Nextcloud die Daten nicht mehr lesen. Ein Verschlüsselung sollte nur direkt über die Nextcloud aktiviert werden. Das werden wir mal in einem weiteren Beitrag in einiger Zeit anschauen.

Verbindet Euch mit SSH oder öffnet PuTTY und verbindet Euch mit Eurer DS. Loggt Euch als Administrator ein in dem Ihr Euer Login und Euer Passwort eingebt. 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 770 /volume1/nextclouddata

Nextcloud 27 herunterladen

Ladet euch das Nextcloud Packet hier herrunter: https://nextcloud.com/install/#instructions-server

Nehmt hier das Archive und klickt auf Get Zip File, ladet es Euch auf Eure Synology herrunter und packet es auf in den Web Ordner Eurer Synology.


Danach wird das ganze Archive in einen neuen Ordner nextcloud entpackt. Entpackt den Inhalt des neu erstellten Ordners in den Basis Nextcloud Ordner. Alle einzelnen Daten müssen danach im im Pfad web/nextcloud sein!


Loggt euch nochmals mit SSH oder Putty ein und gebt als sudo folgende Befehle ein:

chown -R http:http /volume1/web/nextcloud/
chmod -R 750 /volume1/web/nextcloud/

Das setzt die Berechtigungen so, damit die Installation möglich ist, und der Webserver auf die Daten zugreifen kann.

PHP-Profil für Nextcloud erstellen

Ich empfehle die Verwendung eines virtuellen Hosts (DSM 7.1) bzw eines Webdienstes (DSM 7.2) für Eure Cloud. Nextcloud lässt sich dadurch besser absichern, macht hinterher weniger Probleme und außerdem könnt ihr dann ein individuelles PHP-Profil verwenden. Ohne virtuellen Host verwenden alle Webseiten und -anwendungen den selben Webserver und das selbe PHP-Profil, das kann zu Konflikten in der Konfiguration führen. Ausserdem ist es die Vorrausetzung dafür, dass Ihr Euren Dienst aus dem Internet erreichen könnt.

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

  1. Vergebt einen Namen und eine Beschreibung zum Beispiel Nextcloud PHP-Profil
  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:/volume1/nextcloudData ein
  5. Geht in die Erweiterungen und aktiviert folgende Erweiterungen: bcmath, bz2, curl, ftp, gd, gmp, iconv, imagick, intl, mysqli, openssl, pdo_mysql, posix, sodium, ssh2, sysvsem, zip, zlib
  6. Belasst die FPM-Einstellungen so wie sie sind.
  7. Als nächstes müssen wir die Kerneinstellungen festlegen damit Nextcloud optimal funktionieren kann. Sucht im Suchfeld nach den angegeben Einstellungen, und passt die Einstellungen entsprechend an:

    memory_limit= 1024M
    upload_max_filesize= 4G (Die maximale Grösse der Dateien die hochgeladen werden können)
    post_max_size= 128M
    opcache.enable= 1
    apc.enable_cli = 1
    opcache.enable_cli= 1
    opcache.interned_strings_buffer= 64
    opcache.max_accelerated_files= 32531
    opcache.memory_consumption= 512
    opcache.save_comments= 1
    opcache.revalidate_freq= 240


Klickt auf Speichern und beendet den PHP Einrichtungsassistenten.

Hinweis:
Aufgrund eines Bugs der scheinbar in DMS 7.2 moment besteht, wird das php Profil, welches wir für Nextcloud erstellt haben nur korrekt geladen, wenn das Standard PHP8.0 Profil ebenso diese Einstellungen verwendet.
Geht also in die Skript Einstellungen der Webstation und aktiviert die selben Module wie in Eurem Nextcloud Profil und tätigt die selben PHP Kern Einstellungen. Bei DSM 7.1 gab es dieses Problem nicht.


Stellt sicher das im Reiter Webdienst beim Standardserver Apache Ausgewählt ist, und des PHP8.0 Default Profile


Webdienst erstellen

Jetzt wäre der Zeitpunkt den Webserver zu konfigurieren.
Wählt dazu in der Web Station Webdienst und geht oben auf Erstellen. Nehmt die Einstellungen wie folgt vor. Wählt als Dienst PHP8.0 ein und wählt das zuvor erstellte PHP Profil aus.

Als nächstes legt weitere Einstellungen wie folgt fest. Nehmt den Apache Webserver und setzt das Timeout auf 600 Sekunden. Das stellt sicher, das längerer Installationen später nicht abbrechen.

Nun müssen wir noch das Webportal festlegen.

  • Wählt den Dienst, den wir vorher als Webdienst konfiguriert haben, also wieder Nextcloud.
  • Tragt den Hostnamen ein, unter dem Ihr Eure Nextcloud erreichen wollt. (Der Hostname muss existieren und bei DynuDNS eingetragen sein und auf Eure Öffentliche IP verweisen. Die Portweiterleitung muss auf Eure Synology zeigen.
  • 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. Ein gültiges SSL Zertifikat erstellen wir nach der Installation von Nextcloud

Datenbank für Nextcloud erstellen

Verwendet aus Sicherheitsgründen einen eigenen Benutzer für die Nextcloud-Datenbank. Dieser sollte nur Zugriff auf die Nextcloud-Datenbank haben und nicht auf andere Datenbanken oder gar volle Admin-Rechte.

Öffnet phpMyAdmin auf Eurer Diskstationcund meldet Euch als root mit Eurem Synology Passwort an.

Anschliessend befinden wir uns im Datenbankmenü von phpmyadmin. Wir müssen nun einen Benutzer und eine Datenbank für unsere Nextcloud erstellen. Bitte beachtet dass alle Schritte korrekt ausgeführt werden, ansonsten bekommen wir später Probleme bei der Installation von Nextcloud.

Anschliessen legen wir einen Benutzernamen fest, z.B nextcloudadmin, wählt als nächstes beim Hostname Lokal aus und dahinter muss localhost stehen. Legt bitte ein sicheres Passwort fest, am besten mit einem Passwortgenerator. Weiter unten gebt Ihr dem Benutzer die Globalen Rechte. Es müssen alle Haken gesetzt werden. Anschliessen scrollt weiter unten und klickt auf OK. Ist auf dem Screenshot hier nicht zu sehen.

Geht als nächstes auf den Reiter Datenbank, hier erstellen wir nun eine Datenbank für unsere Nextcloud Installation. Wählt einen entsprechenden Namen, z.B nextclouddatenbank, wählt utf8_general_ci und bestätigt anschliessend mit Anlegen.

Als nächstes müssen wir die Datenbank anpassen. Geht auf Benutzerkonten, wählt Datenbank und danach unsere erstellen nextclouddatenbank. Drückt auf OK

Hier geben wir dem Benuter nextcloudadmin auf unserem localhost nun alle Berechtigungen für unsere nextclouddatenbank. Wählt hier einfach Alle auswählen, und bestätigt mit OK

Die Arbeiten in phpmyadmin sind nun abgeschlossen. Der Benutzer ist angelegt, und die Datenbank für Nextcloud entsprechen konfiguriert. Als nächstes können wir mit der Installation weiterfahren.

Installationsassistenten der Nextcloud 27 ausführen

Nun geht es darum die Nextcloud 27 auf Eurer Synology mit DSM 7.2 zu installieren. Öffnet Nextcloud im Browser. Verwendet dabei die Adresse, die ihr für den virtuellen Host angegeben habt (z.b. testcloud.yourdevice.ch), habt ihr keinen virtuellen Host konfiguriert, oder den DNS Server noch nicht entsprechend eingerichtet, verwendet die IP Adresse der Diskstation, gefolgt vom Nextcloud-Verzeichnis (z.b. 192.168.x.x/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üssen wir diese später in der config.php der Nextcloud Instanz 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.

Wir benutzten den Domain Namen den wir für unsere Synology erstellt haben. Dieser muss im DNS Server hinterlegt sein, ansonsten können wir die Nextcloud nur mit IP/nextcloud erreichen.

Nextclud Hub Installation im Browser

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 /volume1/web/nextcloud/data eingetragen, gebt den Pfad zum freigegebenen Ordner an, den ihr vorhin angelegt habt. Das wäre /volume1/nextclouddata

Im Abschnitt “Datenbank” tragt ihr den Datenbank-Benutzer sowie den Datenbank-Namen ein, die wir im vorherigen Abschnitt angelegt habt. Für die Datenbankdomain ist “localhost” voreingetragen. Falls Nextcloud beim bestätigen meckert dass die Datenbank nicht erreichbar ist, gebt localhost:3306 ein. Klickt danach auf Installieren.

Solltet Ihr plötzlich vor einem Bildschirm stehen der Euch sagt, Seite nicht auffindbar, dann schaut Euch oben den Browserlink an, es kann sein, dass Ihr falsch weiter geleitet werdet. In diesemfall setzt die IP Adresse der NAS oder Eure Domain vor den Link der Euch der Browser mit nicht erreichbar anzeigt. Danach sollte es weitergehen. Wählt im nächsten Schritt empfohlene Apps Installieren aus.

Danach sollte die Installation erfolgreich abgeschlossen sein. Fertig sind wir aber leider immer noch nicht 🙂

HTTPS Aktivieren / Cache Einstellen / Weitere Nextcloud Optimierungen

Nach Installation befindet Ihr Euch auf dem Dashboard Eurer Nextcloud. Rechts oben seht Ihr einen Buchstaben, Eures Namenskürzel, klickt darauf und geht anschliessend auf die Administratoreneinstellungen. Nextcloud wird Euch nun anzeigen was noch nicht funtkioniert. Darum kümmern wir uns jetzt. Die "/well-known Probleme verschwinden, sobald wir die Seite über https und dem korrekten Zertifikat anbrowsen.

HTTPS aktivieren / SSL Zertifikat abrufen

Damit wir die Nextcloud über eine gesicherte Verbindung über das Internet erreichen können müssen wir uns vorher uns noch ein SSL Zertifikat erstellen. Das können wir bequem über sie Diskstation erledigen. Die Vorraussetzung dafür ist, dass die Portweiterleitungen in Eurem Router korrekt eingerichtet worden sind.

Geht in die Einstellungen Euer Synology NAS, wählt das Menü Sicherheit und dann auf Zertifikat. Hier erstellen wir uns mit Hinzufügen ein neues SSL Zertifikat. Wählt den ersten Punkt und danach auf Weiter.

Wählt auf der nächsten Seite Zertifikat von LetsEncrypt abrufen aus und klickt auf weiter.

Danach wählt Ihr hier nun Euren Namen aus, den Ihr bei DynuDNS und im Webportal der Diskstation festgelegt haben. Klickt danach auf Fertig. Euer SSL Zertifikat wird nun erstellt. Solltet Ihr hier von der DS einen Fehler bekommen, habt Ihr entweder bei der Portweiterleitung einen Fehler gemacht, oder einem Tippfehler im Webportal beim Hostnamen. Überprüft Eure Einstellungen hier dann bitte nochmals genau.

Jetzt weisen wir dass Zertifikat noch unserem Webportal zu. Wählt das Zertifikat aus, und klickt auf Einstellungen. Weisst das Zertifikat Eurem WebPortal hinzu:

Bravo! Mit dem SSL Zertifikat sind wir nun auch bereits fertig! Ihr könnt nun die Seite über die Domain direkt anbrowsen und müsst nun nicht mehr die IP Adresse der Synology verwenden. Ausserdem ist die Verbindung nun direkt verschlüsselt.

Cache einstellen / Telefonregion und weitere Optimierungen

Nun kommt wieder etwas Kommandozeile zum Einsatz. Öffnet Eure Konsole und loggt Euch wieder auf der Syno via SSH ein. Erhaltet Rootrechte mit sudo -i

Wir bearbeiten nun die Konfigurationsdatei der Nextcloud. Das geht einfach mit diesem Befehl

vi /volume1/nextcloud/config/config.php

startet den Bearbeitungsmodus mit Alt+i

Wir fügen nun unsere Domain hinzu, konfigurieren einen einfachen Cache, fügen die Telefonregion hinzu. Mehr brauchen wir erstmal nicht. Tätigt die Einstellungen wie im Screenshot. Lasst alles andere wie es ist!
Testcloud Eintrag ist auf Eure Domain anzupassen

Hier die Einstellungen zum kopieren:

'memcache.local' => '\OC\Memcache\APCu',
'default_phone_region' => 'CH',
'default_locale' => 'de_CH',

Achtet auf die korrekten Einträge unter Array, wie beschrieben muss Eure Domain, und Eure IP Adresse der NAS eingetragen sein. Das unterscheidet sich, jenachdem wie Ihr die Installation von Nextcloud durchgeführt habt.

Beachtet das die Zeichenabstände und die Kommas alle da sind!

Beendet den Bearbeitungsmodus mit der ESC Taste, speichert ab indem Ihr :w eingebt und beendet anschliessend mit :q

Testet nun Eure Nextcloud, geht in die Admininstratoren-Einstellungen und ladet die Seite neu. Habt Ihr einen Serverfehler, habt Ihr was in der config.php falsch gemacht. Überprüft die Einstellungen!

Email Einstellungen

Ihr seht dass Eure Nextcloud noch meckert, dass keine Email Einstellungen hinterlegt sind. Darum kümmern wir uns jetzt. Geht in Euren Nextcloud Einstellungen auf die Grundeinstellungen, scrollt nach unten zum Email Server
Gebt hier nun einem Email-Server ein den Ihr verwendet. Das kann eine Hotmail, G-Mail (hoffentlich nicht) oder Eure bluewin/swisscom Adresse sein. Welche Server Einstellungen verwendet werden, hängt von Eurem Email-Provider ab. In der Regel findet Ihr die, wenn Ihr nach den Mail-Einstellungen Eures Providers sucht. Aktiviert SSL/TLS , gebt Eure Mail Adresse ein, danach Servername und Port und unten Haken bei Identifzierung erforderlich setzen und Zugangsdaten eingeben.

Sendet eine Testmail mit E-Mail senden. Sollte anschliessend erfolgreich dastehen, und Ihr die Email bekommen haben, funktioniert alles. Bei manchmen Providern muss SSL/TLS deaktiviert werden. Fall das auch nicht geht, versucht es mit 25 anstatt dem Port 587

Wenn das geklappt hat, sind wir nun auch endlich fertig! Ruft Eure Administratoreneinstellungen auf, und wenn Ihr alles richtig gemacht habt, dann werdet Ihr mit einem schönen grünen Haken belohnt!

Weitere Einstellungen

Damit Ihr aus dem LAN-Netzwerk via Domainname, und nicht der IP zugreifen könnt. Muss jedes Gerät, welches Nextcloud mit der Domain nutzen möchte, den DNS Server Eurer Synology verwenden. Habt Ihr den DNS Eintrag in den DHCP Einstellungen Eures Routers tätigen können, sind die manuellen Einstellungen jeder Geräte nicht notwendig. Lest dazu nochmals unseren Beitrag über die DNS Konfiguration auf einer Synology NAS.

Gebt dazu die IP Adresse der Synology auf dem jeweiligen Gerät ein, welches Nextcloud mit der Domain Nutzen soll.

Android --> WLAN Einstellungen

Linux --> WLAN Einstellungen --> IPv4 --> andere DNS-Server verwenden

Windows --> Adaptereinstellungen --> IPv4 --> Einstellungen --> DNS

Hier unten Use the Follwing DNS Server mit Eurem DNS Ersetzen, und als zweites zum Beispiel 1.1.1.1 verwenden. Bitte nehmt diese DNS Server nicht als Beispiel, ich hatte kein Windows zur Hand und hab ein Screenshot aus dem Internet geklaut. Mir würde es niemals einfallen 8.8.8.8 zu verwenden 🙂 Bitte tragt als erstes also schön die IP Adresse Eurer Synology ein.

Es gibt noch weitere Einstellungen und Optimierungen, z.B einen Redis Cache einzubauen, das wird aber in der Regel erst bei grösseren Instanzen benötigt, und verhindert das Datein überschrieben werden, wenn Änderungen daran geschehen. Somit wird verhindert dass 2 Personen, die an Freigegeben Dateien Arbeiten, irgendwas ausversehen überschreiben und die Änderungen verloren gehen, bzw die Datei unbrauchbar wird weil beim anderen Benutzer beim Speichern etwas abstürzt. Das sind aber Dinge, in denen wir uns mal in einem weiteren Beitrag kümmern können.

Mitlerweile seid Ihr bestimmt total am Ende, aber Ihr habt sicher einiges gelernt im Umgang mit Eurem Netzwerk, habt einige PHP Einstellungen kennen gelernt und habt nun stolz eine eigene Nextcloud 27 auf Eurer Synology NAS mit DSM 7.2 installieren können. Bitte beachtet, dass die Synology's nicht dafür gemacht worden sind, Nextcloud 100% fehlerfrei laufen zu lassen, deshalb kann es sein, das hin und wieder mal Fehler auftreten. Gröbere Probleme habe ich aber noch nicht entdeckt.

Ich hoffe der Beitrag hat Euch gefallen, habt Ihr fragen, stellt sie in die Kommentare!

Ähnliche Beiträge

Schreibe einen Kommentar

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