Installation Nextcloud 27 auf Synology & DSM 7.2

Dieser Artikel ist eine aktualisiert Fassung der ursprünglichen Installationsanleitung und an diejenigen gerichtet, die sich bereits mit LAMP-Servern und der Nextcloud auskennen. Weiterhin ist es von Vorteil, wenn einem die Synology DiskStation nicht ganz fremd ist.
Ich möchte mich vorab auch bei jenen Bloggern bedanken, u.a. Andreas Hofmann (https://blog.viking-studios.net/about/), von deren Seiten ich mir hauptsächlich den Input für das HowTo geholt habe.

Ziel des HowTos

Installation einer Nextcloud-Instanz auf einer Synology DiskStation auf Basis der DSM-Pakete.

Warum dieses HowTo? Es gibt bereits so viele?

Es haben mich mehrere Gründe dazu bewogen dieses Howto zu verfassen.
1. Dokumentation. Jetzt ist zumindest ein Kruschd, den ich fabriziere auch einmal dokumentiert.
2. Es ist auf deutsch. 😉
3. Je nach Verfasser liegt der Schwerpunkt häufig auf „Hauptsache es funktioniert“. Ich habe versucht ein Howto zu verfassen, dass sich Größtenteils der Boardmittel der DiskStation bedient, eine sichere Installation realisiert und die essentiellen Nacharbeiten beinhaltet.

Voraussetzung

Wir benötigen eine Synology DiskStation mit eingerichtetem Diskpool/Volume und einen Betriebssystemstand DSM 7.2 und aufwärts. Also, damit habe ich es getestet. Kann sein, dass es auch mit einer niedrigeren DSM-Version funktioniert.
Es werden Aktionen im Terminal durchgeführt, daher den SSH-Dienst der DiskStation starten.

Installation

Wir fangen an und bereiten die Synology vor. Als erstes installieren wir die notwendigen Pakete über das Package-Center:

  • Web Station (Verwaltungskonsole für Webserver)
  • Apache HTTP Server 2.4
  • PHP 8.2
  • MariaDB 10
    • root-Passwort wird gesetzt
    • TCP/IP-Kommunikation NICHT aktivieren, wir kommunizieren über den Mysqld-Socket
  • phpMyAdmin (PHP 8.0 wird nachinstalliert)
    • sollte aus Sicherheitsgründen nach erfolgter Nextcloud-Einrichtung deinstalliert werden.

Die Paketverwaltung sollte danach in etwa wie folgt aussehen:

Die Datenbank

Wir beginnen mit der MariaDB-Datenbank. Folgende Aufgaben gibt es zu erledigen:

  • Datenbank-Benutzer für Nextcloud einrichten
  • Nextcloud-Datenbank vorbereiten

Die Vorbereitungen können wahlweise über den phpMyAdmin oder den mysql-Client via ssh durchgeführt werden.
Hierzu müssen folgende SQL-Statements abgesetzt werden:

CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY '123Polizei!'; 
GRANT ALL PRIVILEGES ON Nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY '123Polizei!'; 
FLUSH privileges;

1. Vorbereitung über phpMyAdmin

Man loggt sich mit dem bei der Installation der Datenbank vergebenen root-User-Passwort in phpMyAdmin ein. Dann erstellt man einen neuen Benutzer, dieser sollte ausschließlich von Nextcloud genutzt werden und auch nur Zugriff auf die Nextcloud-Datenbank haben.

Hierzu im Reiter SQL die Statements einfügen und ausführen (Go oder OK):

Wenn das Ergebnis anschließend wie folgt aussieht, war die Aktion erfolgreich.
Die Fehlermeldungen bzgl. der nicht ausgewählten Datenbank kann man ignorieren, diese gibt es zu diesem Zeitpunkt noch nicht.

Damit wäre die MariaDB schon mal vorbereitet.

2. Vorbereitung via SSH

Mit dem Administrator-Benutzer der DiskStation eine SSH-Session erstellen.

Nun eine root-Sitzung auf die MariaDB öffnen unter Angabe des bei der MariaDB-Installation vergebenen root-Passworts.

mysql -u root -p

Anschließend die SQL-Statements ausführen und wenn das Ergebnis wie folgt aussieht ist die MariaDB vorbereitet.

Durch zweimalige Eingabe von exit beendet man Datenbank- und SSH-Sitzung.

Datenverzeichnis der Nextcloud

Die Nextcloud hat für die Benutzer-Dokumente ein eigenes Datenverzeichnis. Standardmäßig befindet sich dieses unterhalb der Document-Root des Webservers. Im Falle der DiskStation befände sich dieses also unterhalb von /volume1/web/nextcloud und heißt data .

Geschützt durch die Parameter der .htaccess-Datei, sollten die Benutzer-Daten eigentlich auch vor direktem Zugriff geschützt sein. Jedoch stellt die Position der Daten per se ein Risiko dar, weshalb die Nextcloud-Entwickler auch eine Aufbewahrung der Dateien außerhalb der Document-Root des Webservers vorgesehen haben.

Folgend wird jetzt das Datenverzeichnis vorbereitet.
Dazu in der Systemsteuerung der DiskStation die Anwendung Freigegebener Ordner starten und einen Ordner ncdata erstellen. Bei der Erstellung auf alle Extra-Dinge wie z.B. Papierkorb oder Verschlüsselung verzichten.

Bei der Zusammenfassung sollte der Ordner dann wie folgt aussehen.

Da der Apache Webserver diesen Ordner lesen sowie beschreiben können muss, können wir innerhalb des Erstellung-Assistenten gleich die http-Gruppe auf diesen Ordner berechtigen. Dazu den Fokus von lokale Benutzer auf lokale Gruppen umstellten und der Gruppe http durch setzen des Hakens Benutzerdefiniert sowohl Lese- und Schreibberechtigung zuordnen, als auch die Rechte zum Ändern von Berechtigungen.

Nun verbinden wir uns per SSH als Admin-Benutzer mit der DiskStation. In der folgenden Befehlskette wechseln wir in das ncdata-Verzeichnis und erstellen als http-Benutzer den Unterordner für die Nextcloud-Benutzerdaten.
Zum Abschluss machen wir noch einen Test, inwiefern die Berechtigung passt als Benutzer nobody. Dieser Benutzer sollte keinen Zugriff auf den Ordner haben.

cd /volume1/ncdata
sudo -u http mkdir data
sudo -u http chmod 770 data

Zum Abschluss auch der Test, ob die Berechtigung sitzt

sudo -u nobody ls

Wenn jetzt „ls: cannot open directory .: Permission denied“ erscheint ist alles richtig. Wird einem jedoch das Verzeichnis aufgelistet, dann ist die Berechtigung falsch.

Nun kann man das Terminal schließen oder minimieren.

Apache-Webserver / PHP 8.2

Als nächstes wird der Apache-Webserver sowie PHP 8.2 vorbereitet. Hier werden im groben folgende Schritte durchgeführt:

  • Anlegen des PHP-Profils angepasst für die Nextcloud
  • Erstellung eines Webdienstes
  • Erstellung des Webportals (Veröffentlichung der Nextcloud)

Im ersten Schritt wird das PHP 8.2-Profil für die Webstation vorbereitet. Hierzu die Webstation öffnen und zu den Skript-Spracheinstellungen wechseln.

Anschließend gelangt man mit Erstellen in den Assistenten für das neue PHP 8.2-Profil der Nextcloud.

Nun beginnen wir mit der Anpassung der PHP-Umgebung. Hierzu wählen wir PHP 8.2 als PHP-Version aus. Hier die folgenden Punkte, die verändert werden müssen:

  • PHP-Cache aktivieren
  • Benutzerdefiniertes PHP open_basedir
    Da das Verzeichnis der Benutzerdaten außerhalb der Document-Root liegen wird, müssen wir dessen Pfad in den Basis-Pfad mitaufnehmen. Dies geschieht, indem wir dem vorhandenen Pfad-String, den Verweis zum neuen Verzeichnis hinzufügen mit :/volume1/ncdata/data .

Nun müssen die folgenden PHP-Module (Erweiterungen) aktiviert werden:

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

Die FPM-Einstellungen belassen wir im Standard.

Bei den Kerneinstellungen sollten die folgenden Punkte angepasst werden

  • memory_limit=1024M (empfohlen 2048M, wenn die DiskStation über mehr als 2GB RAM verfügt)
  • post_max_size=16G
  • upload_max_filesize=16G

In der Zusammenstellung kann man abschließend nochmals alles kontrollieren und dann das PHP-Profil anlegen.

Im folgenden erstellen wir den Webdienst, die Laufzeitumgebung für unsere Nextcloud. Hierzu innerhalb der Webstation auf Webdienst wechseln und auf Erstellen klicken.


Nun den Punkt native Skript-Sprachen auswählen, inkl. der für die Nextcloud 27 empfohlene PHP-Version 8.2 und unser hierfür angelegtes Profil „Nextcloud PHP 8.2“.

Nun einen Namen für unseren Webdienst vergeben, in diesem Beispiel nextcloud, den Ordner für die Nextcloud unterhalb des Ordners Web erstellen und als Webserver den Apache HTTP Server 2.4 auswählen.

Die Timeouts vorsorglich auf 600 Sekunden erhöhen, für den Fall, dass eine Anfrage mal etwas länger dauert.

Abschließend kann man in der Zusammenfassung nochmals alle Werte überprüfen und muss noch der HTTP-Gruppe noch Zugriff auf den neuen Ordner gewähren.

Jetzt sollte in der Webdienst-Übersicht unsere Nextcloud auftauchen.

Als letzter Schritt erstellen wir das Webportal für die Veröffentlichung der Nextcloud-Installation. Hierzu innerhalb der Webstation auf Webportal wechseln und auf Erstellen gehen.


Als Portaltyp Webdienstportal auswählen.

Nun wählen wir als Dienst unsere Nextcloud aus.
Beim Portaltyp würde ich Namensbasiert empfehlen. Denn diese Einstellung ermöglicht uns, ohne Änderungen an den HTTP-/HTTPS-Ports, weitere Web-Anwendungen auf der Synology parallel zur Nextcloud laufen zu lassen.
Der Webserver liefert in diesem Beispiel beim Aufruf der Seite nextcloudbeispiel.local die Nextcloud-Instanz. Beim Aufruf von z.B. wordpress.local würde der Webserver die gehostete WordPress-Installation liefern.

Voraussetzung damit das funktioniert: Es wird zumindest ein lokaler Hosteintrag in der /etc/hosts erstellt bzw. für den Echtbetrieb entsprechende DNS-Einträge erstellt.

Zur Erhöhung der Sicherheit aktivieren wir noch für HTTPS das HSTS.

Unter den Portalen sollte nun die von uns erstellte Nextcloud auftauchen.

Installation der Nextcloud

In diesem Abschnitt werden die folgenden Arbeitsschritte durchgeführt:

  • Herunterladen und entpacken der Nextcloud-Dateien
  • Anpassung der Ordner-Berechtigungen
  • Ausführung des Installations-Assistenten
  • Nacharbeiten

Als erstes meldet man sich per SSH als admin an der DiskStation an. Anschließend wechselt man in die Document-Root des Webservers.

cd /volume1/web

Wenn man jetzt die Berechtigung des nextcloud-Ordners betrachtet (ls -lh), so stellt man fest, dass diese Nichts mit den Empfehlungen des Handbuchs zu tun hat. Also, zu root werden und weg mit dem Ordner!

sudo su -s /bin/bash -
cd /volume1/web
rm -rf nextcloud

Nun laden wir die Nextcloud-Installationsdateien herunter.

wget https://download.nextcloud.com/server/releases/latest.zip

Leider kennt die Synology auf der Kommandozeile kein unzip. Aus diesem Grund öffnen wir die File Station-Anwendung und wechseln in den web-Ordner. Dort sehen wir das Zip-Paket, rechte Maustaste Extrahieren ==> Hier Extrahieren

Nach einem kurzen Moment sind die Dateien entpackt.

Nun mit den folgenden Befehlen den Webserver als Eigentümer festlegen und die empfohlenen Berechtigungen einrichten.

chown -R http:http nextcloud
find ./nextcloud -type d -exec chmod 755 {} \;
find ./nextcloud -type f -exec chmod 644 {} \;

…der dauert ein bisschen!

Jetzt wird es Zeit, die Früchte unserer Arbeit zu ernten. Mit dem Browser auf die Webportal-Url, in diesem Fall nextcloudbeispiel.local und los geht‘s!

  • Benutzername und Passwort für den Nextcloud-Admin
  • Datenverzeichnis /volume1/ncdata/data
  • Datenbank-Anbindung
    • Username
    • Passwort
    • Name der Nextcloud-Datenbank
    • Anbindung über Unix-Socket localhost:/run/mysqld/mysqld.sock
    • Ich installiere immer ohne die empfohlenen Apps und installiere das benötigte Feature bei Bedarf nach.

Werte eingeben und Installation abschließen!

Es kann sein, dass man während der Einrichtungsprozess läuft in einen Browser-Timeout hineinrennt. Dies ist aber kein Grund zur Panik. Einfach warten bis die DiskStation aufhört zu rattern. Ein top auf der Kommandozeile unterstützt einen dabei festzustellen, wann der Installationsprozess abgeschlossen sein könnte.

Nach etwas Zeit und ggf. F5-Drücken im Browser hat man auch schon den Anmeldebildschirm der Nextcloud. Unter dem Punkt Übersicht bekommt man nun auch schon einen ersten Eindruck über den Zustand der Installation.

Nacharbeiten

Unter dem Punkt Übersicht bekommt man nun auch schon den ersten Eindruck über den Zustand der Installation.

Jetzt stehen die Nacharbeiten an.


Punkt 1: die E-Mail-Serverkonfiguration. Diese sind nicht zwingend notwendig, aber nützlich, wenn die Nextcloud z.B. Termin-Einladungen oder Benachrichtigungen versenden soll. Hierzu in die Grundeinstellungen wechseln und die Einstellungen mit gültigen SMTP-Einstellungen versehen.

Damit der E-Mail senden-Test funktioniert, müssen in den persönlichen Einstellungen des Admin-Benutzer-Kontos eine gültige Email-Adresse hinterlegt werden.


Punkt 3 und Punkt 4: keine Standard-Telefonregion festgelegt / kein PHP-Memory-Cache
Also, als root per SSH die Nextcloud config.php bearbeiten

vi /volume1/web/nextcloud/config/config.php

Und die folgende Zeile syntaktisch korrekt einfügen:

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


Punkt 2: Memcache zur Verbesserung der File-Locking-Performance einrichten. Hierfür wird der sog. Redis-Server benötigt. In den in der Einleitung genannten Verlinkungen existieren Anleitungen, wie dieses nach der Installation manuell zu konfigurieren ist.
Da aber die Konfiguration komplett an der DMS-Gui vorbei geht, kann es gut sein, dass diese Einstellungen nach einem DSM-upgrade verloren gehen.
Bei kleineren Instanzen ist der fehlende Redis-Server abgesehen davon verschmerzbar. Daher lasse ich diesen hierbei aus.

Zyklische Wartungsjobs einrichten

Auch bei kleineren Nextcloud-Installationen ist es ratsam, die Wartungsarbeiten umzustellen von den AJAX auf einen regelmäßig aufgerufenen Cron-Job.

Als Vorarbeit muss man nun erst herausfinden, wo das PHP-Skript-Profil mit den für die Nextcloud angepassten Einstellungen liegt. Hierfür per SSH anmelden und root werden.

Unter /var/packages/WebStation/etc liegen die verschiedenen PHP-Profile. In dieses Verzeichnis wechseln und rekursiv nach einem Eintrag in unserer Konfiguration suchen, wo wir davon ausgehen können, dass solch einer nur einmal existiert, zum Beispiel 16G für die Upload-Size.

cd /var/packages/WebStation/etc
grep -R "16G"


Dieser lange hexadezimale String ist das, hinter was wir her sind. Diesen nehmen wir in die Zwischenablage und bauen uns daraus folgenden Befehl zusammen:

sudo -u http php82 -c /var/packages/WebStation/etc/php_profile/2808fa8d-7b99-4639-9ca3-1340c223ea3a/conf.d/user_settings.ini --define apc.enable_cli=1 -f /volume1/web/nextcloud/cron.php


Diesen Befehl können wir zum Test als root in der SSH-Session ausführen. Wenn außer ein paar PHP-Warnings Nichts zu sehen ist, dann starten wir innerhalb der DSM Systemsteuerung den Aufgabenplaner und gehen auf Erstellen ==> Geplante Aufgabe ==> Benutzerdefiniertes Skript.

Dieses soll als Benutzer root ausgeführt werden.

Zeitplan:

  • Täglich
  • Start 00:00
  • Wiederholen alle 5 Minuten
  • Letzte Ausführung 23:55



Und kopieren nun unseren zusammengebauten Befehl in die Aufgabeneinstellungen.


Abschließend erstellen wir die Aufgabe und bestätigen den Warnhinweis aufgrund des mit root ausgeführten Skripts.

Zu jeder 5. Minute sollte nun innerhalb der Nextcloud unter Grundeinstellungen die Hintergrund-jobs auf grün stehen.

Aufräumen

Das Zip-Paket mit den Nextcloud-Dateien in der Document-Root des Webservers kann weg.
PhpMyAdmin kann deinstalliert werden, ebenso sowie PHP-8.0.

So, jetzt läuft das Ding erst mal rund! Und wenn man sich an den Zertifikatswarnungen nicht stört, so kann man auch gleich loslegen.
Für diejenigen, die sich an den Warnungen stören: Die DiskStation hat einen Let‘s encrypt-Client, der wirklich leicht zu konfigurieren ist. Dieser Tauscht auch gleich die Zertifikate im Webserver aus.

Viel Spaß beim Nachmachen!

35 Kommentare

  • Wo muss ich denn die Hosts anlegen? Konnte alles nachvollziehen nur das mit den Hosts nicht. Wenn ich nextcloudbeispiel.local aufrufen will, kommt nix

    Antworten
  • Leider laufe ich im Browser immer auf den Fehler 500, wenn ich nach o.g. anleitung vorgehe. Habe das ganze jetzt schon5 mal durchgespielt. Webstation, Maria, PHP etc schon mehrfach neu installiert. Nutze DSM 7.2.1-69057 Update1

    Antworten
    • Hi,

      beim welchem Schritt läufst Du denn gegen den 500er Fehler?
      Noch vor dem letzten Schritt bei „Installation der Nextcloud“, wo man auf „Installieren“ klickt?
      Wenn ja, dann prüfe mal deine aktivierten PHP-Module, inwiefern die alle vollständig sind.

      Wenn es während der Initialisierung passiert, d.h. die Synology rattert los und irgendwann erscheint der 500er-Fehler, dann ist das ein Timeout des Webservers.
      In diesem Fall warte bis das rattern aufgehört hat (kann gute 5 Minuten dauern) und drücke im Browser nochmals die F5.
      Dann sollte der Anmeldebildschirm erscheinen.

      Ansonsten, einfach nochmals schreiben.

      Viele Grüße

      Antworten
  • Moin und vielen Dank für das HowTo. Soweit habe ich Nextcloud zum laufen bekommen.
    1. Allerdings funktioniert Cron mit folgender Fehlermedlung nicht:
    OCP\HintException: [0]: Memcache OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)
    2. Was muss ich ändern, damit Nextcloud von Außen erreichbar ist.
    Ich stecke leider nicht so tief in der Marterie, daher meine Fragen.
    Vielen Dank für eine Antwort
    W.-D. Porthaus

    Antworten
    • Hallo Herr Porthaus,
      zu 1.: Bitte überprüfen Sie, dass der Befehl für den Cron-Job wie folgt sieht:
      sudo -u http php82 -c /var/packages/WebStation/etc/php_profile/2808fa8d-7b99-4639-9ca3-1340c223ea3a/conf.d/user_settings.ini –define apc.enable_cli=1 -f /volume1/web/nextcloud/cron.php

      Wobei die ID 2808fa8d-7b99-4639-9ca3-1340c223ea3a, durch die Ihres Profils ersetzt wird.

      Zu 2. Wie Sie die Nextcloud aus dem Internet aus erreichbar machen, sehen Sie hier.

      Bei Rückfragen, einfach nochmals melden.
      Viel Erfolg!

      Antworten
      • Hallo! Erst einmal vielen Dank für das ausführliche und gut verständliche Tut. Ich komme an diesem Punkt nicht weiter. Habe in das Script von dir meine ID eingebaut. Ich erhalte erwartungsgemäß die von dir angesprochenen Warnings. Jedoch wird der Prozess nicht abgeschlossen. Muss mit Strg+C abbrechen.
        Hast du einen Tipp für mich? Vorab vielen Dank!

        Antworten
        • Moin! Den Effekt hatte ich selbst noch nicht.
          Aber ich hatte bereits je nach Diskstation, dass das Skript eine ganze Weile läuft. Das kann also mal gut 5 Minuten gehen.
          Des weiteren sollten die Hintergrundjobs bereits auf Cron umgestellt sein, damit sich die Jobs nicht gegenseitig blockieren.
          Ich würde es pragmatisch angehen. Den fertigen Command in die geplanten Aufgaben hinzufügen und wenn alle 5 Minuten die Nextcloud anzeigt, dass die Jobs gelaufen sind, ist alles in Ordnung.
          Ansonsten gerne nochmals schreiben.
          Grüße und viel Erfolg!

          Antworten
  • Moin, erstmal vielen Dank für das Howto. Ich habe Nextcloud nach deinen Vorgaben installiert und es funktioniert auch.
    1. Wie ändere ich folgende Meldung:
    Failed to set memory limit to 2048 bytes (Current memory usage is
    2097152 bytes) in Unknown on line 0
    oder einfach übergehen?
    2. Wie kann ich zukünftig auf Nextcloud von Außen erreichen.

    Kenne mich nur wenig mit Terminalbefehlen und dem eigentlichen Linuxsystem aus. Daher meine Frage.
    Vielen Dank für deine zukünftige Antwort. Es ist möglich, dass du bereits eine Email in gleicher Sache erhalten hast. Die war hier plötzlich verschwunden.
    LG Wolf-Dieter Porthaus

    Antworten
    • Hallo Wolf-Dieter,

      zu 1.: Wenn ich die Fehlermeldung richtig interpretiere, dann hast Du beim Erstellen des PHP-Profils das Memory-Limit auf 2048 gesetzt, was 2048 Bytes bedeutet und nicht auf 2048M. Also, den Wert memory_limit auf 2048M setzen.

      zu 2.: Siehe Link in letzter Antwort.

      Bei Rückfragen, einfach wieder schreiben.
      Viele Grüße und viel Erfolg!

      Antworten
      • hallo, ich hänge leider beim einrichten des cron jobs und möchte überprüfen ob ich das memory_limit korrekt hinterlegt habe. Wo kann ich das nachvollziehen? Alles andere läuft bereits und ich möchte es nicht neuaufsetzen.

        Antworten
        • Hi Philipp,

          relativ einfach, in der erstellten PHP-Laufzeitumgebung für die Nextcloud steht das memory_limit drin.
          Wichtig! Wenn Du auf der Kommandozeile nur php8.2 und die ausführende Datei eingibst, zieht er nicht das richtige Profil an.
          Deswegen den ganzen üppigen command php82 -c /var/packages/WebStation... aufrufen.
          Wie man das richtige Webstation-Profil findet, steht kurz vorher.

          Viele Grüße

          Thorsten

          Antworten
  • Ich nochmal. Den Punkt 1. zu Cron in der 1. Email kannst du übergehen. Hatte einen Eingabefehler. Anschließend kam die Fehlermeldung aus Email 2, auch wenn nun der Cron-Job nun gestartet ist.

    Antworten
    • Hallo Wolf-Dieter,

      also, wenn der Eintrag im PHP-Profil für das memory-Limit fehlerhaft ist, dann fällt auch der Aufruf über Cron-Job auf die Nase.
      Dort ziehst Du ja das PHP-Profil über den Parameter „… -c /var/packages/WebStation/etc/php_profile/2808fa8d-7b99-4639-9ca3-1340c223ea3a/conf.d/user_settings.ini …“ an.
      Wenn das Memory-Limit richtig gesetzt ist, sollte auch der Cron-Job funktionieren.

      Viele Grüße!

      Antworten
    • Hi,

      es freut mich sehr, wenn meine Anleitung hilfreich war. Dann wünsche ich viel Spaß mit Deiner Nextcloud!

      Viele Grüße

      Antworten
    • Moin, wenn ich die Fehlermeldung richtig interpretiere, dann ist etwas bei dem Teil, wo der Eigentümer der Nextcloud-Installationsdateien abgeändert wird (chown -R http:http nextcloud), etwas schiefgelaufen.
      Die config.php gehört der ID 1026, welche bei mir der DiskStation-Admin ist.
      Gehören sollte sie aber dem Webserver user http mit der ID 1023.
      Ich würde nochmals den Teil mit der Besitz- und Berechtigungsänderung erneut durchführen.
      Viele Grüße

      Antworten
  • Hallo.

    Ich komme auch nicht weiter.
    Ich komme bis zum Entpacken der Nextcloud. Danach soll man ja die Seite aufrufen. Dies geht aber nicht. Ich gebe https://nextcloudbeispiel.local/ ein und die Seite wird mir nicht angezeigt diese lädt nur die ganze Zeit.
    Hosts Datei habe ich Manuell eingegeben unter Windows unter dem Pfad wo die Hosts Datei ist:

    Ein kleiner Ausschnitt:

    # localhost name resolution is handled within DNS itself.
    # 127.0.0.1 localhost
    # ::1 localhost
    # 192.168.178.27 nextcloudbeispiel.local

    Das sollte ja normal reichen oder?

    Muss ich noch Ports freigeben? Normale Webstation Anwendungen funktionieren. Bsp. wenn ich als Benutzer ein Templates einfüge kann ich diese per Webstation oder Eingabe aufrufen im Browser.

    Antworten
    • Moin und nachträglich frohe Weihnachten,
      ich habe schon diverse Fehler in Kombination mit der Nextcloud produziert, aber dass eine Seite kontinuierlich lädt und nichts passiert ist eher merkwürdig.
      Wenn Du exemplarisch Webanwendungen parallel zur Nextcloud installierst und diese per HTTPS aufrufen kannst, dann sollte auch die Nextcloud tun oder zumindest einen konkreten Fehler werfen. Aus diesem Grund würde ich auf die Firewall der DiskStation erst einmal nicht tippen. Aber klar, sofern die Firewall aktiv ist, TCP-Port 80 für HTTP und TCP-Port 443 für HTTPS sollten geöffnet sein.

      Wichtig ist, dass Du nach dem entpacken, Eigentümer und Berechtigungen der entpackten Dateien/Ordner anpasst, bevor Du versuchst die Nextcloud aufzurufen.
      chown -R http:http nextcloud
      find ./nextcloud -type d -exec chmod 755 {} \;
      find ./nextcloud -type f -exec chmod 644 {} \;

      Und ping mal nextcloudbeispiel.local an, um zu prüfen, ob der Eintrag der Hosts-Datei auch korrekt greift.
      Bei Rückfragen, einfach melden.

      Viele Grüße

      Antworten
    • In der hosts-Datei musst Du bei
      # 192.168.178.27 nextcloudbeispiel.local
      das #-Zeichen am Anfang entfernen. Dieses sorgt dafür, dass die Zeile als Kommentar gewertet wird und ignoriert wird. Du musst also folgendes in der Datei stehen haben.
      192.168.178.27 nextcloudbeispiel.local

      Antworten
  • Ein gutes und fröhliches neues Jahr wünsche ich!

    Erstmal besten Dank für das klasse Tutorial, ich habe meine Nextcloud an sich und auch aus dem Internet erreichbar zum Laufen gebracht.

    Ich habe leider noch 2 Fahlermeldungen:
    Das PHP OPcache-Modul ist nicht richtig konfiguriert. Weitere Informationen findest du in der Dokumentation ↗.
    Der OPcache-Zwischenspeicher für interne Zeichenfolgen ist fast voll. Um sicherzustellen, dass sich wiederholende Zeichenfolgen effektiv zwischengespeichert werden können, wird empfohlen, opcache.interned_strings_buffer mit einem Wert größer als 8 in deiner PHP-Konfiguration anzuwenden.

    Hier wäre wohl das Vorgehen, mit nano die php.ini zu editieren, ich bin mit ssh als root auf der Synology angemeldet und es kommt die Meldung: nano: command not found.
    1. Ich bin mir sicher, dass ich den nano im Installationsprozess mehrfach genutzt habe? Oder irre ich da (aktuelles MacOS)
    2. Ist für PHP 8.2 die ini unter /etc/php/php.ini richtig?

    Und ist dieser Fehler: Die Datenbank wird für transaktionale Dateisperren verwendet. Um die Leistung zu verbessern, konfigurieren Sie bitte Memcache, falls verfügbar. Weitere Informationen findest du in der Dokumentation ↗.
    … auch zu beheben?

    Besten Dank im voraus!
    K. G. aus Hamburg

    Antworten
    • Moin und viele Grüße zurück nach Hamburg.
      Alleine, da schon der Fehler bzgl. dem OPcache-Modul kommt, denke ich, dass bei dem Teil, bei dem das PHP-Profil eingerichtet wurde, etwas schief gelaufen ist oder das PHP-Profil der Nextcloud wurde der Web-Anwendung nicht zugewiesen.
      Auch wenn dem nicht so ist, die php.ini wird nicht direkt editiert, sondern die entsprechenden Parameter werden innerhalb der Webstation, bei den PHP-Skripteinstellungen angepasst, siehe bei der Anleitung unter Apache-Webserver / PHP 8.2.
      …und auf meiner Diskstation gibt es nur den vi.
      Bei Rückfragen, einfach schreiben.
      Viele Grüße!

      Antworten
  • Hallo,
    bei hat alles auf Anhieb funktioniert. Auch die Veröffentlichung aus dem anderen HowTo.
    Herzlichen Dank, für die erstklassige Dokumentation zum Einrichten von NextCloud auf
    einem Synology-Storage.

    Viele Grüße

    Antworten
    • Hallo,
      freut mich wenn alles soweit funktioniert hat.

      Viele Grüße und viel Spaß mit der Nextcloud!

      Antworten
  • Hallo,

    Dank deiner Anleitung hat die Installation super funktioniert.
    Leider habe ich den fatalen Fehler gemacht und habe die 2FA aktiviert. Leider wurde sie aber noch nicht eingerichtet, wodurch ich mich ausgesperrt habe. Wie kann ich die Aktivierung zurücksetzen?

    Viele Grüße

    Tobias

    Antworten
    • Hallo Tobias,

      ich nutze die 2FA nicht. Für den Fall, dass Du noch nicht selbst fündig geworden bist, hier ein Artikel direkt von Synology.

      Ich wünsche Dir viel Erfolg.

      Gruß

      Thorsten

      Antworten
  • Hallo.
    Vielen Dank für diese erstklassige Anleitung zur Installation von Nextcloud mit einem Synology DSM.
    Es hat alles wunderbar geklappt und funktioniert auch soweit.
    Leider habe ich aber diese Sicherheitswarnung…
    „Fehler beim Überprüfen des temporären PHP-Pfads – er wurde nicht ordnungsgemäß auf ein Verzeichnis festgelegt. Zurückgegebener Wert: /var/services/tmp“
    Was könnte ich tun?
    Viele Grüße aus Hessen
    ANSOMI

    Antworten
    • Hi,

      sieht für mich so aus, als wäre etwas beim Kopieren der Pfade bei der Erstellung des neuen PHP-Profils schiefgelaufen.
      Ich würde nochmals den Schritt innerhalb des Videos bei ab Zeitcode 06:00 prüfen.
      Einfach schreiben, ob es geklappt hat.

      Viele Grüße

      Thorsten

      Antworten
      • Hallo.
        Vielen Dank für die schnelle Antwort.
        Hatte tatsächlich nicht den kompletten Pfad wie im Video angegeben.
        Jetzt klappt ALLES !
        Schöne Feiertage noch.

        VG ANSOMI

        Antworten
  • Hi there,
    Appreciate the work. Succesfully installed Nextcloud and made it available via internet.

    However, I can’t figure out how to gett `occ` working.

    De admin overview comment is:
    Detected some missing optional indices. Occasionally new indices are added (by Nextcloud or installed applications) to improve database performance. Adding indices can sometimes take awhile and temporarily hurt performance so this is not done automatically during upgrades. Once the indices are added, queries to those tables should be faster. Use the command `occ db:add-missing-indices` to add them. Missing indices: „systag_by_objectid“ in table „systemtag_object_mapping“.

    Where and how do I use the `occ db:add-missing-indices` command?

    Antworten
    • Hi Steven,
      just like doing the maintenance job near the end of my howto. Inside the ssh session, switch to the http user, change the working directory to the nextcloud and type:
      php82 -c /var/packages/WebStation/etc/php_profile/2808fa8d-7b99-4639-9ca3-1340c223ea3a/conf.d/user_settings.ini –define apc.enable_cli=1 occ db:add-missing-indices

      Please change the web profile id and the php version according to your individual installation.

      Regards,

      Thorsten

      Antworten
  • Hallo Thorsten,

    auf welcher Synology hast Du denn die Installation durchgeführt? Ich versuche nämlich seit Tagen über portainer bzw. docker nextcloud zu installieren. Nun sagt man mir, meine Synology DS224+ wäre dazu nicht geeignet, da die CPU keinen AVX Support anbietet.
    Gruß aus dem Schwabenländle
    easychrissi

    Antworten
    • Hi Easychrissi,
      ich muss zur meiner Schande gestehen, ich betreibe lediglich eine emulierte DiskStation via XPEnology auf einem KVM-Host. Damit kann ich Kundenanforderungen simulieren und eine entsprechende Empfehlung bzgl. einer geeigneten DiskStation geben.
      Zur Frage: Also die DS224+ hat eine Intel Celeron CPU. Wenn der Fokus auf Container liegt, sollte man laut den Foren eine DS mit AMD CPU haben.
      Aber! Die Nextcloud wurde erst im Nachhinein „dockerized“. Das merkt man ihr an so vielen Stellen an, dass ich mich dazu entschlossen habe, das traditionelle LAMP-Setup auf der Synology weiterzubetreiben.

      Daher meine Empfehlung: Betreibe die Nextcloud lieber gemäß meiner angestaubten Installationsanleitung. Da ist auch ein Fehlerfall deutlich besser zu handeln, als in der containerisierten Variante.
      Aber ich unterstütze dich auch gerne beim Vorhaben, die Nextcloud via Docker zum Fliegen zu bekommen. Hier würde ich jedoch versuchen, diese via docker-compose hochzuziehen.

      Bei Rückfragen, einfach melden.

      Viele Grüße

      Thorsten

      Antworten

Schreibe einen Kommentar zu Ansomi Antworten abbrechen

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