Die eigene Cloud: Nextcloud Installation auf einer Synology DiskStation mit DSM 6 (Update: Jänner 2020)

Synology bietet zwar eine eigene Cloudlösung, die CloudStation, 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 einer DiskStation installiert.

Das Tutorial ist veraltet, nutzt bitte die neue Version hier.

Update: Jänner 2020 – Nextcloud 18 ist da und bringt einige größere Änderungen mit sich. Dafür gibt es auch in kürze ein neues Installations-Tutorial.
– Der Installationsprozess hat sich irgendwann zwischen Nextcloud 15 und 18 geändert, es sind zusätzliche Schritte bei der Einrichtung der Datenbank notwendig. Für den aktuellen Installationsprozess benutzt bitte das neue Tutorial (folgt in kürze).
Update:
Jänner 2019 – Info zur Nextcloud 15 (imagick) hinzugefügt. PHP 7.2 wurde als Paket für DiskStations veröffentlicht. Verwendet am besten dieses, da PHP 7.0 demnächst eol ist.
Update: April 2018 – Die Anleitung wurde mit Nextcloud 13 auf den neuesten Stand gebracht.

Nextcloud 15, PHP >7.0 und imagick

Nextcloud 15 kann schon installiert werden und läuft auch, ihr Bekommt aber im Adminbereich die Meldung, dass das PHP-Modul imagick nicht aktiviert wurde.
Die Sache sieht folgendermaßen aus: imagick ist im PHP 7.0-Paket von Synology nicht enthalten.

Mittlwerweile wurde ein Update für die WebStation sowie ein Paket für PHP 7.2 veröffentlicht, imagick ist darin nicht enthalten, eine Installation bzw. ein aktivieren des Moduls ist bisher in der Community noch nicht gelungen.
ABER: Imagic wird für 2 Dinge genutzt, zum einen generiert es ein Favicon aus dem Logo im Themeing-Bereich, zum anderen verbessert es die Vorschauen in der Gallery-App und ermöglicht das Ansehen von RAW-Dateien.
Habt ihr imagick nicht, wird ganz einfach kein favicon generiert und im Themeing-Bereich wird eine entsprechende Meldung ausgegeben. Die Gallery-App verwende ich nicht, so weit ich gelesen habe, kann man sie auch ohne imagick verwenden, muss aber auf die erwähnten Features verzichten und erhält Fehlermeldungen im Log.
Der Einsatz von imagick ist in Nextcloud-Kreisen umstritten, da es nicht mehr weiterentwickelt wird, es Sicherheitsbedenken gibt und auch de Performance angezweifelt wird. Ich werde euch weiterhin auf dem Laufenden halten.

Vorbereitung

  1. Bevor wir anfangen können, kontrolliert ob die Web Station läuft.
  2. Installiert folgende Pakete im Paket Zentrum:
    • PHP (7.2)
    • phpMyAdmin
    • Apache (2.4)
    • MariaDB 10 (Die Installation von Nextcloud funktioniert mittlerweile bestens mit MariaDB 10, solltet ihr Probleme haben, könnt ihr für die Installation MariaDB 5 verwenden und dannach auf 10 umsteigen.)
  3. Erstellt einen neuen “shared folder” 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.
  4. Damit PHP auch auf den shared folder zugreifen kann, muss der Pfad in open_basedir eingetragen werden. Öffnet die WebStation und geht in die PHP Einstellungen. Fügt dort den Pfad am Ende des open_basedir Feldes ein. Der : trennt die einzelnen Pfade.
  5. Aktiviert den SSH Service unter Terminal & SNMP im Control Panel.

Installation

  1. Ladet die neueste Version von Nextcloud als .zip oder .tar hier herunter.
  2. Ladet das zip-File auf deine Diskstaion hoch und extrahiere es in den /web Ordner.
    Sicherheitshinweis: Ihr könnt den Nextcloud-Ordner umbenennen. Das Verhindert, dass er von Crawlern gefunden wird, die web roots nach Standardbezeichnungen durchsuchen.
  3. Ändert die Rechte des Nextcloud-Ordners und des shared folders für die Installation. Erstellt dazu am besten ein Script (Textdatei mit .sh Endung) mit folgendem Inhalt irgendwo auf der DiskStation:
    #!/bin/bash
    chown -R http:http /volume1/web/Nextcloud/
    chmod -R 777 /volume1/web/Nextcloud/
  4. Öffnet putty und verbindet euch auf die DS. Loggt euch als Administrator ein. Um das Script als root auszuführen gebt sudo –i ein und drückt Enter. Gebt erneut euer Administratorpasswort ein. Führt das Script nun mit sh /volume1/PfadZumScript/Installationsberechtigung.sh aus. Anstelle des Scripts könnt ihr auch Zeile für Zeile in die Shell eingeben, das ist aber mühsam, außerdem müsst ihr die Rechte für ein Update wieder ändern.
    Hinweis: Die Rechte sind nur für die Installation gedacht, für einen sicheren Betrieb sollten die Rechte so strikt wie möglich gehalten werden. Lest dazu hier nach wie ihr die Rechte nach der Installation anpasst.
  5. Öffnet Nextcloud im Browser (z.B. mydomain.com/mycloud oder myDS/myCloud). Die Adresse die Ihr hier benutzt wid wärend der Installation als erlaubte 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.
    Nextcloud installation
    Erster Aufruf von Nextcloud im Browser
  6. Den Fehler könnt ihr einfach ignorieren. Gebt einen Benutzernamen und ein Passwort für den Nextcloud-Admin ein (der NC-Admin hat nichts mit dem Admin der DiskStation zu tun). Erweitert die Storage & database Einstellungen und gebt den Pfad zu eurem “shared folder” an.
  7. Nextcloud benutzt standardmäßig SQLite als Datenbank, diese Option ist aber extrem langsam. MariaDB ist die von Nextcloud und der Community empfohlene Wahl. Gebt die Zugangsdaten für den root-User von phpMyAdmin ein (oder eines anderen Users der die Rechte zur Erstellung von Datenbanken hat). Nextcloud erstellt während der Installation einen eigenen User (dieser hat den selben Namen wie der oben angegebene Admin nur mit dem Prefix oc_). Dieser User hat alle notwendigen Rechte für den Betrieb von Nextcloud und nur dieser User wird auch benutzt. Der root-User wird nirgends abgespeichert und wird nur für das Setup verwendet.
  8. Vergebt einen Datenbanknamen, diese Datenbank wird vom Installationsscript angelegt, ihr müsst sie nicht selbst vorher im phpMyAdmin anlegen.
  9. ACHTUNG: Als Datenbank-Server ist localhost vorgegeben. Das funktioniert nur für MariaDB 5, für MariaDB 10 müsst ihr localhost durch “127.0.0.1:3307″ ersetzen.
    Nextcloud Datenbankverbindung
    Nextcloud Datenbankverbindung
  10. Klickt den Button um das Setup abzuschließen.
  11. Nach wenigen Augenblicken ist die Installation abgeschlossen und ihr solltet das Webinterface sehen.
    Nextcloud Webinterface
    Das Webinterface nach der Installation

Nächste Schritte

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.

Im Webinterface werden mit ziemlicher Wahrscheinlichkeit einige Fehler angezeigt werden. Wie ihr diese beseitigen könnt und wie man Nextcloud optimiert, könnt ihr im nächsten Artikel der Serie nachlesen. Ihr könnt hier auch noch weitere nützliche Artikel rum um das Thema Nextcloud und Synology finden.

Ähnliche Beiträge

126 thoughts on “Die eigene Cloud: Nextcloud Installation auf einer Synology DiskStation mit DSM 6 (Update: Jänner 2020)

  1. Hallo Andreas,
    als erste vielen Dank für diese tolle Anleitung! fast Idiotensicher 🙂

    Ich habe nach dieser Anleitung auf meine Diskstation DS918+ Nextcloud in der Version 14 installiert und konnte immer auf die nächste Version mit mehr oder weniger kleineren Anpassungen aktualisieren. Meist waren es Indizies, die erweitert werden mussten.
    Das Ganze habe ich mit 4 Installationen Anwendungsbezogen etwas erweitert, damit meine “Hauptcloud” immer am Leben bleibt. Die anderen sind zum “Spielen” da.

    Nun, bei der v21 kam es erstmals zu größeren Problemen. Beim Update auf v21.0.0 kam das Problem mit der Fehlermeldung:
    PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

    Hier habe ich lange recherchiert und versucht. Die Löung für mich lag dann bei der Installation von Redis aus Synology Community und beim Ergänzung der config.php mit den Zeilen:
    ‘memcache.local’ => ‘\\OC\\Memcache\\APCu’,
    ‘memcache.locking’ => ‘\\OC\\Memcache\\Redis’,
    ‘redis’ =>
    array (
    ‘host’ => ‘192.168.178.22’,
    ‘port’ => ‘6379’,
    ‘timeout’ => ‘0’,
    ‘dbindex’ => ‘0’,
    ),

    Mit dieser Ergänzung gelang mir in allen Installationen das Update auf die v21.

    Vor ein paar Tagen, es erschien v21.0.1.
    Bei der ersten Installation lief alles problemlos über die Weboberfläche.
    Die zweite hing in der Weboberfläche und damit sozusagen im Wartungsmodus. Also habe ich manuell via Putty aktualisiert.
    Diese beiden Installationen laufen einwandfrei, auch Cron funktioniert.
    Also habe ich noch die beiden weiteren, also auch die Hauptcloud aktualisiert.
    Bei beiden lief die Installation via Weboberfläche einwandfrei.
    Das böse erwachen fand sich dann in meinem Email-Eingang, in der ich feststellen musste, dass die cron.php-Aufgabe fehlerhaft war.

    Sehr geehrter Benutzer,

    Aufgabenplaner hat eine geplante Aufgabe abgeschlossen.

    Aufgabe: cloud1 cron
    Startzeit: Fri, 09 Apr 2021 21:55:03 GMT
    Stoppzeit: Fri, 09 Apr 2021 21:55:04 GMT
    Aktueller Status: 255 (Unterbrochen)
    Standardausgabe/Fehler:
    PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud1/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud1/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

    Von DS918

    Heute habe ich gesehen, dass Du in der neusten Installationsanleitung empfiehlst, die v21 auszusitzen, wegen dem Cron Fehler.
    Mein Problem ist jetzt, dass ich ja nicht mehr zurück komme…!
    Daher meine Frage, ob es noch einen weiteren Lösungansatz gibt?

    Besten Dank
    Marcus

    1. Hallo Marcus,

      Interessant, dass bei dir das Update zu 21.0.1 nichts geholfen hat.
      Im aktuellen Artikel zur Installation haben bereits 2 Leute berichtet, dass bei Ihnen 21.0.1 das Problem behoben hat.
      Was du versuchen kannst, den Cron aufruf mit -d memory_limit=512M zu ergänzen. (“sudo -u http php73 -d memory_limit=512M …”)
      Er versucht 134217728 byte, also ca. 135MB anzufordern, das sollte sich also mit 512MB dann ausgehen.

      Grüße
      Andreas

      1. Hi Andreas,
        danke für die Rückmeldung. Ich habe jetzt folgendes probiert:
        Einloggen via SSH und in das NC Verzeichnis gewechselt.
        Dort dann:
        1) sudo -u http php74 -d memory_limit=512M cron.php
        Meldung: PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

        Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

        2) sudo -u http php74 -d memory_limit=1G cron.php
        Meldung: PHP Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

        Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

        3) sudo -u http php74 -d memory_limit=2G cron.php
        PHP Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

        Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

        4) sudo -u http php74 -d memory_limit=4G cron.php
        PHP Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

        Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

        5) sudo -u http php74 -d memory_limit=8G cron.php
        PHP Fatal error: Allowed memory size of 8589934592 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

        Fatal error: Allowed memory size of 8589934592 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

        6) sudo -u http php74 -d memory_limit=16G cron.php
        PHP Fatal error: Allowed memory size of 17179869184 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

        Fatal error: Allowed memory size of 17179869184 bytes exhausted (tried to allocate 20480 bytes) in /volume1/web/cloud4/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

        Es fällt also auf, je mehr Speicher ich angebe, desto höher wird der bytes-Wert.

        Auch ein Umstellen auf PHP7.3 hilft hier nicht. Die Fehlermeldung bleibt identisch.
        Mir leuchtet einfach nicht ein, warum in der einen Installation funktioniert, in der anderen nicht.

        Viele Grüße
        Marcus

        1. Hallo Marcus,

          Sehr seltsam, du könntest mal versuchen ein Datenbank-Backup zu machen und die fehlerhafte NC-Instanz neu aufzusetzen. Das ist halt genau der Bug der mit NC 21.0.0 gekommen ist aber seit dem Update auf NC 21.0.1 habe ich bisher nur Rückmeldungen bekommen, dass der Fehler nicht mehr auftritt.
          Ansonsten bleibt halt noch die neue 20.0.9er und ein abwarten auf weitere Bugfixes.

          Ich hab auch was gelesen vom memory_limit=-1 also unbegrenzt aber das hat nur einigen geholfen.

          Grüße
          Andreas

        2. @ tuxnet: Nein habe leider noch keine Antwort gefunden.
          @ Andreas: Die Neue Instanz kann ich in die gleichen Ordner ablegen? Würde den Inhalt aus dem /web Verzeichnis löschen, aber das Datenverzeichnis behalten? Oder ist es sinnvoller die Datein etc. nachträglich wieder rein zu kopieren und per Filescan in die Datenbank zu übernehmen?
          Läuft Cron denn jetzt mit der 21.0.1 und deiner zweiten Änderung im April im Tutorial?

        3. Die alte Installation in /web musst du entfernen, es sei denn du verwendest einen andern Unterordner. Datenbank würde ich in dem fall neu erstellen, wenn dir die Datenbank wichtig ist, kannst du auch ein Backup erstellen und es nach der Neuinstallation einspielen.
          Daten kannst du im Verzeichnis lassen und gleich übernehmen.

          Cron läuft bei mir mit 21.0.1 sowohl nach einer Neuinstallation als auch nach einem Update. Auch andere haben mit 21.0.1 den Cron wieder zum laufen gebracht.

        4. Hallo Andreas,

          ich habe jetzt eine neue Instanz in ein neues /web-Verzeichnis installiert. Habe aber das alte data-Verzeichnis gewählt.
          Jetzt möchte ich natürlich die alten User wieder anlegen und die Dateien, Kontakt, Kalendereinträge, etc übernehmen.
          Ich scheitere schon daran, die alten User anzulegen. Im Logbuch heißt es:
          InvalidArgumentException: Der Benutzer ist ungültig, da bereits Dateien von diesem Benutzer existieren

          Ich könnte jetzt kurzfristig im Data-Verzeichnis die jeweiligen Benutzer-Verzeichnisse umbenennen, dann den User anlegen und die Umbenennung wieder rückgängig machen. Weiß aber nicht, welchen Einfluss das auf beinhalteten Daten hat.

          Hast Du einen Vorschlag, wie ich es am effektivsten umsetze?

          Danke & Gruß
          Marcus

        5. Dafür müsstest du eine Sicherung der alten Datenbank machen und in die neue Datenbank einspielen. User und deren Kalender sind dort gespeichert.
          Alternativ kannst du, wie du schon gesagt hast, die alten Userordner umbenennen, die User neu anlegen und die Daten dann von den alten in die neuen Ordner kopieren. Kalender, Dateiversionen etc. von früher fehlen dann natürlich.

  2. Vielen Dank für deine Anleitung hier und auf den anderen Seiten!
    Habe auf meine DS218+ Nextcloud endlich laufen. Hatte es erst mit Version 17 probiert, aber immer wenn ich den Memcache Fehler beheben wollte und ‚memcache.local‘ => ‚\\OC\\Memcache\\APCu‘, eingefügt habe, war Nextcloud nicht mehr erreichbar und hat einen “Internal Server Error” angezeigt. Habe viel im Internet geforscht, aber keine Lösung gefunden. Ich bin aber wohl nicht der einzige.
    Erschwerdend kommt hinzu, daß ich bislang keine Linux Erfahrung habe.
    Mit Nextcloud 16 hat es dann funktioniert. Dort kann ich auch ‚memcache.local‘ => ‚\\OC\\Memcache\\APCu‘, anwenden.

    Habe aber immer noch die caldav und carddav Fehlermeldung. Die Umsetzung deiner Tips und der Nextcloud Hilfe hat nichts gebracht
    Und dein Tip “/etc/apache2/sites-available/nextcloud.conf” zu ergänzen kann ich nicht umsetzen, da ich den Pfad nichtmal finde.

    Ausserdem habe ich im Nextcloud Protokoll noch folgenden Fehler:
    PHP Startup: Unable to load dynamic library ‘apc.so’ (tried: /usr/local/lib/php73/modules/apc.so (/usr/local/lib/php73/modules/apc.so: cannot open shared object file: No such file or directory), /usr/local/lib/php73/modules/apc.so.so (/usr/local/lib/php73/modules/apc.so.so: cannot open shared object file: No such file or directory)) at Unknown#0

    Hast du eine Idee, die mir vielleicht noch helfen kann? Hast du die Installation schon mit NC17 probiert?
    Habe php 7.3 und Apache 2.4 installiert.
    Vielen Dank!

    1. Hallo Nils,

      Ich habe von Version 16 auf 17 ohne Probleme updaten können. Das sollte also gehen.

      Das mit dem Pfad war ein Tippfehler meinerseits. Da du Apache 2.4 installiert hast muss der Pfad ‘/etc/apache24/sites-available/’ heißen. Die Datei nextcloud.conf musst du selber anlegen.

      PHP Startup: Unable to load dynamic library ‚apc.so‘ –> Der Fehler deuted darauf hin, dass du das Caching in PHP nicht aktiviert hast. Das würde erklären warum Nextcloud 17 nicht mehr geht wenn du ‚memcache.local‘ => ‚\\OC\\Memcache\\APCu‘ in die config schreibst. Überprüfe mal ob in der WebStation –> PHP-Einstellungen im PHP-Profil der Haken bei “PHP-Cache aktivieren” gesetzt ist.

      Grüße
      Andreas

  3. Moin,
    ich sitze hier gerade über deiner Anleitung und meiner (alten) 15er Nextlcoud auf meiner NAS. Ich frage mich, wie ich wohl an besten meine Installation auf 17 update. Hast Du da einen Tipp für mich?
    Sollte ich hier wie bei einer Neuinstallation vorgehen? Möchte ja die Dateien, Datenbank usw. behalten.

    Gruß, Marcel

    1. Hallo,

      Im Prinzip kannst du wie in meiner Update-Anleitung vorgehen.
      Zuerst solltest du aber folgendes Überprüfen:
      Benutzt du schon Apache 2.4? Wenn nicht Stelle deine Nextcloud auf den neuesten Apache um.
      Benutzt du schon PHP7.3? Wenn nicht, installiere das PHP 7.3 Paket aus dem Paketzentrum und passe in der WebStation im PHP-Profil die PHP-Version an.
      Erstelle ein Backup deiner Nextcloud-Installation und der Datenbank.

      Ich bin mir nicht sicher ob du 16 überspringen kannst und direkt auf 17 updaten kannst.
      Sieh dir einfach an was dir den Updater vorschlägt.

      Danach bekommst du im Admin-Bereich sicher einige neue Meldungen, in meinen Artikeln solltest du baer die Lösungen dafür finden:
      https://blog.viking-studios.net/synology-nextcloud-15-0-6-4byte-unterstuetzung-in-mysql-mariadb-aktivieren/
      https://blog.viking-studios.net/die-eigene-cloud-nextcloud-optimierung-auf-einer-synology-diskstation-mit-dsm-6/

      Grüße
      Andreas

  4. Wenn ich nextcloud installiert habe, kann ich dann meine Dateien wie bei opmv nach wie vor direkt über das eigene Netzwerk intern abrufen ohne über nextcloud zu gehen?

    1. Das kommt darauf an, was du vor hast.
      Prinzipiell kannst du sowohl über die FileStation vom DSM als auch alle anderen Möglichkeiten auf Daten zuzugreifen, die du konfiguriert hast, auch auf deine Nextcloud-Daten zugreifen.
      Allerdings mag Nextcloud das nicht so, wenn du Daten im data-Verzeichnis direkt auf File-System-Ebene änderst.

      Wenn du also regelmäßig auf andere Wege deine Daten bearbeiten willst, empfiehlt es sich diese in einem Ordner abzulegen, den du als externen Speicher in deine Nextcloud einbindest.
      Der Ordner wird automatisch auf Änderungen von außerhalb überprüft.
      Wenn der Ordner ebenfalls auf der DiskStation liegt macht es eigentlich keinen Unterschied. Wie das geht, kannst du hier nachlesen.

  5. Hallo,
    sehr schöne Anleitung, hat mir immer wieder mal geholfen Probleme zu beheben. -DANKE-
    Seit geraumer Zeit gibt es auch PHP7.3.7 für Syology hat das schon jemand getestet bzw. eine Anleitung wie ich von PHP7.2 auf PHP7.3.7 umstelle, zudem ob es mittlerweile in PHP7.3.7 möglich ist imagick zu aktivieren?
    Gruß Alex

    1. Hallo,

      Das Umstellen geht ganz einfach. Du gehst auf die WebStation (im DSM) und auf PHP-Einstellungen, dort bearbeitest du das PHP-Profil das du nutzt und wählst dort einfach unter PHP-Version PHP 7.3, vorausgesetzt du hast PHP 7.3 bereits installiert.

      imagick finde ich aber unter den Erweiterungen immer noch nicht.

      LG

  6. Erstmal vielen Dank für die super Anleitung.

    Für den externen Speicher habe ich ein Frage, das hinzufügen einer “SMB /
    CIFS” Verbindung ist nicht möglich.

    Ganz oben erscheinen folgende Meldungen:
    Die FTP-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das
    Hinzufügen von “FTP” ist nicht möglich. Bitte wende Dich zur Installation an
    den Systemadministrator.

    “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.

    Wie kann ich den “smbclient” installieren/aktivieren?

    Vielen Dank und Grüsse

  7. Hallo
    Erstmal vielen Dank für die super Anleitung.

    Für den externen Speicher habe ich ein Frage, das hinzufügen einer “SMB / CIFS” Verbindung ist nicht möglich.
    Ganz oben erscheinen folgende Meldungen:

    Die FTP-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von “FTP” ist nicht möglich. Bitte wende Dich zur Installation an den Systemadministrator.

    “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.

    Wie kann ich den “smbclient” installieren/aktivieren?

    Vielen dank und Grüsse

    1. In der WebStation findest du die PHP-Profile. Sieh mal nach, ob in dem Profil, dass du für Nextcloud nutzt auch die entsprechende Erweiterung aktiviert ist.

        1. Interessant, ich seh grad, ich hab die selbe Meldung. Die muss neu sein, als ich meinen externen Speicher eingerichtet habe, gabs die noch nicht.
          Allerdings nutze ich WebDAV, da SMB bei mir nie funktioniert hat und laut Nextcloud-Doku für Linux nicht unterstützt wird. Da ich einen Ordner der Diskstation eingebunden habe und die ja auf Linux basiert, habe ich mir da keine weiteren Gedanken gemacht.

          Zu FTP: Hier musst die in der WebStation –> PHP-Einstellungen und dort das PHP-Profil auswählen. Dort scrollst du bei PHP-Module runter bis du ftp siehst und aktivierst es und speicherst das Profil. Nach dem Neustart der WebStation ist die Fehlermeldung bezüglich FTP weg. Allerdings empfiehlt sich FTP nicht, da es unsicher ist.

          Zu smbclient hab ich leider nicht viel finden können. So wie’s aussieht unterstützt Synology nur das veraltete SMB1. Man kann auf der DiskStation ipkg installieren, und darüber dann Samba installieren, dort sollte smbclient dabei sein. Ob dass dann aber schon reicht oder ob man da noch was konfigurieren muss, kann ich dir leider nicht sagen.

          Welchen externen Speicher möchtest du denn einbinden?

        2. Vielen Dank für die Antwort und beruhigend das es nicht nur bei mir so ist :-). Ich habe eine zweite Sysnology auf der meine Daten liegen, die Erste ist nur fürs WEB (Webseite, Nextcloud, Webcam…). Von der Zweiten Synology möchte ich gerne eine Freigabe (oder was dann auch immer) in die Nextcloud als externen Speicher einrichten. Mit FTP habe ich die Erfahrung das es nicht sehr stabil ist und immer wieder Unterbrüche hat.

          Viele Grüsse

        3. Also wenn du eine 2. DS hast, dann würd ich auf dieser wirklich den WebDAV-Server installieren und dann den externen Storage über WebDAV einbinden, das läuft bei mir hervorragend. Und nachdem die DS auf Linux basiert ist SMB sowieso nicht so optimal.

        4. Perfekt, mit WebDAV funktioniert es.
          Vielen herzlichen Dank.
          Da ich aus der Windows Welt komme war SMB naheliegend :-).

          Darf ich noch eine Frage stellen?
          Unter “Sicherheits- & Einrichtungswarnungen -> Protokoll” erscheinen folgende zwei Meldungen im Sekundentakt:
          —–
          [no app in context] Warning: Temporary directory /var/services/tmp is not present or writable
          GET /index.php/apps/logreader/get?offset=0&count=50&levels=11111
          from 85.2.169.221 by Administrator at 2019-09-29T06:24:22+00:00
          —–
          [PHP] Error: You are using a fallback implementation of the intl extension. Installing the native one is highly recommended instead. at /volume1/www/nextcloud/3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/intl.php#18
          GET /ocs/v2.php/apps/notifications/api/v2/notifications
          from 85.2.169.221 by Administrator at 2019-09-29T06:24:22+00:00
          —–

          Wie bekomme ich das gelöst?
          Ach ja ich verwende Version 16.0.4

        5. Hi,

          Der Fehler ist bereits bekannt. Du kannst ihn angeblich fixen indem du in der config.php deiner Nextcloud diese Zeile einfügst:
          ‘tempdirectory’ => ‘/tmp’,

        6. Da fällt mir noch was ein.
          Hast du in den PHP settings (DSM -> WebStation -> PHP Einstellungen) im Profil das du nutzt etwas in open_basedir eingetragen? Wenn ja dann schau ob /var/services/tmp dort auch eingetragen ist.

  8. Hallo,

    ich habe auf meinem Synology NAS jetzt Docker installiert und im Docker Container Nextcloud 16.0.3 (latest) eingerichtet.
    Es werden jedoch nicht alle Apps von Nextcloud aufgelistet und diese sind auch nicht zu finden.
    Ich möchte die Calendar und die Contacts Apps betreiben.

    Geht das, und wenn ja wie?

    Viele Grüße, Frank

  9. Zur Ergänzung: (Korrigiert mich, falls ich falsch liege)

    In Schritt 3 schreibst du, Andreas, dass die Rechte angepasst werden müssten:

    chown -R http:http /volume1/web/Nextcloud/
    chmod -R 777 /volume1/web/Nextcloud/

    Wenn man einen anderen Datenordner außerhalb dieses defaults benutzt (vgl. openbase_dir), dann muss auch dieser Ordner dieselben Rechte erhalten wie oben, also:

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

    1. Hallo,

      Hast du’s auch einmal probiert ohne die Rechte für den Data-Ordner zu setzen?
      Die Rechte sind nur für die Installation notwendig und brauchen daher auch nur für den Installationsordner in /web gesetzt werden.
      Die Rechte die für den Betrieb (inklusive Data-Ordner) sind hier beschrieben.

      Normalerweise sind für die Installation selbst, keine besonderen Rechte notwendig, ich weiß aber, dass User hin und wieder doch Rechte setzen müussten, damit der Ordner erkannt wurde.

  10. Hallo,

    ich habe immer noch die folgenden Fehlermeldungen:
    Es gibt einige Warnungen bei Ihrer Systemkonfiguration.
    MySQL wird als Datenbank verwendet, unterstützt jedoch keine 4-Byte-Zeichen. Um beispielsweise 4-Byte-Zeichen (wie Emojis) ohne Probleme mit Dateinamen oder Kommentaren verarbeiten zu können, wird empfohlen, die 4-Byte-Unterstützung in MySQL zu aktivieren. Für weitere Details lesen Sie bitte die Dokumentationsseite hierzu.
    Ihr Webserver ist nicht richtig konfiguriert um “/.well-known/caldav” aufzulösen. Weitere Informationen hierzu finden Sie in der Dokumentation.
    Ihr Webserver ist nicht richtig konfiguriert um “/.well-known/carddav” aufzulösen. Weitere Informationen hierzu finden Sie in der Dokumentation.
    In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das Hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen kann, wurden diese nicht automatisch erzeugt. Durch das Ausführen von “occ db:add-missing-indices” können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.
    Fehlender Index “parent_index” in der Tabelle “oc_share”.
    Fehlender Index “owner_index” in der Tabelle “oc_share”.
    Fehlender Index “initiator_index” in der Tabelle “oc_share”.
    Fehlender Index “fs_mtime” in der Tabelle “oc_filecache”.
    Dieser Installation fehlen einige empfholene PHP-Module. Für bessere Leistung und bessere Kompatibilität wird dringend empfohlen, diese zu installieren.
    imagick
    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 Einzelheiten finden Sie auf der zugehörigen Dokumentationsseite.
    filecache.mtime
    filecache.storage_mtime

    Es läuft ein Apache 2.4 und PHP 7.2

    Kannst du mir weiter helfen?

    1. Hallo,

      Der MySQL-Error ist neu in 15.0.6, dazu werde ich in den nächsten Tagen einen Artikel schreiben, schau also wieder vorbei.

      Zu der Sache mit den caldav/carddav Einträgen. Ich habe die beiden Zeilen
      RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
      RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
      In die .htaccess im Nextcloud-Installationsordner hinzugefügt und zwar im Rewrite-Block in dem schon andere Rewrite-Regeln vorhanden waren.

      Zu den Index und Big Int Fehlern, du musst über die Kommandozeile/putty die beiden angegebenen Commands ausführen. Mit PHP 7 kanns da Schwierigkeiten geben. WIe du die Lösen kannst steht hier.

      Zu imagick, leider hat bisher noch niemand das Problem auf einer DIskStation lösen können, den Fehler kannst du aber ignorieren. Imagick wird im Theming verwendet um ein Favicon zu generieren. Außerdem wirds in der Gallery-App verwendet. Solltest du die in Verwendung haben, kanns zu Fehlern kommen, im Internet gibts aber glaub ich Anleitungen die zu umgehen. Da ich die Gallery-App nicht nutze, hab ich leider keine Details dazu.

      Ich hoffe, ich hab jetzt keinen Fehler übersehen, solltest du weiter Probleme haben, hinterlass mir einfach einen Kommentar oder schreib mit eine Mail an blogviking-studios.net

      Grüße

      1. Hallo,

        ich habe immer noch die folgenden Fehlermeldungen:
        Es gibt einige Warnungen bei Ihrer Systemkonfiguration.
        MySQL wird als Datenbank verwendet, unterstützt jedoch keine 4-Byte-Zeichen. Um beispielsweise 4-Byte-Zeichen (wie Emojis) ohne Probleme mit Dateinamen oder Kommentaren verarbeiten zu können, wird empfohlen, die 4-Byte-Unterstützung in MySQL zu aktivieren. Für weitere Details lesen Sie bitte die Dokumentationsseite hierzu.
        Ihr Webserver ist nicht richtig konfiguriert um “/.well-known/caldav” aufzulösen. Weitere Informationen hierzu finden Sie in der Dokumentation.
        Ihr Webserver ist nicht richtig konfiguriert um “/.well-known/carddav” aufzulösen. Weitere Informationen hierzu finden Sie in der Dokumentation.
        In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das Hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen kann, wurden diese nicht automatisch erzeugt. Durch das Ausführen von “occ db:add-missing-indices” können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.
        Fehlender Index “parent_index” in der Tabelle “oc_share”.
        Fehlender Index “owner_index” in der Tabelle “oc_share”.
        Fehlender Index “initiator_index” in der Tabelle “oc_share”.
        Fehlender Index “fs_mtime” in der Tabelle “oc_filecache”.
        Dieser Installation fehlen einige empfholene PHP-Module. Für bessere Leistung und bessere Kompatibilität wird dringend empfohlen, diese zu installieren.
        imagick
        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 Einzelheiten finden Sie auf der zugehörigen Dokumentationsseite.
        filecache.mtime
        filecache.storage_mtime

        Es läuft ein Apache 2.4 und PHP 7.2

        Kannst du mir weiter helfen?

        Hi Andreas,

        danke für Deine Hinweise. Aber die beiden Einträge stehen schon in der .HTACCESS schon drin.

        VG Steffen

        1. Ich hab von einigen Leuten gehört, dass sie die Zeilen an verschiedenen Orten eintragen mussten, damit der Fehler bei ihnen gelöst wurde.
          Du kannst noch folgende Datei versuchen:
          /etc/apache2/sites-available/nextcloud.conf

          Und dort folgendes eintragen (URL natürlich anpassen und bitte in eine Zeile, der Kommentar bricht hier um):
          Redirect 301 /.well-known/carddav https://MyServer/nextcloud/remote.php/dav
          Redirect 301 /.well-known/caldav https://MyServer/nextcloud/remote.php/dav

    1. Hi,

      Also bis auf imagick läuft alles fehlerfrei. Zuerst hab ich die WebStation aktualisiert, PHP 7.2 installiert, das PHP Profil aktualisiert und dann Nextcloud von 14.0.x auf 15.0.2 aktualisiert.
      Dannach musste ich 2 occ-Befehle ausführen, die mir Nextcloud im Adminbereich angezeigt hat. Jetzt ist nur noch imagick offen, das schau ich mir noch an.

      LG

      1. Prima!

        Vielen Dank für die Mühe an dieser Stelle, Andreas. Das kann gar nicht oft genug gesagt werden.

        Grüße,
        Holger

  11. Ich musste bei den PHP-Einstellungen den HTTP-Backend-Server auf Apache 2.4 anstatt nginx stellen, dann konnte ich auf den Installations-Ordner zugreifen. Allerdings war die Installation mit dem “shared folder” der nicht unter /web liegt nur möglich, nachdem ich die script-Befehle aus der Anleitung auch für den “shared folder” ausgeführt habe. Ist das ein Sicherheitsrisiko?

    Bei PHP 7 habe ich unter open_base “:/volume1/” eingetragen.

    1. Hallo,

      Nein das ist an sich kein Sicherheitsrisiko, oder zumindest eines das man eingehen muss wenn man die Nextcloud betreiben möchte. Allerdings sind die Rechte die hier beschrieben sind nur für die Installation gedacht. Für den Betrieb sollten die Rechte so gesetzt werden wie ich es hier: https://blog.viking-studios.net/die-eigene-cloud-nextcloud-optimierung-auf-einer-synology-diskstation-mit-dsm-6/ beschrieben habe.

      Ich würde in open_basedir aber nicht den das ganze volume eintragen sondern den Pfad zum shared_folder.

      LG

  12. Hallo und danke für die Anleitung.
    Ich bin allerdings nur bis zu dem Versuch gekommen, Nextcloud über den Browser zu installieren.
    Ich kommen nicht auf den Nextcloud-Ordner, der hier Xyz heißt. Bekomme die Fehlermeldung “500 Bei der Verarbeitung dieser Anforderung ist ein Fehler aufgetreten.”.
    Ich habe die Berechtigungen geprüft, weiß aber nicht ob das so passt. Das “+” fehlt bei manchen Ordnern. Der Webserver an sich ist erreichbar.
    Hättest du eine Idee, was ich falsch gemacht habe?

    root@NAS:~# ls -l /volume1/web
    total 24
    drwxrwxrwx+ 3 root root 4096 Jan 5 13:47 @eaDir
    -r-xr-x—+ 1 http http 1474 Jan 2 16:59 index.html
    drwxr-xr-x 11 root root 4096 Jan 2 17:00 phpMyAdmin
    -rwx——+ 1 gndorf users 151 Jan 4 22:34 script.sh
    drwx–x–x 2 http http 4096 Jan 2 16:59 web_images
    drwxrwxrwx 14 http http 4096 Jan 5 14:13 Xyz
    root@NAS:~# ls -l /volume1/web/Xyz
    total 144
    drwxrwxrwx 32 http http 4096 Jan 5 14:13 3rdparty
    drwxrwxrwx 39 http http 4096 Jan 5 14:13 apps
    -rwxrwxrwx 1 http http 12063 Dec 10 11:21 AUTHORS
    drwxrwxrwx 2 http http 4096 Jan 5 14:13 config
    -rwxrwxrwx 1 http http 3650 Dec 10 11:21 console.php
    -rwxrwxrwx 1 http http 34520 Dec 10 11:21 COPYING
    drwxrwxrwx 18 http http 4096 Jan 5 14:13 core
    -rwxrwxrwx 1 http http 4979 Dec 10 11:21 cron.php
    -rwxrwxrwx 1 http http 156 Dec 10 11:21 index.html
    -rwxrwxrwx 1 http http 3172 Dec 10 11:21 index.php
    drwxrwxrwx 6 http http 4096 Jan 5 14:13 lib
    -rwxrwxrwx 1 http http 283 Dec 10 11:21 occ
    drwxrwxrwx 2 http http 4096 Jan 5 14:13 ocm-provider
    drwxrwxrwx 2 http http 4096 Jan 5 14:12 ocs
    drwxrwxrwx 2 http http 4096 Jan 5 14:12 ocs-provider
    -rwxrwxrwx 1 http http 2969 Dec 10 11:21 public.php
    -rwxrwxrwx 1 http http 5139 Dec 10 11:21 remote.php
    drwxrwxrwx 4 http http 4096 Jan 5 14:13 resources
    -rwxrwxrwx 1 http http 26 Dec 10 11:21 robots.txt
    drwxrwxrwx 12 http http 4096 Jan 5 14:13 settings
    -rwxrwxrwx 1 http http 2232 Dec 10 11:21 status.php
    drwxrwxrwx 3 http http 4096 Jan 5 14:13 themes
    drwxrwxrwx 2 http http 4096 Jan 5 14:13 updater
    -rwxrwxrwx 1 http http 363 Dec 10 11:25 version.php

  13. Hi, ich bekomme folgende Fehlermeldung:

    Error while trying to create admin user: Failed to connect to the database: An exception occured in driver: SQLSTATE[08006] [7] expected authentication request from server, but received Y

    Nutze Apache 2.4 mit PHP7.0 auf meiner Synology. Hostadresse wurde mit 127.0.0.1:3307 (MariaDB 10) angegeben.

    Mir sagt die Meldung leider nichts.

    1. Hallo,

      Welchen User hast du verwendet? Normalerweise sollte es mit dem root User funktionieren. Kannst du dich als root im phpMyAdmin anmelden?

  14. Hallo,

    ich komme nur bis Schritt 5, zum ersten Öffnen von Nextcloud.
    Allerdings bekomme ich kein login, sondern die Fehlermeldungen

    Fehler

    Keine Datenbanktreiber (SQLite, MySQL oder PostgreSQL) installiert.
    PHP-Modul zip nicht installiert.
    Bitte für die Installation des Moduls Deinen Server-Administrator kontaktieren.
    PHP-Modul GD nicht installiert.
    Bitte für die Installation des Moduls Deinen Server-Administrator kontaktieren.
    PHP-Modul cURL nicht installiert.
    Bitte für die Installation des Moduls Deinen Server-Administrator kontaktieren.
    PHP-Modul OpenSSL nicht installiert.
    Bitte für die Installation des Moduls Deinen Server-Administrator kontaktieren.
    PHP-Module wurden installiert, werden aber als noch fehlend gelistet?
    Bitte kontaktiere Deinen Server-Administrator und bitte um den Neustart des Webservers.

    Mein Server-Administrator bin leider ich 🙂

    Ich benutze Maria 10, in der gibt es keine Next-Cloud-DB.
    Was mach ich denn jetzt?

    1. Hallo,

      Also rein von der Fehlermeldung würde ich sagen das PHP-Profil ist nicht richtig eingestellt. Kontrolliere in der WebStation welche PHP-Version dein Webserver nutzt und geh dann in die PHP-Einstellungen und kontrollier ob die PHP-Version ein Profil zugewiesen hat und ob in dem Profil alle erforderlichen Erweiterungen aktiviert sind.
      Hier eine liste der notwendigen Erweiterungen: https://docs.nextcloud.com/server/12/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
      Wenn das Problem weiterhin besteht, versuch auch mal die PHP-Version zu wechseln, von 7.0 auf 5.6 oder umgekehrt. Ich hab erst vor kurzem eine Installation mit PHP 7.0 versucht, das sollte eigentlich klappen (richtiges Profil vorausgesetzt).

      Grüße,
      Andreas

      1. Danke,

        da waren tatsächlich kein DB-connector aktiviert.
        Andere Module, die in deinem Link aufgeführt sind, sind gar nicht in der Profilliste (auch required wie ctype, JSOn ua). Wo bekäme ich die? Oder eght’s auch so…
        Nach dem aktivieren der aufgeführten Modulebekam ich dann auch einen Login und kann weiter machen.

        Da ist nur diese Meldung: “Es scheint, dass diese Nextcloud-Instanz unter einer 32-Bit-PHP-Umgebung läuft und open_basedir in der Datei php.ini konfiguriert worden ist. Von einem solchen Betrieb wird dringend abgeraten, weil es dabei zu Problemen mit Dateien kommt, deren Größe 4 GB übersteigt. Bitte entferne die open_basedir-Einstellung in Deiner php.ini oder wechsele zu 64-Bit-PHP.”

        Ich hab leider nicht gefunden, ob DS414j 64 oder 32 bit ist, auch keine Möglichkeit gefunden, zu 64-Bit-PHP zu wechseln. open_basedir scheint mir aber erforderlich, oder?
        Andererseits rechne ich auch nicht mit Dateien, die annähernd 4 GB hätten.

        Vielen Dank, dass du hier die Kommentare beantwortest, das ist leider keine Selbstverständlichkeit.

        1. Also die 32bit Warnung kannst du ignorieren, die hatte ich auch, meine DS hat fix nur 32 GB aber das ist egal und auch Dateien größer 4GB sind kein Problem, das File-System das die DS nutzt kann Dateien größer 4GB handhaben, Nextcloud ebenso.

          Was die PHP Module angeht, ich hab keine Module nachinstalliert, es scheint also auch so zu gehen, alternativ kann man diverse Module auch über die Commandline nachinstallieren, hab ich aber eben noch nicht gemacht.

      2. Ich komme jetzt bis Schritt 10.
        “Nach wenigen Augenblicken ist die Installation abgeschlossen”.. nein, es dauert lange und dann kommt

        504

        Bei der Verarbeitung dieser Anforderung ist ein Fehler aufgetreten.

        Time out….
        Ich warte also und rufe dann die URL noch mal auf. Dann sehe ich nicht das Fenster aus Schritt 11, sondern den Login. Dort versuche ich mich bin dem in 5. angelegten Admin-User einloggen und es kommt wieder 504..

        1. Ich musste es dreimal versuchen… jetzt kommt das Bild aus Schritt 11.
          Vielleicht musste er sich erst noch hübsch machen..

    2. Ich habe auch den Fehler, dass nichts installiert ist.
      Habe DM 6.2 und finde in den PHP Profile nichts, was ich da einschalten kann. Das sieht bei mir alles anders aus als in den Screenshots.

      1. Hallo,

        Welches PHP-Paket hast du installiert? Ich habe meine DS neu aufgesetz und habe bemerkt, dass in neueren Versionen die Profile nicht automatisch angelegt werden, man muss selbst erst ein Profil erzeugen und dort dann die Einstellungen treffen.
        Sollte das erstellen der Profile nicht funktionieren, hilft vielleicht die Reinstallation der Pakete und am besten auch der WebStation falls du nicht schon andere Webseiten laufen hast.

  15. Hallo Andreas,
    super Anleitung, danke dafür.
    Bis zum update meiner webstation hat meine nextcloud einwandfrei funktioniert.
    Leider hat das update anscheinen die php Einstellungen zurückgesetzt, im speziellen die Erweiterungen.
    Ich konnte mich nicht mehr über das webinterface anmelden es kam nur ein weißer Bildschirm.
    Über die App kam die Fehlermeldung “Interner Sever Error”, was leider nicht sehr aussagekräfitg ist.
    Nachdem ich bei den php Erweiterungen alle angehackt habe läuft es wieder.
    Kannst Du in Deiner Anleitung bitte noch aufnehmen, welche php Einstellung nextcloud benötigt.
    Danke im Voraus
    Axel

  16. Hallo,

    bie mir laäuft NC 12.0.5 auf Apache 2.2 und PHP 5.6

    Jetzt wollte ich auf Apache 2.4 und PHP 7 wechseln.

    Nach der Änderung in der WebStation erhalte ich aber nur weiße Seiten.

    Wo liegt der Fehler?

    1. Hallo,

      Hast du die PHP-Einstellungen angepasst? PHP 5.6 und PHP 7 haben jeweils ihre eigenen Einstellungen.
      Im DSM unter WebStation -> PHP Einstellungen kannst du im Dropdown die PHP-Version auswählen. DU musst für PHP 7 die selben Einstellungen wie PHP 5.6 angeben, also die selben Module sowie die Einträge im open_basedir.

      1. Hallo Andreas!
        Erstmal auch von mir besten Dank für deine Seite! Echt großes Kino, was für eine Mühe Du Dir damit machst! Ich für meinen Teil schaffe es so immer wieder, meine Nextcloud wieder gerade zu rücken. (mal von neuen Bugs abgesehen – mal von Nextcloud, mal durch mich provoziert…)

        @Kachelkaiser: mach es per Ausschlussverfahren:
        1. Apache von 2.2 auf 2.4 umstellen
        2. Cloud aufrufen und schauen ob es läuft
        3. Wie Andreas schon sagt die OpenBaseDir einstellungen von php56 nach php70 kopieren (direkt in der Webstation unter php Einstellungen
        4. freuen, dass jetzt alles klappt (oder wissen, ob es am Apache oder an php liegt…)

        und jetzt was spezifisches von meiner Seite:
        ist es möglich die ganzen occ Befehle auch an php7 zu binden? sprich: sudo -u http php70 occ files:scan –all ? bei mir kommt ein Fehler, dass die Verbindung zur Daenbank nicht hergestellt werden kann. (“An unhandled exception has been thrown: Doctrine\DBAL\DBALException: Failed to connect to the database: An exception occured in driver”)
        php56 funktioniert ohne Fehler, Nextcloud13 selbst läuft mit Apache2.4 und php7 (Daten und Datenbank auf SSD verschoben) wie Zucker.

      2. Danke für Eure Hilfe. Bevor ich etwas ausprobieren konnte, wurde die WebStation von Synology aktuialisiert und seitdem sehe ich auch nur weiße Seiten 🙁

        Hat das Problem auch jemand?

        1. Ich hatte wärend dem Update auf 13.0 das Problem, dass ich nur eine weiße Seite gesehen habe. Ich hab den Nextcloud-Ordner gelöscht, die neue Version erneut entpackt und mein config-File und die Apps rübergespielt. Dann hab ich occ upgrade erneut ausgeführt, dann hat alles gepasst.

        2. Nach dem Update der Webstation hatte ich das gleiche Problem – Nextcloud war nicht mehr erreichbar (weiße Seite).
          Es zeigte sich, dass das Update der Webstation mehrere PHP extensions deaktiviert hat, bei PHP5.6 ebenso wie auch bei PHP7.0. Unter anderem die Datenbankkonnektor pdo_mysql (für MariadB).

          Lösung: die für NC erforderlichen Extensions in den Webstation Settings wieder manuell aktivieren/einstellen und die Dienste anschließend ggf. neu starten (PHP, Apache, Webstation) neu starten. Danach war meine Nextcloud wieder ohne Probleme erreichbar.

          Deshalb: Checkt bitte erst die PHP-Extensions (Webstation > PHP-Einstellungen im jeweiligen Profil) ob alle für Nextloud erforderlichen Extensions aktiviert sind, vgl. https://docs.nextcloud.com/server/12…tallation.html

        3. Vielen Dank @Halsundbeinbruch, das hat geholfen und war die detaillierteste Erklärung für das Problem, die ich gefunden habe!

  17. Hallo Andreas

    nochmal danke für deinen klasse Blog.
    Ich verscuhe gerade einen OCC File Scan, um einen File Scan durchzuführen, damit bereits vorhandene Files erkannt wurden,
    Leider bekomme ich dann immer eine Fehlermeldung:
    n unhandled exception has been thrown:
    exception ‘Doctrine\DBAL\DBALException’ with message ‘Failed to connect to the database: An exception occured in driver: could not find driver’ in /volumex/webx/NextCloud/lib/private/DB/Connection.php:61

    und dann folgende viele weitere Meldungen.
    Eine Idee, wie man den Scan doch noch ans laufen bekommen kann?
    Danke und frohe Weihnachten
    Stephan

    1. Versuche es mal mit php56 und dementsprechend mit dem folgenden Befehl:
      sudo -u http php56 occ files:scan –all
      Synology kennt als webnutzer und gruppe nur http (linux kennt da sonst eigentlich meistens Gruppe und Nutzer www). php selbst will Synology spezifiziert haben, sprich php56 für einen Befehl der PHP nutzt. Führe ich selbst das ganze mit php70 aus, falle ich über exakt den gleichen Fehler.

      Gruß und viel Erfolg (zwei Monate zu spät…)

  18. Moin.
    Leider ist mir die Anleitung etwas zu “tricky”.
    Sehe ich das richtig: Du schreibst zwar, dass die Daten aus Sicherheistgründen in einen “shared folder” sollen, installierst aber dann doch unter /web.

    Ich muss mal blöd fragen:
    1. Die nextcloud.zip entpacke ich direkt in /web, richtig?
    2. Einen Ordner nextcloud gibt es in /web nicht, wenn ich einen “gemeinsamen Ordner” (nextcloud) angelegt habe, richtig?
    3. In den gemeinsamen Ordner nextcloud sollen später die zu synchroniserenden Dateien, richtig?
    4. Wenn der gemeinsame Ordner auf volume1 liegt, muss das Skript wie folgt angepasst werden:
    #!/bin/bash
    chown -R http:http /volume1/nextcloud/
    chmod -R 777 /volume1/nextcloud/
    Richtig?
    5. In anderen Anleitungen steht, dass man unter open_basedir “none” schreiben soll. Stimmt das?
    6. Welche versionen PHP und Apache laufen inzwischen mit nextcloud auf der synology?

    Wäre toll, wenn du oder jemand mir weiterhelfen würde.

    1. Hallo,
      Also die Daten die in den “shared folder” sollen sind deine Daten die du in die Cloud hochlädst. Es sind 2 Ordner notwendig, der Installationsordner, der enthält die Nextcloud-Dateien, der muss unter /web sein. Der 2. Ordner ist der Ordner für deine privaten Dateien, der Ordner heißt standadrmäßig data, du kannst ihr aber irgendwie nennen. Dieser Ordner kann unter /web liegen, besser ist es aber ihn wo anders anzulegen.

      Zu deinen Fragen:
      1. Ja richtig. Alles im /web-Ordner kann vom Webserver aufgerufen werden und Nextcloud ist nichts anderes als eine Webanwendung.
      2. Doch den muss es geben, er kann aber anders heißen. unter /web/ müssen die Installationsdateien.
      3. Ja richtig, in den gemeinsamen Ordner sollen deine privaten Dateien, nicht die Installationsdateien.
      4. Nein, das Skript bezieht sich auf die Installationsdateien von Nextcloud, die Rechte müssen angepasst werden damit der Webserver die Anwendung ausführen kann.
      5. Das kannst du machen, das heißt dann aber das PHP prinzipiell auf alle Ordner zugreifen darf und stellt ein gewisses Sicherheitsrisiko dar.
      6. Also Nextcloud läuft unter Apache 2.4 und PHP 7. Ob die Installation auch unter Apache 2.4 und PHP 7 läuft kann ich dir nicht mit Sicherheit sagen. Wenn du auf Nummer sicher gehen willst, mach die Installation unter Apache 2.2 und PHP 5.6 und stelle danach auf die neuen Versionen um.

      Grüße,
      Andreas

      1. Hallo Andreas,
        vielen Dank, für deine Antwort. Leider läuft es immer noch nicht.

        Ich habe wie folgt installiert:
        Installationsdaten in: /volume3/web/nextcloud
        Daten sollen in: /volume1/nextcloud
        Beide Ordner haben http:http als Owner/Gruppe und 777-Berechtigungen.

        MariaDB5 (und 10), phpMyAdmin, PHP5.6 und 7.0 und Apache 2.2 und 2.4 und Nginx sind installiert.
        Eingestellt in der Webstation sind aber Apache 2.2 und PHP 5.6.

        Frage A: Muss/soll ich die Erweiterungen bei PHP 5.6 (bcmath, bz2, calendar etc.) aktivieren?

        Das angepasste Skript sieht wie folgt aus:
        #!/bin/bash
        chown -R http:http /volume1/nextcloud/
        chmod -R 777 /volume1/nextcloud/

        Trotzdem komme ich mit
        //IP_der_Diskstation/nextcloud/
        im Browser nicht auf die Startseite.

        Muss ich bei MariaDB oder phpMyAdmin noch etwas machen?

        1. Korrektur:
          Es muss natürlich
          #!/bin/bash
          chown -R http:http /volume3/web/nextcloud/
          chmod -R 777 /volume3/web/nextcloud/
          heissen.

          Trotzdem bleibt der Bildshcirm leer, wenn ich die Seite im Browser aufrufe.

  19. Hallo,

    erst mal vielen Dank für die tolle Anleitung. Ist direkt in meinen Favoriten gelandet für das nächste Update.

    Jetzt dachte ich mir in meinem kleinen Kopf das es ja super wäre wenn ich die Dateien (mehrere GB) einfach in die entsprechenden Ordner kopiere, das Berechtigungsskript laufen lasse und schon sind die Dateien in der Cloud sichtbar.

    Leider habe ich herausgefunden, dass ich OCC dafür brauche. Nur komme ich damit nicht zurecht.

    Kann mir jemand helfen?

    Danke
    Nils

    1. Hallo,

      Für die OCC Commands musst du mit putty in den Ordner /web/mimir navigieren bevor du sie ausführen kannst.
      Und du musst aufpassen, in der Nextcloud-Dokumentation wird der User für Linux angegeben, unter Synology heißt der http.
      Bei mir ist es schon länger her, dass ich occ benutzt habe, damals musste ich noch die PHP version angeben, also statt php php56.
      Beispiel:
      cd /volume1/web/mimir
      sudo -u http php56 occ maintenance:mode –on

      Grüße
      Andreas

  20. Danke für die Anleitung, Update von 12.0.0 auf 12.0.3 hat mit dem inkludierten Updater von Nextcloud damit perfekt funktioniert! läuft 1A!

  21. Hallo,

    klasse Seite! Insbesondere der Tipp, dass man mit Apache2.4 und php7.0 nicht upgraden kann. Muss ich dann jetzt wohl immer wieder aktivieren, wenn es soweit ist.

    Kannst du vielleicht noch eine Anleitung schreiben, wie man den data Ordner auf einer Synology aus web auslagert? Also bei konfiguriertem und laufendem Nextcloud. Ich komme leider mit der Anleitung nicht ganz klar: https://help.nextcloud.com/t/howto-change-move-data-directory-after-installation/17170 (Solution 1) Ich möchte von “/volume1/web/data/” auf “/volume1/ASDF/” oder so verschieben.

    1. sudo -u http php /volume1/web/nextcloud/occ maintenance:mode –on
    2. cp /volume1/web/nextcloud/data /volume1/ASDF //copy von -> nach
    3. chown -R http :http /volume1/ASDF //rechte auf neuem ordner setzen
    4. nano /volume1/web/nextcloud/config/config.php
    ‘datadirectory’ => ‘/volume1/ASDF’, //neuen pfad in der config setzen
    5. mysqldump -u -p > /path/to/dbdump/dump.sql //was ist der pfad, was der user?
    6. Adjust “oc_storages”database table to reflect the new data folder location:
    $ mysql -u -p
    //enter mysql root password
    $ use ;
    $ update oc_storages set id=’local::/volume1/ASDF’ where id=’local::/volume1/web/nextcloud/’; //take care about backslash at the end of path!!
    $ quit;
    7. sudo -u http php /volume1/web/nextcloud/occ maintenance:mode –off

    Wäre das so richtig? Was ist hier der rootuser? http? root? Müsste das der von mariaDB sein? Hat man den selbst gesetzt??

    Grüße
    Gab

    1. Hallo,

      Irgendwann nach Punkt 3 musst du den neuen Pfad ins open_basedir eintragen. Wie bzw. was du eintragen musst kannst du oben in der Anleitung nachlesen.
      5. Würde ich über den phpMyAdmin machen, den Pfad weiß ich auf der DS leider auch nicht. Wobei das für mich aussieht als wäre das ein selbst gewählter Pfad unter der das Backup angelegt wird. Als User sollte der User funktionieren den du bei der Nextcloud installation angegeben hast. Aber wie gesagt, das ist nur ein normales Backup und das kannst du auch über den PMA machen.
      6. Hier wäre es eben der root user, aber auch hier kannst du den PMA nutzen. Einfach im PMA die Nextcloud-Datenbank auswählen und oben auf SQL gehen und dort: update oc_storages set id=’local::/volume1/ASDF‘ where id=’local::/volume1/web/nextcloud/‘; ausführen.

      Solltest du noch weitere Hilfe brauchen, schreib einfach.

      Grüße
      Andreas

  22. Vielen Dank für Anleitung, die für mich zwei wichtige Punkte berücksichtigt. Zum Einen, dass der Sicherheitshinweis zum Umbenennen des Installationsverzeichnisses umgesetzt wird und dass das Datenverzeichnis außerhalb des Installationsverzeichnisses liegt.
    Grundsätzlich habe ich Deine Anleitung befolgt.
    Im Punkt 3 (Installation) habe ich den Eigentümer und die Berechtigungen sowohl auf das Installationsverzeichnis als auch auf das Datenverzeichnis angewendet.
    Im Schritt 7, nach dem Klicken auf “Installation abschließen” kommt dann die Meldung”MySQLMariaDB geben Sie den Datenbanknamen an”.
    Was mache verkehrt bzw. welche Eingabe ist hier notwendig?
    Vielen Dank für Deine Zeit!
    Gruß Jörg

    1. Hallo Jörg,

      Mein erster Verdacht ist, dass entweder beim Erstellen der Datenbank etwas schief gegangen ist, oder die Datenbank nicht im Config-File eingetragen ist.
      Logg dich zuerst im PHPMyAdmin ein und schau ob dort die Nextcloud-Datenbank vorhanden ist.
      Der 2. Check: öffne die Datei web//config/config.php (am besten über putty mit vi, da der Texteditor der DiskStation die Rechte und Besitzer ändert beim abspeichern), schau nach ob dort die Daten für die Datenbank eingetragen wurden.

      Grüße
      Andreas

      1. Hallo Andreas,

        ich hatte nicht mitbekommen, dass Du geantwortet hast, deshalb erfolgt meine Antwort erst so spät.
        Die Nextcloud-Datenbak ist vorhanden.
        In der config.php steht Folgendes:
        ‘xyz’,
        ‘passwordsalt’ => ‘xyz’,
        ‘secret’ => ‘xyz’,
        ‘trusted_domains’ =>
        array (
        0 => ‘meineDomain.de’,
        ),
        ‘datadirectory’ => ‘/volume1/Datenwolke/data’,
        ‘overwrite.cli.url’ => ‘https://meineDomain.de/Datenwolke’,
        ‘dbtype’ => ‘mysql’,
        ‘version’ => ‘12.0.3.3’,
        ‘dbname’ => ‘Nextcloud’,
        ‘dbhost’ => ‘localhost:3307’,
        ‘dbport’ => ”,
        ‘dbtableprefix’ => ‘oc_’,
        );

        Was mich irritiert ist, dass in dbhost der host inkl. des Ports steht und das Feld dbport leer ist.

        Nach Wiederholung aller Schritte, erhalte ich nun die gleiche Fehlermeldung wie Timo (siehe Beitrag vom 16.08.)
        “An exception occured in driver: SQLSTATE[HY000] [2002] No such file or directory”.

        Inzwischen bin ich fast am Verzweifeln.

        1. Benutzt du schon MariaDB 10?
          Wenn ja, dann änder mal das ‚dbhost‘ => ‚localhost:3307‘, in ‚dbhost‘ => ‚192.168.0.XXX:3307‘, also in die lokale IP deiner DS,

          dbuser und dbpassword hast du, nehm ich an, drinnenstehen aber nicht mitkopiert?

        2. Hallo Andreas,

          ich hatte es MariaDB 10 versucht, aber es wollte auch mit Deinen Hinweisen nicht klappen. Ein Nutzer des Synology-Forums gab dann den Hinweis, es mit MariaDB 5 zu versuchen; und siehe da, es hat geklappt. Mithilfe Deines Tutorials zur Optimierung sind nun auch alle Fehlermeldungen bzw. Hinweise verschwunden. Vielen Dank!
          Ich bin schon gespannt auf das Tutorial in dem Du beschreibst, wie man nextcloud über eine Subdomain anspricht.

  23. Hallo,

    tolle Anleitung.
    Allerdings hast du leider einen Punkt ausgespart,der mir am Herzen liegt. Wie bekomme ich die Nextcloud dazu auf nextclud.domain.my zu hören?

    1. Hallo,

      Das hat mit der Installation selbst nur indirekt zu tun. Ich hab aber einen eigenen Artikel darüber geplant. Ich bin noch im Urlaub, aber nächste Woche sollte ich Zeit dafür haben.

      LG

  24. Guten Abend Andreas
    Merci für die Anleitung – konnte als Halblaie gut folgen.
    Beim Versuch, die Installation von Nextcloud zu starten, erhalte ich dann jedoch die Fehlermeldung “can’t create or write into the data directory”.
    Du hast öfter darauf hingewiesen, dass der Pfad zum Data Directory in der open_basedir eingetragen werden muss.
    Bei mir heisst das Verzeichnis Nextcloud und liegt im volume1.
    String im Feld open_basedir der Webstation sieht so aus: /tmp:/var/services/tmp:/var/services/web:/var/services/homes:/volume1/Nextcloud
    Ist das aus deiner Sicht i.O.?
    Rechte des Ordners sind folgendermassen gesetzt
    drwxrwxrwx 4 http http Nextcloud
    Wo könnte mein Fehler liegen?

    1. Hallo Matthias,

      Deine Rechte schauen in Ordnung aus.
      Hast du auch das open_basedir für die richtige PHP-Version konfiguriert?
      Wenn du in die PHP-Einstellungen gehst ist standardmäßig PHP 5.6 ausgewählt, wenn du PHP 7 nutzt musst du hier PHP 7 auswählen und auch dort den Pfad in open_basedir eintragen.

  25. Hallo,
    vielen Dank für den tollen Guide. Leider bekomme ich bei der Initialisierung von Nextcloud (also auf http:///nextcloud/index.php) den Fehler:
    Error while trying to create admin user: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [2002] No such file or directory

    Die MySql läuft und ich kann mich auch über Konsole verbinden mit dem Benutzernamen und Passwort wie angegeben.
    Ich habe schon gesucht und x Sachen getestet und finde das Problem nicht. Ich weiß leider auch nciht in welchem Log ich die Fehlermeldung finden kann.

    1. Hallo,

      Laut diesen Quellen hier:
      https://forum.owncloud.org/viewtopic.php?t=27825
      https://doc.owncloud.org/server/8.0/admin_manual/issues/#common-problems-error-messages

      Benutzt du entweder SQLite und hast keine Schreibrechte oder Nextcloud bekommt keine Verbindung zu deiner MySQL-Datenbank. Hast du im Installationsdialog von Nextcloud auch MySQL/MariaDB angegeben?
      Du kannst versuchen das MariaDB Paket zu deinstallieren falls du keine anderen Datenbanken in Benutzung hast und neu zu installieren (benutz gleich MariaDB 10 falls du noch 5 installiert hast).
      Welchen User gibst du bei der Installation an? Du kannst versuchen einen neuen User anzulegen, der die nötigen Rechte hat und damit die Installation versuchen.

  26. Hallo,

    danke für diese tolle Anleitung.

    Leider bekomme ich immer den Fehler 404 wenn ich die Nextcloud aufrufen möchte.
    Nutze die aktuellste DSM 6.1 Version

    Bekomme diesen Fehler mit jeder Anleitung die ich finden konnte.
    Habe es mit Apache 2.2 oder Nginx getestet, leider bekomme ich immer diesen Fehler.
    Die rechte sind Passend eingestellt. Nutze auch php 5.6
    Mit meiner DSM Version musste ich mich vorher mit Putty als admin einloggen dann das Kommando sudo -i verwenden um als Root User fortzufahren. Dann konnte ich die Rechte ändern mit dem normalen Adminkonto war dies nicht möglich.

    Woran könnte es liegen?

    1. Hallo,

      Fehler 404 heißt, der Webserver findet die aufgerufene Seite nicht. Mit welcher URL versuchst du Nextcloud aufzurufen?
      Im einfachsten Fall stimmt die URL nicht mit dem Pfad der Nextcloud-Installation überein.

      Dass man in putty mit sudo -i in den root-Modus wechseln muss, um die Rechte richtig setzen zu können habe ich unter Installation Punkt 4 erwähnt. Der Adminuser den man in der DSM anlegt ist nur ein User der Gruppe Admin, braucht man Adminrechte muss man diese explizit anfordern.

      1. Vielen dank für die Antwort 🙂

        Mit dieser URL versuche ich auf die Nextcloud zuzugreifen.
        http://192.168.178.133/nextcloud/

        IP meiner Synology: 192.168.178.133

        Habe es auch schon mit diesen URLs versucht
        http://192.168.178.133:5000/nextcloud/
        https://192.168.178.133:5001/nextcloud/
        https://192.168.178.133/web/nextcloud/

        Komme leider nie auf die Nextcloud Seite

        Dieses Problem bekomme ich mit Apache 2.2 und Nginx.

        Der Nextcloudordner liegt im Verzeichnis Web die Rechte passen auch.

        Danke für eure hilfe
        Gruß

        1. Also nginx wird von Nextcloud offiziell nicht unterstützt, ist aber möglich mit entsprechender config, da kenn ich mich aber leider zu wenig aus.

          Wo hast du Apache bzw nginx eingestellt? DSM6 verhält sich leider etwas seltsam was die Webserver angeht, der 404 Error taucht meist in Verbindung mit nginx auf, für den Apache ist es eher unüblich.

          http://192.168.178.133:5000/nextcloud/
          https://192.168.178.133:5001/nextcloud/
          Diese beiden sind falsch, da die ports 5000 bzw 5001 von DSM bzw. der VideoStation genutzt werden, Der Webserver nutzt 80(http) und 443(https).

          https://192.168.178.133/web/nextcloud/
          Ist auch falsch, da der Webserver direkt auf den web-root zugreift und das ist im Fall der DS der Ordner /web.

          Was passiert wenn du nur http://192.168.178.133 aufrufst bzw http://192.168.178.133:80.
          Wenn du im /web die index.html nicht verändert hast, solltest du eine blaue Info-Seite sehen.

          Hast du einen vhost eingerichtet oder irgendwelche .htaccess-Einträge erstellt die dich eventuell falsch weiterleiten (redirect)?

        2. Gut, also die WebStation läuft schon mal. Ist im Ordner /web auch ein Ordner nextcloud (Groß-Kleinschreibung ist wichtig)? Und ist in dem Ordner auch eine index.php?
          Manchmal klappt beim kopieren etwas nicht und Dateien fehlen.

          Ansonsten einmal den Webserver neustarten, über das Packetzentrum anhalten und dann wieder starten oder über die Commandline.
          Sollte euch das nichts helfen dann am besten den nextcloud Ordner löschen und neu installieren und die Rechte neu setzen.

      2. Hallo,

        Habe die Webstation nochmal neu gestartet. (Php, mariadb und apache auch)
        Die index.php ist ebenfall vorhanden. Habe den Nextcloudordner auch nochmal neu kopiert und die Rechte vergeben, leider hat das alles nichts gebracht.

        1. Wirklich äußerst seltsam. Der Error 404 bedeutet, dass der Server tadellos erreichbar ist, aber der Browser etwas angefordert hat was nicht gefunden werden kann. Normalerweise ist das entweder ein Pfad dens nicht gibt, also Datei nicht vorhanden oder Tippfehler, oder irgednwelche redirects die nicht klappen. Eine weitere möglichkeit ist, dass man ein Verzeichnis aufrufen möchte, das durchsuchen von Verzeichnissen aber nicht erlaubt ist. Bei vorhandener index.(html/php) wird diese aber immer aufgerufen.

          Hast du auch schon einen anderen Browser oder noch besser einen anderen Computer versucht?
          Weitere Möglichkeiten:
          Ruf mal http://192.168.178.133/nextcloud/index.php auf, sollte aber keinen Unterschied machen.
          WEnn das alles nichts hilft, müsstest du dir mal die Serverlogs anschauen. Die error logs sollten unter /var/log/httpd liegen.

          Ich kann dir dann noch dieses Forum empfehlen http://www.synology-forum.de/forum.html
          Im Unterforum Webserver sollte dir im Normalfall geholfen werden können. Die Jungs dort sind wirklich sehr gut und haben auch mir schon oft weitergeholfen.

    1. Das könnte an den falschen Rechten liegen, die würde ich nochmal kontrollieren, oder aber an Firewalleinstellungen deines PCs.

      Kannst du den Webserver deiner DiskStation aufrufen? http://:80 oder http://:80

  27. Hallo Andreas,

    vielen Dank für den sehr hilfreichen und ausführlichen Artikel.

    Kannst Du mir bitte bei folgendem Problem weiterhelfen:
    Ich komme nicht zum ersten Dialog mit Nextcloud. Die Browserseite bleibt leer/weiß.

    Die Systemvoraussetzungen sind wie bei dir oben beschrieben:
    – aktuelles DSM 6.1,
    – Webstation ist installiert und aus dem lokalen Netz erreichbar, (Apache HTP Server 2.2 und PHP 5.6) (Hello! Welcome to Synology WebStation)
    – nextcloud-12.0.0.zip ins web Verzeichnis hochgeladen, dort entpackt
    – Rechte sind auf beide Verzeichnisse (nextcloud und NCData) händisch über ssh gesetzt
    den open_basedir Eintrag erweitert (:/volume1/NCData)
    – Umleitung auf sichere Verbindung aktiviert (http -> https)
    – Firewall deaktiviert

    Hast Du zur Lösung dieses Problems eine Idee ?
    Vielen Dank schon mal im Voraus.

    1. Hallo,

      Eine weiße Seite ist meist ein Hinweis, dass am Webserver etwas schief läuft. Da musst du im Logfile nachschauen was konkret das Problem ist.
      Die error logs sollten unter /var/log/httpd liegen.

      Du kannst auch nochmal versuchen die Nextcloud Files hochzuladen. Eventuell vorher entpacken und dann nach /web kopieren. Es gibt immer wieder User die Probleme haben weil beim entpacken/kopieren eine Datei verloren gegangen ist.

  28. Hallo
    Ich bekomme diese Fehlermeldung:
    “Das Datenverzeichnis /volume1/nextcloud-data kann nicht erstellt oder es kann darin nicht geschrieben werden.”
    Muss ich da die Rechte ändern und welche?
    Danke

    1. Also beim data directory reicht es erstmal aus wenn der owner der http user ist.
      chown -R http:http /volume1/nextcloud-data
      Die Rechte sollten erstmal nicht so wichtig sein, willst du aber ganz sicher gehen dann kannst du folgendes machen:
      find /volume1/nextcloud-data/ -type f -print0 | xargs -0 chmod 0640
      find /volume1/nextcloud-data/ -type d -print0 | xargs -0 chmod 0750

      Check auch nochmal ob du den Ordner in open_basedir eingetragen hast. Das ist der Hauptgrund für die Fehlermeldung.

  29. Hallo!
    Ein super Tutorial. Einfach zu verstehen und nachzuvollziehen. Habe es mit einem anderen parallel verglichen und klappt soweit alles auf meiner Synology DS213+ mit aktuellestem DS6.1. (Habe die aktuelle Version von owncloud genommen, Apache und PHP sind auch die geforderten Versionen) Bis es dann zum entscheidenen Punkt kommt:
    Ich komme nicht zu Erstinstallation. Es kommt bei mir die Meldung:
    Fehler 500 Bei der Verarbeitung dieser Anforderung ist ein Fehler aufgetreten.

    Die Rechte sehen analog den Rechten von der Antwort weiter oben aus. phpMyAdmin läuft auch.
    Woran könnte es noch liegen?

    Danke im Voraus für eine (hilfreiche) Antwort.

    LG,
    MB

    1. Hallo!
      Das Problem oben hat sich gelöst, hatte etwas vergessen…

      Allerdings habe ich nun das Problem, dass mir die Erstinstallation nicht gelingen will,
      der er mir sagt, er könne nicht auf den Folder /volume1/owncloud zugreifen/erstellen.
      Der user http hat dort jedoch alle Rechte und der Ordner ist natürlich auch schon erstellt.
      drwxrwxrwx+ 2 http http 4096 Apr 13 23:20 owncloud

      Woran kann das liegen?
      Danke nochmals!

      1. Hast du den Ordner auch im open_basedir in den PHP settings eingetragen?
        Wenn die Rechte stimmen, ist das meist der Grund warums nicht geht.

  30. Vielen Dank für die ausführliche Anleitung.

    Aber dennoch bin schon halb am Verzweifeln.
    Nextcloud läuft und auch die Optimierungen funktionierten alle.
    Die von Nextcloud erstellten Ordner und Dateien sind sichtbar. Auch im Browser erstellte Ordner funktionieren.
    Aber wenn ich Ordner und Dateien manuell über Totalcommander oder Explorer ins ‘nextclouddata-Verzeichnis’ kopiere,
    tauchen diese nicht im Browser oder in der Android-App auf.
    Auch ein Anpassen der PHP.ini an den Pfad “/volume1/web/nextclouddata” half nichts.
    Es laufen auf der DS213j HTTP-Server Apache 2.2 und PHP 5.6.
    Ebenfalls scheinen die Dateirechte alle in Ordnung zu sein.

    Wieso werden manuell kopierte Dateien nicht eingebunden?

    1. Hallo,

      Nextcloud ist nicht dazu gedacht Daten direkt ins data-Verzeichnis abzulegen.
      Die Daten befinden sich dann zwar auf der Platte, allerdings bekommt die Datenbank davon nichts mit.
      Der bevorzugte Weg Daten hochzuladen ist die Nextcloud App (Desktop oder Mobile Version).
      Sollte es bei dir dennoch unbedingt notwendig sein die Daten direkt abzulegen muss der Datafolder neu gescannt werden:
      sudo -u http php56 console.php files:scan –all

  31. Ich bekomme nach der Installtion beim aufruf von 192.168.178.23/nextcloud die Meldung:
    “Die Seite 192.168.178.23 funktioniert nicht

    192.168.178.23 kann diese Anfrage momentan nicht verarbeiten.
    HTTP ERROR 500”

    Irgend eine Idee?

    1. Da ist etwas am Webserver schiefgelaufen. Meist hängt das mit fehlenden Dateirechten zusammen.

      Überprüfe mal in der Kommandozeile mit ls -l /volumeX/web die Dateirechte für den Nextcloud Ordner.
      Und mit ls -l /volumeX/web/Nextcloud die Rechte für die Unterordner und Dateien.

      Überprüfe auch bitte im DSM in der WebStation ob als Webserver der Apache 2.2 und php 5.6 ausgewählt wurde.
      Derzeit funktionieren nginx und Apache 2.4 sowie php 7.0 nicht für eine Nextcloud-Installation.

      1. Die WebStation läuft mit Apache 2.2 und php 5.6.
        Hier die Ergebnisse der Rechte Überprüfung:

        Jan@DS414:/$ ls -l /volume1/web
        total 49164
        drwxrwxrwx+ 3 root root 4096 Feb 6 10:01 @eaDir
        drwxrwxrwx+ 14 http http 4096 Feb 5 21:12 nextcloud
        -rwxrwxrwx+ 1 Jan users 50322623 Feb 5 19:20 nextcloud-11.0.1.zip
        drwxrwxrwx+ 12 root root 4096 Feb 5 21:08 phpMyAdmin

        Jan@DS414:/$ ls -l /volume1/web/nextcloud
        total 148
        drwxrwxrwx+ 29 http http 4096 Feb 5 21:12 3rdparty
        drwxrwxrwx+ 41 http http 4096 Feb 5 21:12 apps
        -rwxrwxrwx+ 1 http http 8868 Jan 15 17:03 AUTHORS
        drwxrwxrwx+ 2 http http 4096 Feb 5 21:11 config
        -rwxrwxrwx+ 1 http http 3638 Jan 15 17:03 console.php
        drwxrwxrwx+ 16 http http 4096 Feb 5 21:11 core
        -rwxrwxrwx+ 1 http http 5353 Jan 15 17:03 cron.php
        -rwxrwxrwx+ 1 http http 40622 Jan 15 17:03 db_structure.xml
        -rwxrwxrwx+ 1 http http 179 Jan 15 17:03 index.html
        -rwxrwxrwx+ 1 http http 2471 Jan 15 17:03 index.php
        drwxrwxrwx+ 3 http http 4096 Feb 5 21:11 l10n
        drwxrwxrwx+ 6 http http 4096 Feb 5 21:11 lib
        -rwxrwxrwx+ 1 http http 283 Jan 15 17:03 occ
        drwxrwxrwx+ 2 http http 4096 Feb 5 21:11 ocs
        drwxrwxrwx+ 2 http http 4096 Feb 5 21:11 ocs-provider
        -rwxrwxrwx+ 1 http http 3184 Jan 15 17:03 public.php
        -rwxrwxrwx+ 1 http http 5431 Jan 15 17:03 remote.php
        drwxrwxrwx+ 4 http http 4096 Feb 5 21:12 resources
        -rwxrwxrwx+ 1 http http 26 Jan 15 17:03 robots.txt
        drwxrwxrwx+ 11 http http 4096 Feb 5 21:11 settings
        -rwxrwxrwx+ 1 http http 2110 Jan 15 17:03 status.php
        drwxrwxrwx+ 3 http http 4096 Feb 5 21:11 themes
        drwxrwxrwx+ 2 http http 4096 Feb 5 21:11 updater
        -rwxrwxrwx+ 1 http http 258 Jan 15 17:04 version.php

        1. Die Rechte schauen gut aus.
          Ich hab noch eine andere Vermutung.
          Hast du die IP auch bei der Installation verwendet? Nextcloud trägt die Adresse als trusted domain ein, versucht man mit einer anderen Domain drauf zuzugreifen geht das nicht.
          Was passiert wenn du nir die IP eingibst?
          Ich bin mir nicht mehr sicher ob die ANgabe des Ports notwendig ist (also 192.xxx.xxx.xxx:portnummer 88 für http und 443 für https), da ich eine DYNDNS-Adresse verwende und einen DNS auf der DiskStation laufen habe.
          Kannst du dich auf die Webseite im Documentroot(nur die IP Adresse bzw IPAdresse:88) verbinden? Wenn du nichts umgestellt hast sollte eine blaue Seite mit Hinweistext von Synology erscheinen.
          Hast du in der Firewall der DiskStation etwas blockiert bzw. vergessen freizugeben?
          Versuch auch mal über den Namen deiner DiskStation zuzugreifen also DS414:88 oder DS414\nextcloud oder DS414:88\nextcloud.

          Noch ein Versuch den Webserver zu testen: Im DSM-Menü phpMyAdmin anklicken, der sollte dann im neuen Tab mit der richtigen Adresse aufgehen, wenn das klappt, läuft der Webserver, dann das phpMyAdmin in der Adresszeile mit nextcloud austauschen.

        2. Hi, erst einmal Danke, für die Anleitung.
          Ich habe leider exakt das gleiche Problem wie “deluc”.
          Habe alle deine Tipps erfolglos getestet. Habe auch meine DS216j zurück gesetzt und verschiedene Versionen von nextcloud (12.0.0 und 10.0.5) probiert.

          Noch irgendeine Idee was ich machen könnte?
          Danke und Gruß

        3. Hallo,

          Was hast du unter Web Station -> PHP-Einstellungen -> Erweiterungen -> HTTP Backend Server und PHP eingestellt?
          Ich würde hier Apache 2.2 und PHP 5.6 auswählen, nach der Installation kannst du auf Apache 2.4 und PHP 7 wechseln wenn du möchtest.

          Nextcloud hat noch einige Probleme mit Apache 2.4 und PHP 7. Ich werde die Artikel demnächst aktualisieren und darauf eingehen.

        4. Hi,
          ich habe Apache 2.2 und PHP 5.6 ausgewählt.
          Muss ich unter “virtueller Host” auch etwas einstellen?

        5. Hi,

          Du kannst einen virtuellen Host anlegen. damit kannst du z.B. für einzelne Unterordner von /web einen eigenen Server (Apache, Nginx) und eine eigene PHP Version angeben. Du kannst dadurch auch URLs auf einzelne Unterordner zeigen lassen. also anstatt meinedomain.com/nextcloud cloud.meinedomain.com oder nur meinedomain.com.
          Dazu brauchst du eine domain die auf deine DiskStation verweist. Dannach gibst du http und https an oder die ports direkt. Als root wählst du den Unterordner deiner Seite aus die du über die Domain erreichbar machen willst. HSTS und HTTP/2 unbedingt aktivieren und das Backend auswählen. Achtung: andere Seiten die du am webserver laufen hast sind dann über die angegebene Domain nicht mehr erreichbar. Auch DSM ist dann über diese Domain nicht mehr erreichbar.

          Ich werde demnächst noch einen Artikel schreiben und mich genauer damit befassen.

  32. Von mir auch ein Dankeschön für diese tollen Anleitung!

    @drbrennero:
    Die Meldung erhalte ich auch wenn ich in der Web Station den HTTP-Backend-Server auf Apache 2.4 stelle.
    Stelle ihn auf Apache 2.2, dann sollte die Meldung verschwinden.

    Das Verhalten bei mir ist:
    Apache 2.2 => funktioniert
    Apache 2.4 => Datei nicht gefunden
    Nginx => Fehler 503

    Wünsche noch einen schönen Tag

    1. Mittlerweile ist es so, dass man Nextcloud mit Apache 2.4 und PHP 7 verwenden kann, allerdings nur wenn man keinen vhost verwendet.
      Sollte sich hier was ändern gibts von mir natürlich ein kleines Update.

  33. Hallo,

    danke für die Anleiung.
    Ich bekomme noch einen Fehler beim Logon:

    “Datei nicht gefunden”
    Hat das noch jemand?

    Grüße

    1. Ist das eine Fehlermeldung des Browsers oder von Nextcloud selbst? Und wann taucht die Fehlermeldung auf? Nach der Installation oder währenddessen?

      Derzeit kann ich nur Vermutungen anstellen, entweder wurde eine benötigte Datei nicht hochgeladen oder die Zugriffsrechte passen nicht oder eventuell Einstellungen auf der Diskstation. Läuft die WebStation? Erfolgt der Zugriff aus dem LAN oder dem Internet? Laufen noch andere Webseiten/Anwendungen auf der WebStaation und können diese erreicht werden?

Schreibe einen Kommentar zu drbrennero Antworten abbrechen

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