Nextcloud auf Ubuntu – eine solide Basis für die eigene Cloud
Seit Jahren gehört Nextcloud zu den zentralen Bausteinen der dezentralen digitalen Infrastruktur. Wer seine Daten selbst in der Hand behalten will, kommt an dieser Plattform kaum vorbei. Ubuntu wiederum hat sich als Betriebssystem der Wahl für Server etabliert – nicht zuletzt wegen seiner Langzeitunterstützung (LTS) und der riesigen Paketauswahl. Die Kombination beider Welten verspricht eine robuste, skalierbare Umgebung für private und geschäftliche Cloud-Dienste. Doch der Teufel steckt, wie so oft, im Detail. Der vorliegende Artikel beleuchtet, was bei der Einrichtung und dem Betrieb von Nextcloud auf Ubuntu zu beachten ist – von der Installation über die Optimierung bis hin zur Absicherung.
Warum Ubuntu? Warum Nextcloud?
Ubuntu ist nicht ohne Grund die erste Adresse für viele Admins. Die LTS-Versionen bieten fünf Jahre Support, bei Ubuntu Pro sogar zehn. Das bedeutet planbare Sicherheitsupdates ohne lästige Release-Zwänge. Nextcloud wiederum ist mehr als nur ein Datei-Sync: Es ist eine komplette Groupware-Suite mit Kalender, Kontakten, Talk, Office-Integration und zahllosen Apps aus dem hauseigenen App-Store. Die Kombination aus stabilem Betriebssystem und flexibler Cloud-Plattform ergibt ein Gespann, das sowohl im Heimnetz als auch im Mittelstand eine echte Alternative zu den großen US-Anbietern darstellt. Dabei zeigt sich immer wieder: Wer Nextcloud auf Ubuntu betreibt, profitiert von der riesigen Community – sowohl auf Admin-Seite als auch bei der Fehlersuche.
Ein interessanter Aspekt ist die Paketverfügbarkeit. Ubuntu bringt PHP in einer Version mit, die von Nextcloud unterstützt wird. Allerdings muss man genau hinsehen: Ubuntu 22.04 LTS liefert PHP 8.1, während 24.04 LTS auf PHP 8.3 setzt. Nextcloud 30 benötigt mindestens PHP 8.1, also ist beides okay. Aber wer ältere Ubuntu-Versionen nutzt, muss über Drittquellen wie den Ondřej Surý-PPA nachrüsten – das ist machbar, aber nicht immer empfehlenswert, wenn man Sicherheitslücken vermeiden will.
Der Weg zur Installation – drei Wege, drei Philosophien
Grundsätzlich stehen drei Installationspfade offen, und jeder hat seine Berechtigung: Snap, manuelle Installation mit Apache oder Nginx sowie Docker. Die Wahl hängt stark vom eigenen Anspruch und der Erfahrung ab.
Snap – schnell, aber nicht immer durchsichtig
Die Snap-basierte Nextcloud-Installation ist die einfachste Möglichkeit. Ein Befehl, und die Cloud läuft. Ubuntu bringt Snap standardmäßig mit, sodass keine zusätzlichen Quellen nötig sind. Das Paket wird automatisch aktualisiert – ein Segen für alle, die sich nicht ständig um Updates kümmern wollen. Allerdings hat Snap auch Nachteile: Die Dateipfade sind virtualisiert, der Zugriff auf das Dateisystem ist eingeschränkt, und wer eigene Nginx-Konfigurationen oder Datenbank-Tuning betreiben will, stößt schnell an Grenzen. Für den privaten Gebrauch oder kleine Teams mit wenig Administrationsaufwand ist Snap dennoch eine gute Wahl. Vorsicht: Der Snap-Store aktualisiert gelegentlich Hauptversionen, was zu Inkompatibilitäten mit Apps führen kann. Wer also bestimmte App-Versionen benötigt, sollte die Finger von Snap lassen.
Manuelle Installation – volle Kontrolle
Das ist der Weg für Admins, die jedes Detail selbst bestimmen wollen. Man lädt das Nextcloud-Archiv von der offiziellen Webseite herunter, entpackt es in das Webroot, richtet eine Datenbank (MariaDB oder PostgreSQL) ein, konfiguriert den Webserver und führt den Installationsassistenten aus. Hier gibt es keine Blackbox – jede Änderung an PHP, am Server oder an der Nextcloud-Konfiguration ist direkt sichtbar und nachvollziehbar. Der Aufwand ist aber nicht zu unterschätzen. Neben den Grundkomponenten müssen Redis für Caching, Cron-Jobs für Hintergrundaufgaben und oft auch ein Mailserver eingerichtet werden. Ubuntu bietet dafür alle nötigen Pakete in den offiziellen Repos. Ein typischer Satz an Paketen umfasst neben Apache oder Nginx auch php-fpm, php-mysql, php-gd, php-curl, php-zip, php-xml, php-mbstring, php-intl, php-bcmath, php-gmp, php-imagick und redis-server. Das ist kein Hexenwerk, aber wer zum ersten Mal eine Nextcloud-Instanz aufsetzt, sollte sich Zeit nehmen und etwa ein bis zwei Stunden reine Installationszeit einplanen.
Dabei zeigt sich schnell: Die Dokumentation von Nextcloud ist solide, aber nicht immer taufrisch. Gerade bei der Auswahl der PHP-Version oder bei Konflikten mit bestehenden Diensten kann man ins Grübeln kommen. Ein Tipp: Immer die aktuelle Nextcloud-Version mit der empfohlenen PHP-Version abgleichen. Ubuntu 24.04 LTS mit PHP 8.3 funktioniert mit Nextcloud 30 tadellos – wir haben es selbst getestet.
Docker – isoliert und reproduzierbar
Docker ist für viele der moderne Weg, um Nextcloud zu betreiben. Die offiziellen Images von Nextcloud und die vielen Community-Docker-Compose-Dateien machen es einfach, eine vollständige Umgebung aus Datenbank, Redis, Webserver und Nextcloud in Containern zu starten. Der Vorteil: Die Komponenten sind sauber voneinander getrennt, Updates erfolgen über Image-Wechsel, und die Konfiguration lässt sich als Code versionieren. Zudem laufen Container auf Ubuntu genauso gut wie auf jeder anderen Distribution. Ein Nachteil ist der höhere Ressourcenverbrauch durch die Virtualisierungsschicht, und wer nicht mit Docker vertraut ist, kann bei Netzwerk- oder Volume-Problemen schnell den Überblick verlieren. Für produktive Umgebungen mit mehreren Instanzen oder Microservices ist Docker aber eine ausgezeichnete Wahl – vor allem, weil man bei Bedarf schnell skalieren kann.
Nicht nur installieren – die Feinkonfiguration
Sobald Nextcloud läuft, beginnt die eigentliche Arbeit. Eine Standardinstallation funktioniert, aber sie ist selten optimal. Drei Bereiche sollte jeder Administrator frühzeitig angehen: die Datenbank, das Caching und die Hintergrundaufgaben.
Die Datenbank: MariaDB oder PostgreSQL?
Nextcloud unterstützt beide Systeme, aber die Erfahrung zeigt: PostgreSQL ist in vielen Szenarien performanter und robuster, insbesondere bei vielen gleichzeitigen Nutzern. MariaDB (ein MySQL-Fork) ist unter Ubuntu der Standard und lässt sich mit dem Paket mariadb-server installieren. Für kleine Installationen bis etwa 50 Benutzer reicht MariaDB völlig aus. Wer jedoch größere Datenmengen erwartet oder viele WebDAV-Zugriffe plant, sollte PostgreSQL den Vorzug geben. Wichtig in beiden Fällen: Die Datenbank sollte auf einem eigenen Volume liegen, am besten auf einer schnellen SSD. Die Konfigurationsparameter (Innodb_buffer_pool_size bei MariaDB, shared_buffers bei PostgreSQL) müssen an die verfügbaren RAM-Ressourcen angepasst werden. Ein Faustwert: 25 Prozent des Arbeitsspeichers für den Puffer. Wir haben schon erlebt, dass eine Nextcloud-Instanz auf einem VPS mit 2 GB RAM bei falscher Datenbankkonfiguration nach einigen Tagen träge wurde – ein Blick in die Logs offenbarte dann oft eine zu kleine Buffer-Pool-Größe.
Caching mit Redis – der Turbo für die Cloud
Nextcloud nutzt Caching, um Datenbankabfragen zu reduzieren. Standardmäßig wird die Datei-Statistik im Arbeitsspeicher gehalten, aber ohne Redis oder APCu bleibt die Performance hinter den Möglichkeiten zurück. Redis ist der empfohlene Cache für Nextcloud, da er nicht nur das Session-Handling, sondern auch den Datei-Locking-Mechanismus unterstützt. Die Installation unter Ubuntu ist simpel: apt install redis-server. Anschließend muss in der config.php folgender Eintrag ergänzt werden:
'memcache.local' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
'timeout' => 0,
),
Das allein bringt schon eine deutliche Beschleunigung, insbesondere bei der Anzeige von Dateilisten und beim Synchronisieren vieler kleiner Dateien. Wer APCu zusätzlich für den lokalen Cache einsetzt, kann noch ein paar Prozente herausholen – aber Redis allein reicht in der Regel aus.
Hintergrundaufgaben: Cron richtig einsetzen
Nextcloud erledigt viele Aufgaben im Hintergrund: Datei-Scans, Indexierung, Versionsbereinigung, E-Mail-Benachrichtigungen. Standardmäßig ist der AJAX-Cron eingestellt, der bei jedem Aufruf einer Seite einen Teil der Aufgaben ausführt. Das ist ineffizient und belastet den Webserver. Besser ist der systemd-basierte Cron. Unter Ubuntu legt man einen Timer an, der alle fünf Minuten den Nextcloud-Cron-Job aufruft. Dazu erstellt man eine systemd Service-Einheit und einen Timer. Der Service könnte so aussehen:
[Unit]
Description=Nextcloud Cron Service
After=network.target
[Service]
User=www-data
ExecStart=/usr/bin/php -f /var/www/nextcloud/cron.php
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Der Timer wird dann auf eine Minute genau gestartet, aber mit einer zufälligen Verzögerung, um Lastspitzen zu vermeiden. In der Nextcloud-Konfiguration unter Administration → Grundeinstellungen stellt man dann auf „Cron“ um. Das entlastet den Webserver spürbar.
Sicherheit – nicht nur ein Nebenkriegsschauplatz
Eine private Cloud ist nur so gut wie ihre Absicherung. Nextcloud selbst hat ein gutes Sicherheitskonzept, aber die Umgebung darum herum muss stimmen. Hier sind die wichtigsten Punkte für Ubuntu-Server.
HTTPS mit Let’s Encrypt – Pflichtprogramm
Ohne HTTPS geht gar nichts – das gilt für jede Webanwendung. Unter Ubuntu installiert man Certbot aus den offiziellen Repos (apt install certbot python3-certbot-nginx) und lässt das Zertifikat automatisch ausstellen. Wichtig: Der Dienst muss über das Internet erreichbar sein, damit die Domain validiert werden kann. Für Nextcloud-Server im Heimnetz kann man stattdessen ein selbstsigniertes Zertifikat verwenden, aber das führt bei vielen Clients zu Warnmeldungen. Ein eigener DynDNS-Eintrag und ein öffentliches Zertifikat sind die saubere Lösung. Certbot erneuert die Zertifikate automatisch per systemd-Timer – daran sollte man nichts ändern, aber das Log im Auge behalten.
Fail2ban – Brute-Force-Angriffe eindämmen
Nextcloud wird ständig von Bots attackiert, die versuchen, sich mit Standardpasswörtern einzuloggen. Fail2ban überwacht die Logdateien und sperrt IPs nach mehreren Fehlversuchen. Für Nextcloud gibt es vorgefertigte Filter und Jails, die man aktivieren muss. Ein typischer Eintrag in der jail.local sieht so aus:
[nextcloud]
enabled = true
port = http,https
filter = nextcloud
logpath = /var/log/nextcloud/nextcloud.log
maxretry = 5
bantime = 3600
Der Filter muss dann noch definiert werden – die Community stellt entsprechende Regex zur Verfügung. Alternativ kann man auch den generischen Filter „nginx-http-auth“ nutzen, aber der erfasst nur die Basisauth, nicht die Login-Seite von Nextcloud. Die Mühe lohnt sich: Nach einigen Tagen sieht man in den Fail2ban-Status, wie viele IPs gebannt wurden – oft ein zweistelliger Betrag.
Firewall und Updates
Ubuntu bringt UFW (Uncomplicated Firewall) mit. Standardmäßig nur SSH und die Ports 80 und 443 freigeben – alles andere schließen. Das verhindert nicht nur Angriffe auf Dienste wie Redis, sondern auch auf den Mailserver falls vorhanden. Für automatische Sicherheitsupdates sorgt das Paket unattended-upgrades. Das sollte man aktivieren (dpkg-reconfigure unattended-upgrades) und darauf achten, dass auch Nextcloud-System-Apps wie PHP selbst aktualisiert werden. Ein Neustart des Webservers nach PHP-Updates kann per cron job erledigt werden – oder man akzeptiert kurze Ausfallzeiten.
Backup und Wiederherstellung – der Test fehlt oft
Das Zauberwort heißt: Regelmäßig, automatisiert und vor allem getestet. Ein Backup ohne Wiederherstellungstest ist kein Backup – das wissen wir alle, aber viele lassen diesen Schritt aus. Für Nextcloud auf Ubuntu gibt es bewährte Methoden. Theoretisch reicht es, das Datenverzeichnis und die Datenbank zu sichern. In der Praxis sollten auch die Konfigurationsdateien (config.php) und die Apps-Ordner mitgesichert werden. Ein einfaches Skript, das per mysqldump oder pg_dump die Datenbank sichert und dann das Nextcloud-Verzeichnis per rsync auf ein externes Medium kopiert, erfüllt seinen Zweck. Wichtig: Die Datenbank muss konsistent sein – also vor dem Dump in den Wartungsmodus versetzen (occ maintenance:mode –on) oder eine Transaktion nutzen. Wir haben schon Instanzen gesehen, bei denen das Backup stundenlang lief, während Nutzer weiter Dateien hochluden – das Ergebnis war eine inkonsistente Datenbank.
Für die Wiederherstellung empfiehlt sich das offizielle Nextcloud-Restore-Skript, das in der Dokumentation beschrieben ist. Aber keine Sorge, es ist im Grunde nur ein Dreischritt: Datenbank einspielen, Dateien zurückkopieren, Berechtigungen setzen und den Wartungsmodus deaktivieren. Ein Test sollte mindestens einmal pro Quartal durchgeführt werden – am besten auf einem separaten System, um den Produktivbetrieb nicht zu gefährden.
Migration und Updates – das muss sitzen
Nextcloud veröffentlicht alle paar Monate eine neue Hauptversion. Das Update von zum Beispiel Version 28 auf 29 ist meistens reibungslos, solange alle Apps kompatibel sind. Unter Ubuntu empfiehlt sich der manuelle Weg: Vor dem Update ein Backup erstellen, den Wartungsmodus aktivieren, das alte Verzeichnis durch das neue ersetzen und dann den Update-Befehl über occ upgrade ausführen. Bei Snap-Installationen geschieht das automatisch, was manchen Administratoren die Planung aus der Hand nimmt – ein Nachteil, wenn kritisches Personal vorher nicht informiert wird.
Ein interessanter Aspekt ist die Migration von einem anderen System auf Ubuntu. Wer Nextcloud bisher auf einem Synology-NAS oder einem anderen Linux-Server betrieben hat, kann die Daten einfach per rsync oder tar umziehen, sofern die Verzeichnisstruktur gleich ist. Auch die Datenbank lässt sich exportieren und importieren. Die größte Hürde ist oft die Anpassung der config.php, weil Pfade und Datenbankzugangsdaten neu gesetzt werden müssen. Mit etwas Fingerspitzengefühl ist das aber in ein, zwei Stunden erledigt.
Tipps aus der Praxis
Nicht zuletzt ein paar Erfahrungswerte, die Ihnen Zeit und Nerven sparen können:
Die PHP-Konfiguration anpassen: Nextcloud benötigt eine ausrechende Memory-Limit und Upload-Größe. In der php.ini sollte mindestens memory_limit = 512M und upload_max_filesize = 10G stehen. Bei großen Dateien auch post_max_size erhöhen. Wer viele Bilder thumbnailed, sollte imagick statt GD verwenden – das liefert bessere Ergebnisse und ist effizienter.
Nginx statt Apache: Viele Nextcloud-Profis schwören auf Nginx. Der Grund: Bessere Performance unter Last, geringerer Memory-Footprint und einfachere Konfiguration. Die offizielle Nextcloud-Dokumentation bietet eine hervorragende Nginx-Konfiguration. Einziger Wermutstropfen: .htaccess wird nicht unterstützt, aber das ist bei Nextcloud selten ein Problem, da die Sicherheit durch die App selbst gewährleistet wird.
Externe Speicher einbinden: Nextcloud kann S3-kompatible Objektspeicher wie MinIO oder AWS S3 als primären Speicher nutzen. Das entlastet die lokale Festplatte und ermöglicht unbegrenzte Skalierung. Unter Ubuntu richtet man einen S3-Client ein oder verwendet die integrierte Nextcloud-App. Allerdings steigt die Latenz, und die Daten sind dann nicht mehr lokal – das muss man im Sicherheitskonzept bedenken.
Groupware und Office: Für die Integration von Collabora Online oder ONLYOFFICE braucht man eigene Container oder einen separaten Server. Ubuntu eignet sich gut als Host, da Docker und die nötigen Bibliotheken einfach installiert werden können. Die Einrichtung ist nicht trivial, aber die Dokumentation beider Projekte ist gut. Besonders Collabora läuft stabil und bietet echte Echtzeit-Kollaboration an Dokumenten.
Nextcloud Talk selbst hosten: Die Talk-App verwandelt Nextcloud in eine Videokonferenz-Plattform. Dafür braucht man einen TURN-Server (oft Coturn) und eine Domain mit SSL. Ubuntu bietet das Paket coturn in den Repos. Die Konfiguration ist etwas knifflig, aber wenn es läuft, hat man eine datenschutzkonforme Alternative zu Zoom oder Teams. Gerade in sensiblen Branchen ein Pluspunkt.
Ausblick: Wohin steuert Nextcloud auf Ubuntu?
Die Entwicklung beider Projekte ist dynamisch. Ubuntu 24.10 bringt neue Kernel- und PHP-Features, Nextcloud 31 wird voraussichtlich noch stärker auf künstliche Intelligenz setzen – etwa bei der Bilderkennung oder der automatischen Verschlagwortung. Für Administratoren bedeutet das: Die Systemanforderungen steigen. Ein VPS mit 2 GB RAM wird dann vielleicht nicht mehr ausreichen. Auch die Integration von Nextcloud Hub (Kalender, Mail, Talk, Office) wird immer stärker, was die Abhängigkeit von Drittanbietern weiter reduziert.
Ein interessanter Trend ist das Nextcloud All-in-One (AIO) Projekt. Es bündelt Nextcloud mit allen Kernkomponenten in einem Docker-Compose-Setup und richtet sich an Einsteiger. Unter Ubuntu funktioniert AIO problemlos, solange Docker und Docker Compose installiert sind. Das könnte die manuelle Installation langfristig verdrängen – aber für erfahrene Admins bleibt der manuelle Weg weiterhin die erste Wahl, weil er maximale Kontrolle bietet.
Und last but not least: Die Community. Die Nextcloud- und Ubuntu-Communities sind eng verwoben. In Foren und auf Konferenzen trifft man viele, die beide Projekte aktiv unterstützen. Das schafft einen Wissenspool, der bei Problemen fast immer weiterhilft. Wer also Nextcloud auf Ubuntu betreibt, ist Teil eines Ökosystems, das weit über die reine Software hinausgeht. Und das ist vielleicht der größte Vorteil von allen.
Ob Snap, manuell oder Docker – die Entscheidung liegt bei Ihnen. Wichtig ist, dass die Umgebung regelmäßig gewartet wird. Sicherheitsupdates, Backup-Tests und Performance-Checks sollten auf dem Plan stehen. Dann kann Nextcloud auf Ubuntu zuverlässig seine Arbeit machen – und Sie haben die Kontrolle über Ihre Daten, ohne auf Komfort verzichten zu müssen.
Ein letzter Hinweis: Die Dokumentation liest sich manchmal akademisch. Nehmen Sie sich die Zeit, sie genau zu studieren. Und wenn einmal etwas nicht läuft: Ein Blick in die Logdateien unter /var/log/nextcloud/ oder in die PHP-Fehlerlogs (meist /var/log/php*-fpm.log) offenbart meist die Ursache. Scheuen Sie sich nicht, auch selbst Hand anzulegen – das Verständnis für das System wächst mit jedem Problem, das man löst.
Nextcloud auf Ubuntu ist keine Raketenwissenschaft. Aber es braucht Sorgfalt und ein wenig Erfahrung. Mit der Zeit entwickelt man ein Gefühl dafür, welche Einstellungen für die eigene Nutzung am besten sind. Und dann wird aus einer einfachen Cloud-Instanz eine solide, selbstbestimmte digitale Heimat.