Nextcloud 17 unter Plesk Obsidian mit reinem NGINX installieren

Was ist Nextcloud?

Quote

Nextcloud ist eine freie Software für das Speichern von Daten auf einem eigenen Server. Bei Einsatz eines Clients wird der Server automatisch mit einem lokalen Verzeichnis synchronisiert. Dadurch kann von mehreren Rechnern, aber auch über eine Weboberfläche, auf einen konsistenten Datenbestand zugegriffen werden. Im Gegensatz zu kommerziellen Speicherdiensten wie Dropbox oder OneDrive kann Nextcloud auf einem privaten Server oder Webspace ohne Zusatzkosten installiert werden. Dadurch behält man die vollständige Kontrolle über seine Daten und die Bedenken gegenüber einem Datenmissbrauch werden minimiert.

Voraussetzungen

  • root zugriff via SSH
  • Redis Server

Installation

Da ich in einem anderen Tutorial den Redis-Server vorgestellt habe, werden wir diesen als Ausgangslage verwenden.


Subdomain erstellen

Wir loggen uns in unsere Plesk Onyx - Weboberfläche ein und navigieren zu dem Reiter Domains. Anschließend klicken wir auf "Subdomain hinzufügen".




Nachdem wir einen Namen vergeben haben, lassen wir uns natürlich für diese Subdomain auch ein Zertifikat (Let's Encrypt) erstellen.



Ist die Subdomain angelegt und mit einem Zertifikat gesichert, klicken wir darauf und öffnen den "File Manager".



Hier können wir beruhigt alle Daten, die Plesk angelegt hat, löschen. Jetzt müssen wir den Nextcloud Webinstaller herunterladen. Nachdem das PHP Skript heruntergeladen ist, übertragen wir dieses über den "File Manager" in das Hauptverzeichnis der Subdomain.



Wollt ihr den Webinstaller von der offiziellen Seite herunterladen, müsst ihr die PHP-Datei noch bearbeiten. Ändert hier in Zeile 31 folgendes ab:

Code
  1. // Nextcloud version
  2. define('NC_VERSION', '17.0.0');


In den Apache/NGINX Einstellungen der Subdomain, stellen wir unter Additional nginx directives ein:


Unter den NGINX Einstellungen, entfernen wir den haken bei Proxy Modus und Statische Dateien direkt über NGINX bedienen. Anschließend wechseln wir zu den "PHP-Einstellungen" und ersetzten in dem Reiter OPEN-Base-Dir den Inhalt mit folgendem:

Code
  1. {WEBSPACEROOT}{/}{:}{TMP}{/}:/dev/urandom:/proc/meminfo

In dem Reiter disable_functions löschen wir den Inhalt und geben none ein. Stellt hier auch noch die upload_max_filesize sowie post_max_size ein.


Jetzt werden noch die PHP-FPM Einstellungen angepasst.


PHP-FPM Einstellungen
pm.max_children30
pm.max_requests200
pmdynamic
pm.start_servers3
p,.min_spare_servers2
pm.max_spare_servers4


Anschließend noch in dem Reiter Zusätzliche Konfigurationsanweisungen folgende Parameter einsetzten:

Code
  1. opcache.enable_cli=1
  2. opcache.interned_strings_buffer=8
  3. opcache.max_accelerated_files=10000
  4. opcache.memory_consumption=128
  5. opcache.save_comments=1
  6. opcache.revalidate_freq=1
  7. [php-fpm-pool-settings]
  8. env[PATH] = /usr/local/bin:/usr/bin:/bin

Um das Hochladen großer Dateien zu ermöglichen, müssen wir die nginxClientMaxBodySize von Plesk anpassen, dass geht am einfachsten über die Erweiterung Panel.ini Editor. Hier fügen wir am Ende folgendes hinzu und speichern das ganze ab.

Code
  1. [webserver]
  2. nginxClientMaxBodySize = 2048M




In den Hosting Einstellungen kontrollieren wir die PHP Version und ob FPM direkt von nginx bedient wird.

Datenbank anlegen und vorbereiten

Jetzt muss eine Datenbank in unserer Subdomain für die Installation erstellt werden.



Charset und Collation der Datenbank ändern

Damit auch der richtige Zeichensatz verwendet wird, müssen wir diesen anpassen. Die einfachste Möglichkeit ist über phpMyAdmin. Die Datenbank ändern wir auf utf8mb4 und utf8mb4_bin für alle Tabellen und Spalten.





Wollt ihr dies über die CLI machen, geht ihr wie folgt vor:

Code
  1. plesk db
  2. use DATENBANKNAME
  3. ALTER TABLE Tabellenname CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin

Das muss ggf. mit jeder Tabelle der Datenbank gemacht werden.

Abschluss der Installation

Nach diesen ganzen Einstellungen, haben wir es fast geschafft. Einfach dafür den Browser mit folgender URL öffnen:


https://nextcloud.deineDomain.tld/setup-nextcloud.php


Ab hier könnt ihr den Anweisungen des Installers folgen. Haltet dafür die Daten der eben erstellten Datenbank bereit.


Redis Server

Wir gehen jetzt nochmal in Plesk auf den "File Manager" und öffnen unter /configs die config.php und ergänzen diese mit:

Code
  1. 'memcache.distributed' => '\\OC\\Memcache\\Redis',
  2. 'memcache.local' => '\OC\Memcache\Redis',
  3. 'memcache.locking' => '\\OC\\Memcache\\Redis',
  4. 'redis' => array(
  5. 'host' => 'localhost',
  6. 'port' => 6379,
  7. ),


Jetzt läuft eure eigene Cloud auch mit Redis!

Cronjob anlegen

Um einen Cronjob anzulegen, loggen wir uns in das Plesk Terminal ein. Anschließend Navigieren wir zu der Domain/Subdomain, unter der wir Nextcloud installiert haben. Hier finden wir auf der rechten Seite das Feld Geplante Aufgaben. Unter diesem Menüpunkt, können Cronjobs angelegt und konfiguriert werden.


Sind wir nun im Menü Geplante Aufgaben angekommen, klicken wir auf Aufgabe hinzufügen. Jetzt brauchen wir nur noch folgendes hinzufügen:









Haben wir auch hier alle Einstellungen getätigt, stellen wir in der Nextcloud Umgebung noch auf CRON um.



Fehler und Warnungen beheben

BigInt identifiers

Um diesen Fehler zu beheben, müsst ihr euch via SSH auf euren Server einloggen. Anschließend müsst ihr folgenden Befehl nutzen:

Code
  1. sudo -u NAME_DES_PLESK_KONTOS php /var/www/vhosts/domain.tld/nextcloud.domain.tld/occ db:convert-filecache-bigint

Ihr müsst den Befehl natürlich für euch anpassen.

Bekannte Probleme beim Update auf Version 17

Bitte deaktivieren Sie die App "Group Folder", bevor das Update auf Nextcloud 17 über den Web-Updater durchgeführt wird!


Nach dem Update auf die Version 17 überprüfen Sie, ob die App "Group Folder" auf Version 5.x aktualisiert ist. Wenn nicht, aktualisieren Sie die App manuell. Nach dem App-Update können Sie "Group Folder" wieder aktivieren.


Falls Sie bereits auf dieses Problem gestoßen sind:


Melden Sie sich auf Ihrem Server über ssh an.

Führen Sie den occ-Befehl "upgrade" aus:

sudo -u <web user> php /path/to/nc/occ upgrade

    About the Author

    Ich bin IT-Spezialist im Fachbereich der IT-Administratoren. Ich habe mein Hobby damals zum Beruf gemacht, deshalb beschäftige ich mich auch in meiner Freizeit mit diversen Themen der IT.

    Mark Administrator

    Comments