Nextcloud Hub installieren

Im Zeitraum vom 09.04.2024 - 28.03.2025 ist der Support eingeschränkt. In dem genannten Zeitraum, befinde ich mich auf einer Weiterbildung.

Vorbereitung

Sie sollten eine installierte CloudPanel (v2) besitzen. Eine geeignete Anleitung dazu finden Sie hier: CloudPanel v2 installieren!

Des Weiteren sollte Ihr eingesetztes Betriebssystem auf dem aktuellen Stand sein. Führen Sie also ein clp-update aus, damit Sie sicher gehen können, dass CloudPanel und die Zusatzpakete auf dem aktuellen Stand sind. Auch die DNS-Einträge für Ihre Domain/Subdomain sollte korrekt bei Ihrem DNS-Server hinterlegt sowie die Domain auflösbar sein.

Das vHost Template ist bereits für Version 28 angepasst!

vHost-Templates

CloudPanel v2 bietet sogenannte vHost-Templates für verschiedene PHP-Applikation an. Jedoch beziehen sich diese Templates nur auf das Setup genauer gesagt der Grundbetrieb ohne Anpassungen und weitere Einstellungen. Damit Sie jedoch gleich eine fertig konfigurierte vHost haben, die die meisten Szenarien abdeckt, stellen wir Ihnen unser Template zur Verfügung. Um das Template hinzuzufügen, müssen Sie sich via SSH auf Ihren Server einloggen und folgenden Befehl absetzten. Anschließend befindet sich in der Applikationsauswahl das neue Template.

Bash
clpctl vhost-template:add --name='Nextcloud – Foxly IT' --file=https://gist.githubusercontent.com/foxly-it/326aa58f021550bd60f67b4aa3839fa3/raw/936afe5b299b63e12f465fec743298f2bad949ef/Nextcloud%252024%2520-%2520Foxly%2520IT

Domain/Subdomain erstellen

Die Erstellung einer Domain/Subdomain ist sehr simpel gehalten. Loggen Sie sich in Ihrem CloudPanel Webinterface an, navigieren Sie hier zu Webseiten und klicken Sie auf den Button Webseite hinzufügen. Erstellen Sie zudem eine PHP-Site.

Wählen Sie hier, das zuvor erstellte Template unter Application* aus. Geben Sie Ihren Domainnamen an, unter welcher die Nextcloud erreichbar sein soll. Des Weiteren können Sie hier noch den Website-Benutzer anpassen, oder so belassen. Vergeben Sie jedoch ein sicheres Passwort! Belassen Sie die eingesetzte PHP Version auf PHP 8.1. Klicken Sie nun auf Erstellen und schließen Sie damit die Einrichtung einer neuen Webseite ab. Sie werden im Anschluss automatisch auf den Reiter Webseiten weitergeleitet.

Domain Einstellungen

PHP-Einstellungen

Für den Einsatz der Nextcloud wird eine Speichergrenze von 512 MB empfohlen. Passen Sie die weiteren Werte nach Ihren Bedürfnissen an. Oder nehmen Sie unser Beispiel:

Datenbank erstellen

Klicken Sie, um eine Datenbank zu erstellen, auf den Reiter Datenbanken und hier auf Datenbank hinzufügen. Vergeben Sie einen Datenbanknamen sowie einen dazugehörigen Benutzer mit Passwort und fügen Sie die Datenbank hinzu.

SSL/TLS Zertifikat erstellen

Zum Erstellen einer sicheren Verbindung über das HTTPS-Protokoll, wird ein Zertifikat benötigt, dieses können Sie im Reiter SSL/TLS erstellen. Hier klicken Sie auf Aktionen und jetzt auf Neues Let's Encrypt Zertifikat. Stellen Sie sicher, dass die benötigten DNS-Rekords erstellt wurden und erreichbar sind, sonst wird dieser Prozess mit einem Fehler abbrechen.

PHP-FPM Pools

Um die PHP-FPM Pools anzupassen, müssen Sie sich wieder Ihrem Terminal zuwenden. Stellen Sie also wieder eine Verbindung via SSH zu Ihrem Server her. Bevor Sie die PHP-FPM Pools anpassen, führen Sie noch Folgendes im Terminal aus und kopieren die ausgegebene Zeile, ab dem ersten Schrägstrich (Slash /), in die Zwischenablage.

Code
printenv | grep PATH

Anschließend navigieren Sie zu folgendem Pfad und editieren Sie Ihre Konfigurationsdatei, in meinem obigen Beispiel wäre dies, die nextcloud.domain.de.conf

Bash
cd /etc/php/8.1/fpm/pool.d
nano nextcloud.domain.de.conf

Nun ergänzen Sie die unten stehende Werte und speichern diese Datei mit CTRL + X + Enter ab.

Best Practice
pm.max_children=120
pm.max_requests=200
pm=dynamic
pm.start_servers=12
pm.min_spare_servers=6
pm.max_spare_servers=18
env[PATH]=Ausgabe von printenv | grep PATH

Installation

Installation über Webinstaller

Die schnellste Variante Nextcloud zu installieren ist wohl das Web Installationsskript. Hierfür gehen Sie zurück in Ihren Browser und öffnen den Reiter Dateimanager, welcher in Ihrer Domain/Subdomain, wo Sie bereits Einstellungen für die zukünftige Nextcloud getätigt haben, zu finden ist. Hier angekommen, klicken Sie auf das Unterverzeichnis htdocs und wählen hier das Unterverzeichnis ihrer Domain/Subdomain aus.

Über den Button Neu hinzufügen -> Datei hochladen, fügen Sie die setup-nextcloud.php hinzu, welche Sie auf der offiziellen Website von Nextcloud herunterladen können.


Webinstaller ausführen

Jetzt können Sie die Datei setup-nextcloud.php mit Ihrem Browser öffnen, indem Sie Ihre zuvor erstellte Subdomain aufrufen. z. B. https://nextcloud.domain.de/setup-nextcloud.php

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

Konfigurieren der config.php

Die config.php von Ihrer installierten Nextcloud muss noch angepasst werden, damit Sie auch Redis als Cache nutzen, sowie die Standardtelefonregion auf Deutschland gestellt ist. Öffnen Sie in Ihrem Terminal via SSH die config/config.php und ergänzen Sie die Eintragungen mit unten stehenden Zeilen.

PHP: config.php
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => 'localhost',
    'port' => 6379,
  ),
'default_phone_region' => 'DE',
'maintenance_window_start' => 1,

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

Cron Job für Nextcloud anlegen

Für das Anlegen eines Cron Jobs (eine wiederkehrende Aufgabe), wechseln Sie wieder in das Webinterface von CloudPanel und hier in die Einstellungen Ihrer Domain/Subdomain. Hier angekommen sehen Sie auch bereits den Reiter Cron Jobs im obigen Menüband, klicken Sie darauf und über den Button Cron Job hinzufügen, legen Sie diesen mit unten stehenden Werten an. Haben Sie die Werte angepasst, können Sie mit dem Button unten rechts, diesen erstellen.

Scriptpfad:php8.1 /home/domain-nextcloud/htdocs/nextcloud.domain.de/cron.php
Template:Alle 5 Minuten


Alle fünf Minuten wird der Cron Job ausgeführt. Kehren Sie in das Nextcloud Administrationsinterface zurück, gehen Sie auf Grundeinstellungen, hier wählen Sie als Hintergrund-Aufgabe, Cron aus.

Nun ist Ihre Cloud fertig eingerichtet!

Troubleshooting

OPcache

Folgende Fehlermeldung erscheint unter Administrationseinstellung > Übersicht:

Code
The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply opcache.interned_strings_buffer to your PHP configuration with a value higher than 8.

Foxly
15. März 2024 um 09:45

PHP-Module »gmp« und/oder »bcmath«

Code
Es gibt einige Warnungen bei deiner Systemkonfiguration.

Die PHP-Module „gmp“ und/oder „bcmath“ sind nicht aktiviert. Wenn du die passwortlose WebAuthn-Authentifizierung verwendest, sind diese Module erforderlich. 

Es müssen die Module für die jeweils eingesetzte PHP-Version installiert werden.

Bash
apt install php8.1-bcmath     # php8.1 kann durch die jeweils eingesetzte PHP-Version ersetzt werden!
apt install php8.1-gmp

PHP-Erweiterung »imagick«

Code
Es gibt einige Warnungen bei deiner Systemkonfiguration.

Dem Modul php-imagick fehlt die SVG-Unterstützung. Für eine bessere Kompatibilität wird empfohlen, es zu installieren.

Hier empfehle ich imagick wie folgt zu installieren:

GitHub - SoftCreatR/imei: IMEI - ImageMagick Easy Install
IMEI - ImageMagick Easy Install. Contribute to SoftCreatR/imei development by creating an account on GitHub.
github.com

Sollte nach der Installation der Fehler weiterhin auftreten, muss die folgende PHP-Erweiterung noch nachträglich installiert werden.

Bash
apt install libmagickcore-6.q16-6-extra

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