Die eigene Cloud: Nextcloud Installation auf einer Synology DiskStation mit DSM 6

Hinweis: Dieses Tutorial funktioniert auch mit Owncloud 8 und 9 sowie für Nextcloud 9.x und 10.x

Update: Juli 2017 – Apache und PHP: Nextcloud läuft immer noch nicht reibungslos mit Apache 2.4 und PHP 7 aber schon besser als zuvor. Näheres dazu unter Vorbereitungen ab Punkt 6.

Vorbereitung

  1. Bevor wir anfangen können, kontrolliert ob die Web Station läuft.
  2. Installiert folgende Pakete im Paket Zentrum:
    • PHP (5.6)
    • phpMyAdmin
    • MariaDB
  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.
  6. ACHTUNG: Nextcloud funktioniert derzeit nur mit Apache 2.2 und PHP 5.6. Nginx, Apache 2.4 sowie PHP 7.0 führen zu Fehlern. Nextcloud unterstützt Nginx nicht offiziell, dennoch kann man die Cloud unter Nginx laufen lassen, dafür ist aber einiges an Konfiguration notwendig. Als Anlaufstellen bieten sich hier help.nextcloud.com und synology-forum.de Ihr könnt für den Betrieb von Nextcloud Apache 2.4 und PHP7 verwenden, für ein Update von Nextcloud müsst ihr aber derzeit noch auf 2.2 bzw. 5.6 zurückwechseln. Auch für die Installation empfehle ich Apache 2.2 und PHP 5.6. Kontrolliert in der WebStation ob ihr die richtigen Einstellungen gewählt habt. Solltet ihr für andere Webseiten einen anderen Webserver oder eine andere PHP-Version als Standard eingestellt haben, müsst ihr einen virtuellen Host einrichten. Mit dem neuesten DSM-Update könnt ihr Webserver und PHP für jeden virtuellen Host getrennt angeben.

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

    Nextcloud Datenbankverbindung
    Nextcloud Datenbankverbindung
  8. Klickt den Button um das Setup abzuschließen.
  9. 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.

53 thoughts on “Die eigene Cloud: Nextcloud Installation auf einer Synology DiskStation mit DSM 6

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

  2. 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!

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

  4. 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?

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

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

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

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

  8. 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)?

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

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

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

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

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

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

          1. 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ß

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

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

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

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

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

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