Tutorial

Installieren und Konfigurieren von Nextcloud unter Ubuntu 20.04

UbuntuApplicationsStorageUbuntu 20.04

Einführung

Nextcloud, ein Fork von ownCloud, ist ein File-Sharing-Server, mit dem Sie persönliche Inhalte wie Dokumente und Bilder an einem zentralen Ort speichern können, ähnlich wie bei Dropbox. Die Besonderheit von Nextcloud besteht darin, dass alle seine Funktionen Open-Source-basiert sind. Außerdem erhalten Sie die Kontrolle und Sicherheit Ihrer vertraulichen Daten zurück, wodurch die Nutzung des Cloud-Hosting-Services eines anderen Anbieters überflüssig wird.

In diesem Tutorial installieren und konfigurieren wir eine Nextcloud-Instanz auf einem Ubuntu 20.04-Server.

Voraussetzungen

Um die Schritte in diesem Leitfaden durchführen zu können, benötigen Sie Folgendes:

  • Einen Nicht-root-Benutzer mit sudo-Berechtigungen und eine auf Ihrem Server konfigurierte Firewall: Sie können einen Benutzer mit sudo-Berechtigungen erstellen und eine einfache Firewall einrichten, indem Sie der Anleitung zur Ersteinrichtung des Servers unter Ubuntu 20.04 folgen.
  • (Optional) Einen Domänennamen, der auf Ihren Server verweist: Wir werden Verbindungen zur Nextcloud-Installation mit TLS/SSL sichern. Wenn Ihr Server einen Domänennamen hat, kann Nextcloud ein kostenloses, vertrauenswürdiges SSL-Zertifikat von Let’s Encrypt einrichten und verwalten. Wenn nicht, kann Nextcloud ein selbstsigniertes SSL-Zertifikat einrichten, das Verbindungen verschlüsseln kann. Dem Zertifikat wird von Webbrowsern jedoch nicht standardmäßig vertraut. Wenn Sie DigitalOcean verwenden, lesen Sie unsere DNS-Dokumentation, um zu erfahren, wie Sie Ihrem Konto Domänen hinzufügen und DNS-Einträge verwalten können, wenn Sie Let’s Encrypt verwenden möchten.

Nachdem Sie die obigen Schritte abgeschlossen haben, erfahren Sie nun, wie Sie Nextcloud auf Ihrem Server einrichten.

Schritt 1 – Installieren von Nextcloud

Wir installieren Nextcloud mit dem Snap-Packsystem. Dieses Packsystem, das unter Ubuntu 20.04 standardmäßig verfügbar ist, ermöglicht Unternehmen das Ausliefern von Software mit allen zugehörigen Abhängigkeiten und Konfigurationen in einer in sich geschlossenen Einheit mit automatischen Updates. Das bedeutet, dass wir anstelle der Installation und Konfiguration eines Web- und Datenbankservers und der Konfiguration der Nextcloud-App zur Ausführung darauf das Snap-Paket installieren können, das die zugrunde liegenden Systeme automatisch verwaltet.

Um das Nextcloud-Snap-Paket herunterzuladen und im System zu installieren, geben Sie Folgendes ein:

  • sudo snap install nextcloud

Das Nextcloud-Paket wird heruntergeladen und auf Ihrem Server installiert. Sie können überprüfen, ob der Installationsprozess erfolgreich war, indem Sie die mit dem Snap verbundenen Änderungen auflisten:

  • snap changes nextcloud
Output
ID Status Spawn Ready Summary 4 Done today at 16:12 UTC today at 16:12 UTC Install "nextcloud" snap

Status und Zusammenfassung zeigen an, dass die Installation ohne Probleme abgeschlossen wurde.

Abrufen weiterer Informationen über das Nextcloud Snap

Wenn Sie weitere Informationen über das Nextcloud Snap wünschen, können Sie verschiedene Befehle nutzen.

Der Befehl snap info zeigt Ihnen die Beschreibung, die verfügbaren Nextcloud-Verwaltungsbefehle sowie die installierte Version und den verfolgten Snap-Kanal an:

  • snap info nextcloud

Snaps können Verbindungen definieren, die sie unterstützen. Sie bestehen aus einem Slot und einem Plug, die bei Verknüpfung dem Snap Zugang zu bestimmten Funktionen oder Zugriffsebenen bieten. Beispielsweise müssen Snaps, die als Netzwerkclient fungieren sollen, über die Verbindung network verfügen. Um zu sehen, welche connections (Verbindungen) dieses Snap definiert, geben Sie Folgendes ein:

  • snap connections nextcloud
Output
Interface Plug Slot Notes network nextcloud:network :network - network-bind nextcloud:network-bind :network-bind - removable-media nextcloud:removable-media - -

Um mehr über die einzelnen Dienste und Apps zu erfahren, die dieses Snap bereitstellt, können Sie sich die Snap-Definitionsdatei ansehen, indem Sie Folgendes eingeben:

  • cat /snap/nextcloud/current/meta/snap.yaml

Dadurch können Sie die einzelnen Komponenten sehen, die im Snap enthalten sind, wenn Sie Hilfe beim Debugging benötigen.

Schritt 2 – Konfigurieren eines Administratorkontos

Es gibt verschiedene Möglichkeiten, um das Nextcloud Snap zu konfigurieren. In diesem Leitfaden werden wir den administrativen Benutzer nicht über die Weboberfläche, sondern über die Befehlszeile erstellen, um das kleine Zeitfenster zu verhindern, in dem die Seite zur Administratorregistrierung für alle zugänglich wäre, die die IP-Adresse oder den Domänennamen Ihres Servers aufrufen.

Um Nextcloud mit einem neuen Administratorkonto zu konfigurieren, verwenden Sie den Befehl nextcloud.manual-install. Sie müssen einen Benutzernamen und ein Passwort als Argumente übergeben:

  • sudo nextcloud.manual-install sammy password

Die folgende Meldung zeigt an, dass Nextcloud korrekt konfiguriert wurde:

Output
Nextcloud was successfully installed

Nachdem wir Nextcloud installiert haben, müssen wir nun die vertrauenswürdigen Domänen anpassen, damit Nextcloud auf Anfragen mit dem Domänennamen oder der IP-Adresse des Servers reagiert.

Schritt 3 – Anpassen der vertrauenswürdigen Domänen

Bei Installation über die Befehlszeile schränkt Nextcloud die Hostnamen ein, auf die die Instanz reagieren wird. Standardmäßig reagiert der Dienst nur auf Anfragen, die an den Hostnamen „localhost“ gestellt werden. Wir werden auf Nextcloud über den Domänennamen oder die IP-Adresse des Servers zugreifen. Daher müssen wir die Einstellung so anpassen, dass solche Anfragen akzeptiert werden.

Sie können die aktuellen Einstellungen anzeigen, indem Sie den Wert des trusted_domains-Arrays abfragen:

  • sudo nextcloud.occ config:system:get trusted_domains
Output
localhost

Derzeit ist nur localhost als erster Wert im Array vorhanden. Wir können einen Eintrag für den Domänennamen oder die IP-Adresse unseres Servers hinzufügen, indem wir Folgendes eingeben:

  • sudo nextcloud.occ config:system:set trusted_domains 1 --value=example.com
Output
System config value trusted_domains => 1 set to string example.com

Wenn wir die vertrauenswürdigen Domänen erneut abfragen, sehen wir, dass wir jetzt zwei Einträge haben:

  • sudo nextcloud.occ config:system:get trusted_domains
Output
localhost example.com

Wenn Sie weitere Möglichkeiten für Zugriff auf die Nextcloud-Instanz hinzufügen möchten, können Sie zusätzliche Domänen oder Adressen hinzufügen, indem Sie den Befehl config:system:set mit einer inkrementierten Indexnummer (die „1“ im ersten Befehl) erneut ausführen und den --value anpassen.

Schritt 4 – Sichern der Nextcloud-Weboberfläche mit SSL

Bevor wir mit der Verwendung von Nextcloud beginnen, müssen wir die Weboberfläche sichern.

Wenn Ihr Nextcloud-Server mit einem Domänennamen verknüpft ist, kann Ihnen das Nextcloud Snap helfen, ein vertrauenswürdiges SSL-Zertifikat von Let’s Encrypt abzurufen und zu konfigurieren. Wenn Ihr Nextcloud-Server keinen Domänennamen hat, kann Nextcloud ein selbstsigniertes Zertifikat konfigurieren, das Ihren Webverkehr verschlüsselt, dem Ihr Webbrowser aber nicht automatisch vertraut.

Folgen Sie nun demjenigen Abschnitt unten, der Ihrem Szenario entspricht.

Option 1: Einrichten von SSL mit Let’s Encrypt

Wenn Ihr Nextcloud-Server mit einem Domänennamen verknüpft ist, besteht die beste Option zum Sichern Ihrer Weboberfläche darin, ein Let’s Encrypt-Zertifikat abzurufen.

Öffnen Sie zunächst die Ports in der Firewall, die Let’s Encrypt zur Validierung der Domäneneigentümerschaft verwendet. Dadurch wird Ihre Nextcloud-Anmeldeseite öffentlich zugänglich gemacht. Da wir jedoch bereits über ein Administratorkonto verfügen, kann die Installation von niemandem gekapert werden:

  • sudo ufw allow 80,443/tcp

Als Nächstes fordern Sie ein Let’s Encrypt-Zertifikat an, indem Sie Folgendes eingeben:

  • sudo nextcloud.enable-https lets-encrypt

Zuerst werden Sie gefragt, ob Ihr Server die Voraussetzungen zum Abrufen eines Zertifikats vom Let’s Encrypt erfüllt:

Output
In order for Let's Encrypt to verify that you actually own the domain(s) for which you're requesting a certificate, there are a number of requirements of which you need to be aware: 1. In order to register with the Let's Encrypt ACME server, you must agree to the currently-in-effect Subscriber Agreement located here: https://letsencrypt.org/repository/ By continuing to use this tool you agree to these terms. Please cancel now if otherwise. 2. You must have the domain name(s) for which you want certificates pointing at the external IP address of this machine. 3. Both ports 80 and 443 on the external IP address of this machine must point to this machine (e.g. port forwarding might need to be setup on your router). Have you met these requirements? (y/n)

Geben Sie y ein, um fortzufahren.

Als Nächstes werden Sie aufgefordert, eine E-Mail-Adresse für Widerherstellungen anzugeben:

Output
Please enter an email address (for urgent notices or key recovery):

Geben Sie Ihre E-Mail ein und drücken Sie die Eingabetaste, um fortzufahren.

Geben Sie abschließend den Domänenamen ein, der mit Ihrem Nextcloud-Server verknüpft ist:

Output
Please enter your domain name(s) (space-separated): example.com

Ihr Let’s Encrypt-Zertifikat wird angefordert und wenn alles gut gegangen ist, wird die interne Instanz von Apache neu gestartet, um SSL unmittelbar zu implementieren:

Output
Attempting to obtain certificates... done Restarting apache... done

Sie können nun mit dem nächsten Schritt fortfahren, um sich zum ersten Mal bei Nextcloud anzumelden.

Option 2: Einrichten von SSL mit einem selbstsignierten Zertifikat

Wenn Ihr Nextcloud-Server keinen Domänennamen hat, können Sie die Weboberfläche dennoch sichern, indem Sie ein selbstsigniertes SSL-Zertifikat generieren. Dieses Zertifikat ermöglicht Zugriff auf die Weboberfläche über eine verschlüsselte Verbindung, kann aber die Identität Ihres Servers nicht überprüfen. Daher zeigt Ihr Browser wahrscheinlich eine Warnung an.

Um ein selbstsigniertes Zertifikat zu generieren und Nextcloud für dessen Verwendung zu konfigurieren, geben Sie Folgendes ein:

  • sudo nextcloud.enable-https self-signed
Output
Generating key and self-signed certificate... done Restarting apache... done

Die Ausgabe oben zeigt an, dass Nextcloud ein selbstsigniertes Zertifikat generiert und aktiviert hat.

Nachdem die Schnittstelle nun sicher ist, öffnen Sie die Webports in der Firewall, um Zugriff auf die Weboberfläche zuzulassen:

  • sudo ufw allow 80,443/tcp

Sie können sich jetzt zum ersten Mal bei Nextcloud anmelden.

Schritt 5 – Anmelden bei der Nextcloud-Weboberfläche

Nachdem Nextcloud konfiguriert ist, besuchen Sie nun den Domänenamen oder die IP-Adresse Ihres Servers im Webbrowser Ihres besuchen

https://example.com

Anmerkung: Wenn Sie ein selbstsigniertes SSL-Zertifikat einrichten, zeigt Ihr Browser möglicherweise eine Warnung an, dass die Verbindung unsicher ist, da das Zertifikat des Servers nicht von einer anerkannten Zertifizierungsstelle signiert wurde. Das ist bei selbstsignierten Zertifikaten zu erwarten. Sie können sich also durch die Warnung klicken, um zur Website zu gelangen.

Da Sie über die Befehlszeile bereits ein Administratorkonto konfiguriert haben, werden Sie auf die Nextcloud-Anmeldeseite geleitet. Geben Sie die Anmeldedaten ein, die Sie für den Administrator erstellt haben:

Nextcloud-Anmeldeseite

Klicken Sie auf die Schaltfläche Log in (Anmelden), um sich bei der Weboberfläche von Nextcloud anzumelden.

Bei der ersten Anmeldung wird ein Fenster mit Einführungstext und Links zu verschiedenen Nextcloud-Clients angezeigt, die für Zugriff auf Ihre Nextcloud-Instanz verwendet werden können:

Nextcloud-Client-Modal

Durch Klicken können Sie beliebige Clients herunterladen, die Sie interessieren, oder das Fenster beenden, indem Sie auf das X-Zeichen in der oberen rechten Ecke klicken. Sie gelangen nun zur Hauptoberfläche von Nextcloud, wo Sie Dateien hochladen und verwalten können:

Nextcloud-Hauptseite

Ihre Installation ist nun abgeschlossen und gesichert. Sie können sich die Oberfläche ansehen, um die Funktionen und Merkmale Ihres neuen Systems besser kennenzulernen.

Zusammenfassung

Nextcloud kann die Funktionen von beliebten Cloud-Speicherdiensten anderer Anbieter replizieren. Inhalte können zwischen Benutzern oder über öffentliche URLs externfreigegeben werden. Der Vorteil von Nextcloud besteht darin, dass die Daten sicher an einem Ort gespeichert werden, den Sie kontrollieren können.

Weitere Funktionen finden Sie im Nextcloud App Store, wo Sie Plug-ins installieren können, um die Funktionen des Dienstes zu erweitern.

Creative Commons License