Konfiguration 2
Last updated on 2025-01-21 | Edit this page
Estimated time: 135 minutes
Overview
Questions
Wie kann ich meinen Nextcloud-Server aktualisieren?
Was kann ich noch für bessere Performance tun?
Kann ich die Funktionalität erweitern?
Objectives
Upgrade im Browser und per CMD
Pretty URLs konfigurieren
Server Tuning: Mehr Leistung für das System
Server Hardening: mehr Sicherheit für das System
Apps und Integrationen
Nextcloud aktualisieren
Der gesamte Upgrade-Prozess ist im Handbuch ausführlich geschildert. Wie vor allen größeren Systemeingriffen, empfiehlt sich auch vor einem Upgrade ein Backup wie in Kapitel 12 geschildert.
Ob eine neue Version verfügbar ist, kann der Übersicht in den Verwaltungseinstellungen entnommen werden (vgl. Kapitel 11). Die Aktualisierung erfolgt in Abhängkeit des eigenen Systems auf unterschiedliche Weise. Im Falle der in diesem Kurs vorgenommenen manuellen Installation kann der Built-in Updater genutzt werden oder manuell durch Download der neuen Version das System aktualisiert werden. Im Folgenden wird der Built-in-Updater als empfohlene Variante genutzt.
Bei der Aktualisierung ist zwischen den unterschiedlichen Versionen zu differenzieren:
Major release upgrade: 28.x zu 29.x
Maintenance release upgrade 28.1 zu 28.2
Point release upgrade: 28.1.0 zu 28.1.1
Insbesondere bei einem major release upgrade sollten zuvor die Release Notes beachtet werden, um zu überprüfen, ob das Upgrade weitere Systemanpassungen erforderlich macht.
Sind die Voraussetzungen geklärt, kann der Built-in Updater
entweder im Browser in der Übersicht der Verwaltungseinstellungen oder
über die Kommandozeile mit dem Befehl
sudo -u www-data php /var/www/nextcloud/updater/updater.phar
gestartet werden. Sowohl im Browser, als auch in der Kommandozeile wird
man vom Built-in Updater interaktiv durch den Upgrade-Prozess
geleitet. Dabei werden die neuen Programmdateien heruntergeladen und die
alten durch die neuen ersetzt. Allerdings ist anschließend noch der
eigentliche Migrationsschritt auf Datenbankebene nötig. Dieser Schritt
kann entweder im Browser gestartet werden, wenn am Ende des Upgrades der
Maintanance-Modus deaktiviert wird, oder über die Kommandozeile mit dem
Befehl
sudo -u www-data php /var/www/nextcloud/occ upgrade
Im Anschluss an den Migrationsschritt können weitere Schritte nötig sein, die nur mit dem occ-Tool durchgeführt werden können. Ob und welche Schritte notwendig sind, wird in der Übersicht der Verwaltungseinstellungen angezeigt.
Server Tuning
Um die Leistung und die Benutzerfreundlichkeit des Nextcloud-Servers zu verbessern, können noch einige Einstellungen vorgenommen werden.
Pretty URLs
Um die URLs der Nextcloud-Instanz abzukürzen und dadurch
verständlicher zu machen, müssen zwei Apache-Module aktiviert werden
(sofern noch nicht geschehen):
sudo a2enmod env && sudo a2enmod rewrite
Anschließend muss die Nextcloud-Konfigurationsdatei mit zwei Einträgen ergänzt werden:
Dabei muss die eigene DDNS-URL anstatt des Platzhalters eingetragen
werden. Abschließend muss einmalig die .htaccess-Datei aktulisiert
werden:
sudo -u www-data php /var/www/nextcloud/occ maintenance:update:htaccess
.htaccess
.htaccess-Dateien können in beliebigen Verzeichnissesn des Apache-Document-Root liegen. Sie steuern die Zugriffsrechte auf das jeweilige Verzeichnis und dienen dadurch der Sicherheit einer Website, indem Sie z.B. verhindern, dass ein Websitebesucher auf Dokumente zugreifen kann, die andere User hochgeladen haben.
Upload großer Dateien
Möchte man größere Dateien über das Webinterface seines Nextcloud-Server hochladen, muss der Transport großer Dateien durch das System, den Webserver und PHP gewährleistet werden. Dabei ist zu beachten, dass Uploads über einen Nextcloud-Client (z.B. am Desktop-PC) nicht betroffen sind, da dieser eine große Datei in einzelnen Teilen hochlädt. Erlaubt man den Upload sehr großer Dateien kann dies die Systemleistung negativ beeinflussen; User*innen mit bösen Absichten könnten dadurch sogar den Nextcloud-Server überlasten und dadurch unbrauchbar machen.
Möchte man die Option dennoch aktivieren (um z.B. größere ZIP-Dateien, Videodateien oder Festplattenimages im Browser hochladen zu können), gibt einem das Handbuch Hilfestellung. Die wesentlichen Punkte sind:
Ausreichend Speicherplatz für alle parallel laufenden Uploads im Verzeichnis
/tmp/
PHP.ini-Dateien (
/etc/php/8.2/cli/php.ini
und/etc/php/8.2/apache2/php.ini
) bearbeiten:
PHP
php_value upload_max_filesize <Größe, z.B. 10G>
php_value post_max_size <Größe, z.B. 10G>
[...]
php_value max_input_time <Upload-Timout-Zeit in Sekunden, z.B. 3600 für eine Stunde>
php_value max_execution_time <Upload-Timout-Zeit in Sekunden, z.B. 3600 für eine Stunde>
[...]
output_buffering = 0
- Evlt. müssen in der Apache-Konfigurationsdatei
(
/etc/apache2/sites-available/nextcloud.conf
) einige Timeouts innerhalb des zweiten virtual-host-Bereichs durch Eintragung und Anpassung der folgenden Zeilen erhöht werden ((siehe Apache-Handbuch zu den Themen requirereadtime, TimeOut und LimitRequestBody):
RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
LimitRequestBody <Größe in Bytes, z.B. 10737418240 für 10 GiB>
TimeOut <Wert in Sekunden>
Je nach System sind weitere Optimierungen möglich. Das bereits viel erwähnte Handbuch gibt Anreize. Viele der dort genannten Punkte wurden in dieser oder vorheriger Lektionen bereits umgesetzt. Empfehlenswert kann der Einsatz und die Anpassung von PHP-FPM sein. Für Nextcloud 28 und einen Raspberry Pi 4 mit 4 GB RAM ist auf intux.de eine ausführliche Schilderung zu finden.
Server Hardening
Um seinen Nextcloud-Server sicher zu betreiben können weitere Schritte unternommen werden, welche wieder dem Handbuch entnommen werden können.
Grundlegend ist es wichtig, sein gesamtes System stets aktuell zu halten, sich regelmäßig über Änderungen auf dem Laufenden zu halten und neue Sicherheitsempfehlungen umzusetzen.
Um zum Beispiel den Apache-Webserver weiter abzusichern, gibt es im Internet viele Ratschläge. z.B. bei Apache selbst, bei tecmint.com oder geekflare.com. Dabei sollte stets auf die Aktualität und Zuverlässigkeit der Tips geachtet werden. Außerdem muss die Kompatibilität mit dem Nextcloud-Server getestet werden.
Zufallszahlen mit /dev/urandom/
Unter den im Handbuch genannten Sicherheitsempfehlungen kann recht
schnell der Zugriff für PHP auf /dev/random
gewährleistet
werden. Dadurch werden besser Zufallszahlen berechnet, z.B. für
Passwörter. Dazu müssen die PHP.ini-Dateien
(/etc/php/8.2/cli/php.ini
und
/etc/php/8.2/apache2/php.ini
) bearbeitet werden und
folgende Zeile ergänzt werden:
open_basedir /var/www/nextcloud/:/dev/urandom/:<Pfad-zum-Datenverzeichnis, z.B. /mnt/data/ncdata/>
Fail2Ban
Wie auch schon für den SSH-Server kann auch für Nextcloud ein Jail für Fail2Ban definiert werden, mit welchem zu viele fehlerhafte Logins detektiert und deren Verursacher geblockt werden können. Dazu muss in der Fail2Ban-Konfiguratiuonsdatei das Jail defniert werden und ein Filter erstellt. Das Handbuch zeigt die einzelnen Schritte auf.
Weitere Funktionen
Apps
Um die Funktionalität des Nextcloud-Server zu erweitern können Apps installiert werden. Da Nextcloud eine Open-Source-Software mit sehr aktiver Community ist, gibt es sehr viele Erweiterungen und Integrationen.
Um Apps zu installieren, muss man sich im Browser mit dem Adminstratoraccount anmelden. Bei Klick auf das Benutzericon in der rechten oberen Ecke gelangt man zum Menüpunkt Apps.
Dort können Apps gesucht, installiert und vorhandene aktualisiert werden. Die Verwaltung der Apps kann auch mit dem occ-Tool auf der Kommandozeile erfolgen.
Es gibt zu sehr vielen Themen unterschiedliche Apps. Z.B. Talk für Chat und Videokonferenzen, Memories für die Bildverwaltung, Cospend für die Abrechnung gemeinsamer Ausgaben, News um Nachrichtenfeeds in der Nextcloud-App zu erhalten, Nextcloud-Office um Dokumente, auch gemeinsam, im Browser zu bearbeiten, Kalender und Kontakte um diese Daten nicht mehr bei Dritten speichern zu müssen und vieles mehr.
User und Gruppen
Natürlich können dem Nextcloud-Server weitere User hinzugefügt werden. Auch das kann als Adminstrator im Browser getan werden. Zusätzlich können User auch in Gruppen eingeteilt werden, um so die Rechteverwaltung zu erleichtern.
Clients
Um auf die Daten und Informationen seines Nextcloud-Servers zugreifen zu können, können neben dem Webbrowser auch verschiedene Client-Programme genutzt werden. Für alle gängigen Betriebssystem gibt es den Synchronisierungsclient, für mobile Geräte darüber hinaus zahlreiche Apps für bestimmte Einsatzzwecke.
Support
Während für Privat- und Kleinanwender die große Community Hilfe bietet, besteht für größere Instanzen von Organisationen auch die Option eine kostenpflichtige Enterprise-Lizenz zu erwerben und damit Zugriff auf den Support und zusätzliche Informationen und Tools von Nextcloud zu erhalten.
Key Points
Die Aktualisierung kann mit dem Build-In Updater im Browser oder per CMD erfolgen
Nach Abschluss der Aktualisierung muss die Datenank migriert werden und ggf. weitere Schritte durchgeführt werden
Die Performance des Servers kann durch Konfigurationsänderungen in PHP verbessert werden
Die Sicherheit kann durch Änderungen an der Apache-Konfiguration, mit Fail2Ban und urandom erhöht werden