Nextcloud 17 unter Plesk installieren

Was ist Nextcloud?

Nextcloud ist eine freie Software für das Speichern von Daten (Filehosting) 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.

Info! Es gibt bereits eine neuere Version. Hier geht es zur neuen Version

Installation

Subdomain erstellen & Vorbereitungen treffen

In Plesk unter Domains -> Subdomain hinzufügen, erstellen Sie eine Subdomain.





Anschließend öffnen Sie die erstellte Subdomain und gehen in den File Manager. Jetzt löschen Sie die erstellten Beispieldateien.



Webinstaller hochladen

Jetzt laden Sie die Datei setup-nextcloud.php hoch. Diese erhalten Sie entweder auf der Herstellerseite oder hier in der Download Sektion.


Datenbank erstellen & Vorbereiten

In der Subdomain erstellen Sie im Reiter Datenbanken mit der Auswahl Datenbank hinzufügen eine Datenbank. Im darauffolgenden Fenster, geben Sie einen Datenbanknamen sowie Benutzer und ein Passwort für die Datenbank ein.



Ist die Datenbank nun erzeugt, öffnen Sie diese mit dem Button phpMyAdmin in der Datenbankübersicht. Hier angekommen, wird die Datenbank Kollation unter Operationen geändert auf utf8mb4_bin. Diese Änderung wenden Sie auf alle Tabellen und Spalten an.



PHP-Einstellungen

In den PHP-Einstellungen der Subdomain müssen noch einige Einstellungen getätigt werden, damit ein Fehlerfreier Betrieb stattfinden kann. Dazu rufen Sie diese in der Subdomain Übersicht auf und gehen zu den PHP-Einstellungen.


Nextcloud benötigt min. 128MB Arbeitsspeicher, empfohlen wird 512MB. Deshalb passen Sie das memory_limit entsprechend an.

Unter disable_functions tippen Sie none ein. Dies ist Notwendig, da sonst eine Fehlermeldung bezüglich des OPCache's auftritt. Unter open_basedir ergänzen wir den Eintrag am ende mit :/dev/urandom:/proc/meminfo.


In den PHP-FPM-Einstellungen ergänzen wir folgende Einstellungen (Je nach Server kann hier eine andere Konfiguration gewählt werden):


pm.max_children 120
pm.max_requests 200
pm dynamic
pm.start_servers 12
pm.min_spare_servers 6
pm.max_spare_servers 18


Ausrechnen der pm.max_children: How to calculate pm.max_children value? – Plesk Help Center


Als Zusätzliche Anweisungen fügen wir folgenden Code hinzu:


PHP: Zusätzliche Konfigurationsanweisungen
opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

System environment variables

PHP: Zusätzliche Konfigurationsanweisungen
[php-fpm-pool-settings]
env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

env[PATH] herausfinden:

  • über die CLI können Sie mit dem Befehl env oder printenv herausfinden welcher Pfad der richtige ist.

Einstellungen für Apache & nginx

In der Übersicht der Subdomain, gehen Sie in die Apache & nginx Einstellungen. Wollen Sie einen reinen NGINX als Webserver, müssen Sie den haken bei Proxymodus entfernen. In beiden fällen, ergänzen Sie die Zusätzlichen nginx-Anweisungen.


Lesen Sie sich die auskommentierten Felder durch ggf. ergänzen Sie die Einstellungen.

Webinstaller ausführen & Nextcloud installieren

Nun können Sie die Datei setup-nextcloud.php mit Ihrem Browser öffnen, indem Sie ihre zuvor erstellte Subdomain aufrufen.


z.B. https://nextcloud.domain.tld/setup-nextcloud.php


Haben Sie die Adresse aufgerufen, folgen Sie dem Assistenten und halten Sie die Zugangsdaten der Datenbank bereit.






Redis-Server installieren & Nextcloud config.php anpassen

Installation

Loggen Sie sich mit PuTTY oder einem anderen SSH-Client (ich bevorzuge MobaXterm (MobaXterm free Xserver and tabbed SSH client for Windows)) auf Ihrem Server ein. Hier angekommen, müssen Sie das build-essential sowie das tcl wget Paket herunterladen und installieren. Diese zwei Pakete werden für die weiteren Schritte benötigt.


Code: Schritt 1
apt-get install build-essential
apt-get install tcl wget


Code: Schritt 2
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable/
make distclean
make
make test
make install


Code: Schritt 3
cd utils/
./install_server.sh


Code: Schritt 4
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf && sysctl -p
echo never > /sys/kernel/mm/transparent_hugepage/enabled


Code: Schritt 5
systemctl start redis_6379
2. # systemctl status redis_6379

Redis testen

Code
redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>

Der Redis ist nun Einsatzbereit. Nun muss die config.php von Nextcloud angepasst werden. Hierfür öffnen Sie in Plesk den File Manager der Subdomain und navigieren in den Ordner config. Öffnen Sie jetzt die config.php und ergänzen Sie die Eintragung mit:


Code
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'memcache.local' => '\\OC\\Memcache\\Redis',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => 6379,
),

Nun läuft die Cloud mit dem Redis.


In der Verwaltungsübersicht sollten alle Überprüfungen bestanden sein.


Cronjob anlegen & Nextcloud Einstellungen anpassen.

In der Subdomain Übersicht können Sie unter dem Reiter Geplante Aufgaben (Rechte Seitenleiste) einen Cron anlegen. Hierfür fügen Sie eine Aufgabe hinzu (URL abrufen) und geben als Adresse ihre Nextcloud Instanz mit dem zusatz zur Cron.php an.



Scriptpfad: nextcloud.domain.tld/cron.php
Cron-Stil */5 * * * *


Anschließend wird alle fünf Minuten der Cronjob ausgeführt.


Anschließend kehren Sie in die Nextcloud Verwaltung zurück und gehen auf Grundeinstellungen hier wählen Sie als Hintergrund-Aufgabe Cron aus.



Nun ist Ihre Cloud fertig eingerichtet.



Dokumentationen:


Server tuning — Nextcloud latest Administration Manual latest documentation

Installation on Linux — Nextcloud latest Administration Manual latest documentation

Nginx configuration — Nextcloud latest Administration Manual latest documentation

Über den Autor

Hallo mein Name, ist Mark, ich bin IT-Spezialist im Fachbereich der IT-Administratoren. Mir macht es sehr viel Spaß, Anleitungen im Bereich der Informationstechnologie zu erstellen. Dabei achte ich darauf, dass diese für jeden nachvollziehbar gestaltet werden. Ich hoffe, ich kann dem ein oder anderen weiterhelfen.

Mark Team

Kommentare 2

  • Moinsen,


    Danke für die Anleitung, die auch mal funktioniert !!