Nextcloud Hub II (v24) installieren - only CloudPanel v1

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.

Update 06.07.2021 - Major Release Nextcloud 22
Update 16.09.2021
- Fehler in der vHost korrigiert.
Update 01.12.2021 - Major Release Nextcloud 23
Update 05.05.2022 - Major Release Nextcloud 24

Installation

Subdomain erstellen & Vorbereitungen treffen

In CloudPanel unter Domains -> Domain hinzufügen, erstellen Sie eine Subdomain (cloud.example.com).

Damit die Subddomain auch erreichbar ist, denken Sie bitte an die korrekten DNS-Records.

Webinstaller / Archiv hochladen

Jetzt laden Sie die Datei setup-nextcloud.php via FTP/SFTP in das Root Verzeichnis der Domain hoch. Diese erhalten Sie entweder auf der Herstellerseite oder hier in der Download Sektion.

[box='82','none']Nextcloud Downloads[/box]

Datenbank erstellen

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.

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 die Subdomain auf und gehen zu den PHP-Einstellungen.

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

PHP-FPM Pools

Um die PHP-FPM Pools anzupassen, können wir der Dokumentation von CloudPanel.io folgen: Domains | CloudPanel CE | Documentation


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 (Durchschnittswert):

Code
ps --no-headers -o "rss,cmd" -C php-fpm7.4 | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"Mb") }'

Formel:

Code
max_children = freier Arbeitsspeicher VPS / Arbeitsspeicher pro Prozess

Beispiel:

Code
VPS mit 48 GB (49152 MB) Arbeitsspeicher | Durchschnittswert = 50 MB 
max_children = 49152 / 50 = 983.04 (~983)

Somit wäre der optimale wert für diesen Server 983. Aber bitte, übernehmen Sie diesen Wert nicht Blind. Testen Sie Ihre Konfiguration!

Eine Alternative wäre auch diesen Rechner dafür zu nehmen: PHP-FPM Process Caluculator

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

Code: Zusätzliche Konfigurationsanweisung
[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.

Vhost Einstellung

In der Übersicht der Subdomain, gehen Sie in die Vhost Einstellungen. Kopieren Sie die komplette Konfiguration, die Sie hier darunter sehen und ersetzten Sie Ihre Vhost.

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.


Nun muss die config.php von Nextcloud angepasst werden. Hierfür öffnen Sie in Ihrem FTP/SFTP oder via SSH die config/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 nutzt die Nextcloud Instanz, Redis als Memory cache.

Um die Standardtelefonregion hinzuzufügen, muss ein extra Eintrag in der config.php hinzugefügt werden

Code
'default_phone_region' => 'DE',

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

Cronjob anlegen & Nextcloud Einstellungen anpassen.

In der Dashboard Übersicht können Sie unter dem Reiter Cron Jobs einen Cron hinzufügen. Fügen Sie einen neuen Cron Job hinzu und geben als Adresse ihre Nextcloud Instanz mit dem zusatz zur Cron.php an. Im Bild sehen Sie ein Beispiel hierfür.

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


Anschließend wird alle fünf Minuten der Cronjob ausgeführt. Kehren Sie in die Nextcloud Verwaltung zurück und gehen Sie 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

Introduction | CloudPanel CE | Documentation

Über den Autor

Ich bin IT-Spezialist im Fachbereich der IT-Administratoren. Neben Beruf und Familie, erstelle ich als, Teil meines Hobbys, gerne Tutorials, sowie WoltLab Stile. Aktuell befinde ich mich auf meinem Informationstechnikermeister.

Foxly Team

Kommentare