So installierst du Nextcloud AIO unter Ubuntu 22.04

Nextcloud AIO steht für Nextcloud All in One. Es ist ein Docker-basierter Installer, der die Bereitstellung von Nextcloud zu einem Kinderspiel macht. Sie wird mit den folgenden Funktionen und Anwendungen ausgeliefert:

  1. Nextcloud
  2. Nextcloud Office – es basiert auf der Collabora Online Development Edition (CODE), die wiederum auf LibreOffice basiert. Mit ihr kannst du Dokumente in Echtzeit mit mehreren Editoren bearbeiten. Es unterstützt alle gängigen Office-Dateiformate.
  3. Nextcloud Talk – das ist ein Audio-/Video- und Chat-Kommunikationsdienst. Er unterstützt verschlüsselte Anrufe, Gruppenanrufe, Bildschirmfreigabe, WebRTC für plattformübergreifende Unterstützung und das Hosten von Webinaren.
  4. Imaginary – für anspruchsvolle Bildbearbeitung und -konvertierung.
  5. ClamAV – für den Schutz vor Viren und Malware.
  6. Borgbackup – bietet eine eingebaute Sicherungs- und Wiederherstellungsfunktion.
  7. ElasticSearch – für die Unterstützung der Volltextsuche in Dokumenten und Dateien.

Voraussetzungen

  • Ein Server mit Ubuntu 22.04 mit mindestens 1 GB RAM und 1 vCPU. Wenn du ClamAV verwenden möchtest, benötigst du zusätzlich 1 GB RAM. Für ElasticSearch (Volltextsuche) und Nextcloud Talk brauchst du ebenfalls 1 GB RAM. Wenn alle Addons aktiviert sind, brauchst du mindestens 4 GB RAM und 2vCPU.
  • Einen vollständig qualifizierten Domainnamen (FQDN), der auf deinen Server verweist. Für unsere Zwecke verwenden wir nextcloud.example.com als Domänennamen.
  • Ein Nicht-Root-Benutzer mit sudo-Rechten.
  • Die Unkomplizierte Firewall (UFW) ist aktiviert und läuft.
  • Stelle sicher, dass alles auf dem neuesten Stand ist.
    $ sudo apt update && sudo apt upgrade
    
  • Installiere grundlegende Hilfspakete. Einige von ihnen sind vielleicht schon installiert.
    $ sudo apt install wget curl nano unzip -y
    

Schritt 1 – Firewall konfigurieren

Bevor du die Pakete installierst, musst du die Firewall so konfigurieren, dass sie HTTP- und HTTPS-Verbindungen zulässt.

Überprüfe den Status der Firewall.

$ sudo ufw status

Du solltest etwas wie das Folgende sehen.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Erlaube HTTP- und HTTPs-Ports für die aktuelle Nextcloud-Instanz.

$ sudo ufw allow http
$ sudo ufw allow https

Öffne Port 3478 für Nextcloud Talk. Du kannst ihn auslassen, wenn du ihn nicht benutzen wirst.

$ sudo ufw allow 3478

Öffne die Ports 8080 und 8443 für die Bereitstellung von HTTP- und HTTPS-Unterstützung für die AIO-Schnittstelle.

$ sudo ufw allow 8080/tcp
$ sudo ufw allow 8443/tcp

Überprüfe den Status noch einmal zur Bestätigung.

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443                        ALLOW       Anywhere
8080/tcp                   ALLOW       Anywhere
8443/tcp                   ALLOW       Anywhere
3478                       ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)
8080/tcp (v6)              ALLOW       Anywhere (v6)
8443/tcp (v6)              ALLOW       Anywhere (v6)
3478 (v6)                  ALLOW       Anywhere (v6)

Schritt 2 – Hostname und Zeitzone konfigurieren

Bevor wir fortfahren, müssen wir den richtigen Hostnamen für das System festlegen.

Öffne die Hostnamen-Datei zur Bearbeitung.

$ sudo nano /etc/hostname

Ändere den Wert in deinen vollqualifizierten Domänennamen.

nextcloud.example.com

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Öffne die Host-Datei zur Bearbeitung.

$ sudo nano /etc/hosts

Füge die folgende Zeile nach der Zeile 127.0.0.1 localhost ein. Ersetze alle vorhandenen Zeilen mit der IP 127.0.1.1 ubuntu-master, falls vorhanden, durch die folgende.

<YourServerIP> nextcloud.example.com nextcloud	

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Überprüfe die aktuelle Zeitzone des Servers.

$ timedatectl
Local time: Sun 2022-10-09 13:21:01 UTC
           Universal time: Sun 2022-10-09 13:21:01 UTC
                 RTC time: Sun 2022-10-09 13:21:01
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: no
              NTP service: n/a
          RTC in local TZ: no

Du kannst die Liste der verfügbaren Zeitzonen mit dem folgenden Befehl anzeigen.

$ timedatectl list-timezones
...
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Asmera
Africa/Bamako
Africa/Bangui
...

Wenn sie nicht deinen Wünschen entspricht, ändere sie mit dem folgenden Befehl.

$ sudo timedatectl set-timezone America/Chicago

Starte den Server neu.

$ sudo reboot

Du kannst dich jetzt wie folgt am Server anmelden.

$ ssh username@nextcloud.example.com

Schritt 3 – Docker installieren

Füge den offiziellen GPG-Schlüssel von Docker hinzu.

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

Führe den folgenden Befehl aus, um das Docker-Repository hinzuzufügen.

$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Aktualisiere das System, um das Docker-Repository aufzunehmen.

$ sudo apt update

Installiere Docker und das Docker Compose Plugin.

$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

In diesem Lehrgang wird das Docker Compose v2 Plugin anstelle des älteren Legacy Binary verwendet. Daher hat sich der Befehl zum Ausführen des Plugins von docker-compose auf docker composegeändert, was sich hier widerspiegelt.

Docker läuft mit erhöhten Rechten, daher musst du sudo häufig verwenden, um Befehle auszuführen. Die bessere Option ist, dein Linux-Benutzerkonto zur Benutzergruppe docker hinzuzufügen.

$ sudo usermod -aG docker ${USER}

Die Variable ${USER} nimmt das aktuell eingeloggte Systemkonto auf. Wenn du nicht mit dem Benutzer eingeloggt bist, dem du Privilegien geben willst, ersetze ${USER} durch den Benutzernamen.

Um die neue Gruppenmitgliedschaft zu beantragen, melde dich vom Server ab und wieder an oder verwende den folgenden Befehl. Du wirst aufgefordert, das Passwort des Benutzers einzugeben.

$ su - ${USER}

Schritt 4 – Docker Compose-Datei konfigurieren

Erstelle ein Verzeichnis für die Docker-Kompositionsdatei.

$ mkdir ~/nextcloud-aio

Wechsle in das Verzeichnis.

$ cd ~/nextcloud-aio

Erstelle und öffne die Docker Compose Datei zur Bearbeitung.

$ nano docker-compose.yml

Füge den folgenden Code in die Datei ein.

version: "3.8"

volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer # This line is not allowed to be changed

services:
  nextcloud:
    image: nextcloud/all-in-one:latest # Must be changed to 'nextcloud/all-in-one:latest-arm64' when used with an arm64 CPU
    restart: always
    container_name: nextcloud-aio-mastercontainer
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config # This line is not allowed to be changed
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - 80:80
      - 8080:8080
      - 8443:8443

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Schritt 5 – Nextcloud AIO ausführen

Erstelle und starte den Docker-Container.

$ docker compose up -d

Überprüfe den Status des Containers.

$ docker compose ps

Du wirst die folgende Ausgabe sehen.

NAME                            COMMAND                  SERVICE             STATUS              PORTS
nextcloud-aio-mastercontainer   "start.sh /usr/bin/s…"   nextcloud           running (healthy)   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:8443->8443/tcp, :::8443->8443/tcp

Du kannst auch den Befehl docker ps verwenden, um einen genaueren Status zu erhalten. Um die Container-Logs zu überprüfen, verwende den Befehl docker logs <container name>.

Schritt 6 – Zugriff auf Nextcloud AIO

Öffne die URL https://nextcloud.example.com:8443und du erhältst den folgenden Bildschirm.

Nextcloud AIO Setup Seite

Kopiere das auf dem Bildschirm angezeigte Passwort und klicke auf die Schaltfläche Nextcloud AIO Login öffnen.

Nextcloud AIO Login Seite

Gib das Passwort ein und klicke auf die Schaltfläche Anmelden, um fortzufahren.

Nextcloud AIO Dashboard

Gib deinen Domainnamen nextcloud.example.com unter dem Abschnitt Neue AIO-Instanz ein und klicke auf die Schaltfläche Absenden, um die Installation von Nextcloud zu starten.

Nextcloud AIO Neue Instanz einrichten

Du wirst auf die folgende Seite weitergeleitet.

Nextcloud AIO Containers Seite

Hier kannst du die Serverzeitzone ändern und eine neue Nextcloud-Instanz starten. Wähle die Add-ons aus, die du installieren möchtest, und klicke auf die Schaltfläche Änderungen speichern, um die Optionen zu speichern.

Nextcloud Addons installieren

Klicke auf die Start-Container, um Nextcloud und seine Addon-Container zu starten. Dieser Vorgang generiert automatisch ein SSL-Zertifikat mit Let’s Encrypt für die von dir gewählte Domain und startet den Apache-Server-Container, um die Nextcloud-Instanz der Öffentlichkeit zugänglich zu machen.

Dieser Vorgang kann einige Minuten dauern, je nachdem, wie viele Addons du installierst. Nach einer Weile kannst du den Fortschritt der Container auf der Seite sehen.

Nextcloud ungesunde Container

Das Gelb vor den Containern kann bedeuten, dass sie gestartet werden oder dass sie ungesund sind. Drücke auf die Schaltfläche Neu laden, um es erneut zu überprüfen. Sobald alle Container erfolgreich gestartet sind, erhältst du den Benutzernamen und das Passwort für deine Nextcloud-Instanz.

Nextcloud Erfolgreiche Installation

Klicke auf die Schaltfläche Nextcloud öffnen, um deine Nextcloud-Installation zu starten. Du kannst sie auch direkt über die URL https://nextcloud.example.com aufrufen. Du wirst zum folgenden Anmeldebildschirm weitergeleitet.

Nextcloud Anmeldebildschirm

Gib deinen Benutzernamen admin und dein Passwort ein, die du auf der vorherigen Seite erhalten hast, und klicke auf Anmelden, um das Nextcloud-Dashboard zu starten.

Nextcloud Dashboard

Von nun an kannst du Nextcloud nutzen.

Schritt 7 – Nextcloud sichern und wiederherstellen

Bevor du ein Backup erstellst, musst du den Apache-Container stoppen, da er die Nextcloud AIO-Instanz blockiert. Dies ist notwendig, um die AIO-Schnittstelle zu bedienen. Führe den folgenden Befehl aus, um den Apache-Container zu stoppen.

$ docker stop nextcloud-aio-apache

Melde dich bei der AIO-Oberfläche an, indem du https://nextcloud.example.com:8443 aufrufst.

Nextcloud Backup erstellen

Gib das Verzeichnis für die Backups ein und klicke auf die Schaltfläche Senden, um ein Backup zu erstellen. Du erhältst den folgenden Bildschirm.

Nextcloud Backup Details

Nextcloud AIO erstellt ein verschlüsseltes Backup und teilt dir ein Passwort für dieses Backup mit. Das gleiche Passwort wird für alle Backups im Ordner verwendet. Das Passwort wird für die Wiederherstellung der Instanz benötigt. Klicke auf Backup erstellen, um mit der Erstellung des Backups zu beginnen. Du wirst aufgefordert, den Vorgang zu bestätigen. Drücke auf Ja, um den Vorgang zu starten. Dadurch werden alle laufenden Container angehalten und der Backup-Container gestartet.

Nextcloud AIO Backup Laufende Container

Klicke auf die Schaltfläche Neu laden, um die Seite zu aktualisieren. Klicke auf den kleinen Pfeil, um alle Optionen für die Sicherung und Wiederherstellung anzuzeigen.

Nextcloud AIO Sicherungs- und Wiederherstellungsoptionen

Hier kannst du ein bestehendes Backup wiederherstellen, weitere zu sichernde Verzeichnisse hinzufügen und eine Zeit für den Cron-Job festlegen, der geplante Backups und Updates durchführt.

Nextcloud wiederherstellen

Bei einer Neuinstallation kannst du ein bestehendes Backup wiederherstellen.

Wenn das Backup im Verzeichnis /mnt/backup/borg gespeichert ist, gib den Backup-Pfad als /mnt/backup an. Das eigentliche Backup sollte sich immer in einem Unterverzeichnis befinden. Gib den Pfad und das Passwort deines Backups ein.

Nextcloud AIO Backup Pfad und Passwort

Klicke auf die Schaltfläche Senden, um mit der Wiederherstellung fortzufahren.

Nextcloud AIO Test Backup Pfad und Passwort

Klicke auf die Schaltfläche Pfad und Passwort testen, um den Pfad und das Passwort der Sicherung zu überprüfen, bevor du mit der Wiederherstellung beginnst.

Nextcloud AIO Backup wiederherstellen

Hier kannst du die Integrität der Sicherungsdatei überprüfen. Wähle die richtige Sicherungsdatei aus dem Dropdown-Menü und klicke auf die Schaltfläche Ausgewählte Sicherungsdatei wiederherstellen, um den Vorgang zu starten.

Nextcloud AIO Backup Container Fortschritte

Auf der nächsten Seite kannst du sehen, wie der Backup-Container läuft. Warte einige Zeit und klicke auf die Schaltfläche Neu laden, um zu sehen, ob der Prozess abgeschlossen ist. Du erhältst den folgenden Bildschirm, der die erfolgreiche Wiederherstellung bestätigt.

Nextcloud AIO Erfolgreiche Wiederherstellung

Backup für Remote-Uploads vorbereiten

Wenn du Backups mit einem entfernten Standort synchronisieren oder hochladen möchtest, musst du das Backup-Archiv vorbereiten.

Installiere das BorgBackup Tool.

$ sudo apt install borgbackup

Hänge die Backup-Archive in den Ordner /tmp/borg.

$ sudo mkdir -p /tmp/borg && sudo borg mount "/mnt/backup/borg" /tmp/borg

Du wirst nach dem Passwort für das Backup gefragt.

Enter passphrase for key /mnt/backup/borg:

Gib das Passwort ein, um das Archiv zu mounten. Überprüfe die gemounteten Archive in dem Ordner.

$ sudo ls /tmp/borg -al
total 4
drwxr-xr-x  1 root root    0 Oct 10 19:13 .
drwxrwxrwt 13 root root 4096 Oct 10 19:13 ..
drwxr-xr-x  1 root root    0 Oct  9 23:15 20221010_041554-nextcloud-aio

Du kannst nun die Datei 20221010_041554-nextcloud-aio an einen entfernten Ort kopieren oder synchronisieren.

Hänge die Archive wieder aus.

$ sudo umount /tmp/borg

Wenn du ein bestehendes Backup-Archiv löschen willst, kannst du das mit dem folgenden Befehl tun.

$ sudo borg delete --stats --progress "/mnt/backup/borg::20221010_041554-nextcloud-aio"

Schritt 8 – Nextcloud AIO / Nextcloud aktualisieren

Nextcloud AIO führt einen Cronjob aus, um täglich nach Updates für Nextcloud AIO und alle anderen Container zu suchen.

Nextcloud-Container aktualisieren

Die Nextcloud AIO-Oberfläche zeigt alle Aktualisierungen der Container auf der Seite an. Um einen der Container zu aktualisieren, drückst du auf die Schaltfläche Container stoppen, um alle Container anzuhalten und sie dann wieder zu starten, um die Aktualisierung durchzuführen.

Stelle sicher, dass du ein Backup der Daten machst, bevor du die Container startest.

Nextcloud AIO Mastercontainer aktualisieren

Wenn der AIO Mastercontainer aktualisiert wird, erhältst du auf der Oberfläche eine Meldung über die Aktualisierung. Klicke auf die Schaltfläche Aktualisieren, um die Aktualisierung durchzuführen.

Fazit

Damit ist unsere Anleitung zur Installation von Nextcloud AIO auf einem Ubuntu 22.04 Server abgeschlossen. Wenn du noch Fragen hast, schreibe sie in die Kommentare unten.

Das könnte dich auch interessieren …