Installieren und Konfigurieren von Nextcloud unter Debian 9

Einführung

Nextcloud, ein Zweig von ownCloud, ist ein Dateifreigabeserver, mit dem Sie Ihre persönlichen Inhalte wie Dokumente und Bilder an einem zentralen Ort speichern können, ähnlich wie bei Dropbox. Der Unterschied zu Nextcloud besteht darin, dass alle Funktionen Open Source sind. Es gibt Ihnen auch die Kontrolle und Sicherheit Ihrer sensiblen Daten zurück und macht die Verwendung eines Cloud-Hosting-Dienstes eines Drittanbieters überflüssig.

In diesem Tutorial werden wir eine Nextcloud-Instanz auf einem Debian 9-Server installieren und konfigurieren.

Voraussetzungen

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

  • * Ein Sudo-Benutzer und eine Firewall, die auf Ihrem Server konfiguriert sind *: Sie können einen Benutzer mit den Rechten "+ sudo +" erstellen und eine grundlegende Firewall einrichten, indem Sie https://www.digitalocean.com/community/tutorials/initial-server- setup-with-debian-9 [Anleitung zur Erstinstallation von Debian 9-Servern].

  • * (Optional) Ein Domainname, der auf Ihren Server verweist. *: Wir sichern die Verbindungen zur Nextcloud-Installation mit TLS / SSL. Nextcloud kann unter Let’s Encrypt ein kostenloses, vertrauenswürdiges SSL-Zertifikat einrichten und verwalten, wenn Ihr Server über einen Domainnamen verfügt. Andernfalls kann Nextcloud ein selbstsigniertes SSL-Zertifikat einrichten, mit dem Verbindungen verschlüsselt werden können, das jedoch in Webbrowsern standardmäßig nicht als vertrauenswürdig eingestuft wird. Wenn Sie DigitalOcean verwenden, können Sie unserem Leitfaden unter wie Sie einen Domainnamen für Ihren Server einrichten folgen beabsichtigen, Let’s Encrypt zu verwenden.

Nachdem Sie die obigen Schritte ausgeführt haben, erfahren Sie, wie Sie Nextcloud auf Ihrem Server einrichten.

Schritt 1 - Nextcloud installieren

Wir werden Nextcloud mithilfe des snappy -Verpackungssystems installieren. Dieses Paketierungssystem, das auf Debian 9 über die Standard-Repositorys installiert werden kann, ermöglicht es Unternehmen, Software zusammen mit allen zugehörigen Abhängigkeiten und Konfigurationen in einer eigenständigen Einheit mit automatischen Updates zu liefern. Das heißt, anstatt einen Web- und Datenbankserver zu installieren und zu konfigurieren und dann die Nextcloud-App für die Ausführung darauf zu konfigurieren, können wir das Paket + snap + installieren, das die zugrunde liegenden Systeme automatisch behandelt.

Um + snap + Pakete zu installieren und zu verwalten, müssen wir zuerst das + snapd + Paket auf dem Server installieren. Aktualisieren Sie den lokalen Paketindex für "+ apt +" und installieren Sie die Software, indem Sie Folgendes eingeben:

sudo apt update
sudo apt install snapd

Als nächstes melden Sie sich entweder ab und wieder an oder rufen Sie das Skript "+ / etc / profile.d / apps-bin-path.sh " auf, um " / snap / bin " zur " PATH +" - Variable Ihrer Sitzung hinzuzufügen:

source /etc/profile.d/apps-bin-path.sh

Sobald + snapd + installiert ist, können Sie das Nextcloud-Paket + snap + herunterladen und auf dem System installieren, indem Sie Folgendes eingeben:

sudo snap install nextcloud

Das Nextcloud-Paket wird heruntergeladen und auf Ihrem Server installiert. Sie können bestätigen, dass der Installationsvorgang erfolgreich war, indem Sie die mit dem + snap + verbundenen Änderungen auflisten:

snap changes nextcloud
OutputID   Status  Spawn               Ready               Summary
1        today at 20:18 UTC  today at 20:18 UTC

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

Zusätzliche Informationen zum Nextcloud-Snap erhalten

Wenn Sie weitere Informationen über die Nextcloud "+ snap +" wünschen, gibt es einige Befehle, die hilfreich sein können.

Mit dem Befehl + snap info + können Sie die Beschreibung, die verfügbaren Nextcloud-Verwaltungsbefehle sowie die installierte Version und den zu verfolgenden Snap-Channel anzeigen:

snap info nextcloud

Snaps können von ihnen unterstützte Schnittstellen definieren, die aus einem Steckplatz und einem Stecker bestehen, die, wenn sie miteinander verbunden sind, dem Snap Zugriff auf bestimmte Funktionen oder Zugriffsebenen gewähren. Beispielsweise müssen Snaps, die als Netzwerkclient fungieren müssen, über die Schnittstelle "+ network +" verfügen. Geben Sie Folgendes ein, um zu sehen, welche Snap-Schnittstellen dieser Snap definiert:

snap interfaces nextcloud
OutputSlot           Plug
:network       nextcloud
:network-bind  nextcloud
-              nextcloud:removable-media

Um mehr über alle von diesem Snap bereitgestellten Dienste und Apps zu erfahren, können Sie die Snap-Definitionsdatei durch Eingabe von:

less /snap/nextcloud/current/meta/snap.yaml

Auf diese Weise können Sie die einzelnen im Snap enthaltenen Komponenten anzeigen, wenn Sie beim Debuggen Hilfe benötigen.

Administratorkonto konfigurieren

Es gibt verschiedene Möglichkeiten, den Nextcloud-Snap zu konfigurieren. In diesem Handbuch erstellen wir einen Administratorbenutzer nicht über die Weboberfläche, sondern über die Befehlszeile, um ein kleines Fenster zu vermeiden, in dem die Administratorregistrierungsseite für jeden zugänglich ist, der die IP-Adresse oder den Domänennamen Ihres Servers besucht.

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

sudo -i nextcloud.manual-install

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

OutputNextcloud is not installed - only a limited number of commands are available

Nachdem Nextcloud installiert ist, müssen wir die vertrauenswürdigen Domänen so anpassen, dass Nextcloud auf Anforderungen mit dem Domänennamen oder der IP-Adresse des Servers reagiert.

Anpassen der vertrauenswürdigen Domänen

Bei der Installation über die Befehlszeile schränkt Nextcloud die Hostnamen ein, auf die die Instanz reagiert. Standardmäßig antwortet der Dienst nur auf Anforderungen, die an den Hostnamen "localhost" gesendet wurden. Wir werden über den Domainnamen oder die IP-Adresse des Servers auf Nextcloud zugreifen. Daher müssen wir diese Einstellung anpassen, um diese Art von Anforderungen zu akzeptieren.

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

sudo -i nextcloud.occ config:system:get trusted_domains
Output

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

sudo -i nextcloud.occ config:system:set trusted_domains 1 --value=
Output

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

sudo -i nextcloud.occ config:system:get trusted_domains
Output

Wenn Sie eine andere Art des Zugriffs 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 Befehl anpassen + - Wert +.

Sichern des Nextcloud-Webinterface mit SSL

Bevor wir Nextcloud verwenden, müssen wir das Webinterface sichern.

Wenn Ihrem Nextcloud-Server ein Domänenname zugeordnet ist, können Sie mit dem Nextcloud-Snap unter Let’s Encrypt ein vertrauenswürdiges SSL-Zertifikat abrufen und konfigurieren. Wenn Ihr Nextcloud-Server keinen Domain-Namen hat, kann Nextcloud ein selbstsigniertes Zertifikat konfigurieren, das Ihren Webdatenverkehr verschlüsselt, die Identität Ihres Servers jedoch nicht überprüfen kann.

Befolgen Sie in diesem Sinne den nachstehenden Abschnitt, der Ihrem Szenario entspricht.

Option 1: Einrichten von SSL mit Let’s Encrypt

Wenn Ihrem Nextcloud-Server ein Domänenname zugeordnet ist, können Sie Ihr Webinterface am besten mit einem Let’s Encrypt SSL-Zertifikat sichern.

Öffnen Sie zunächst die Ports in der Firewall, die Let’s Encrypt zur Überprüfung des Domainbesitzes verwendet. Dadurch wird Ihre Nextcloud-Anmeldeseite öffentlich zugänglich. Da wir jedoch bereits ein Administratorkonto konfiguriert haben, kann niemand die Installation hijacken:

sudo ufw allow "WWW Full"

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

sudo -i nextcloud.enable-https lets-encrypt

Zuerst werden Sie gefragt, ob Ihr Server die Voraussetzungen erfüllt, um ein Zertifikat vom Let’s Encrypt-Dienst anzufordern:

OutputIn 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 anzugeben, die für Wiederherstellungsvorgänge verwendet werden soll:

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

Geben Sie zum Schluss den Domainnamen ein, der Ihrem Nextcloud-Server zugeordnet ist:

OutputPlease enter your domain name(s) (space-separated):

Das Let’s Encrypt-Zertifikat wird angefordert und die interne Apache-Instanz wird neu gestartet, um SSL sofort zu implementieren:

OutputAttempting to obtain certificates... done
Restarting apache... done

Sie können jetzt mit dem folgenden Link fortfahren: # Anmelden an der Nextcloud-Weboberfläche [Erstmalige Anmeldung bei Nextcloud].

Option 2: Einrichten von SSL mit einem selbstsignierten Zertifikat

Wenn Ihr Nextcloud-Server keinen Domänennamen hat, können Sie die Webschnittstelle trotzdem sichern, indem Sie ein selbstsigniertes SSL-Zertifikat generieren. Dieses Zertifikat ermöglicht den Zugriff auf die Webschnittstelle über eine verschlüsselte Verbindung, kann jedoch die Identität Ihres Servers nicht überprüfen, sodass in Ihrem Browser wahrscheinlich eine Warnung angezeigt wird.

Geben Sie Folgendes ein, um ein selbstsigniertes Zertifikat zu generieren und Nextcloud für die Verwendung zu konfigurieren:

sudo nextcloud.enable-https self-signed
OutputGenerating key and self-signed certificate... done
Restarting apache... done

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

Nachdem die Schnittstelle sicher ist, öffnen Sie die Webports in der Firewall, um den Zugriff auf die Webschnittstelle zu ermöglichen:

sudo ufw allow "WWW Full"

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

Anmelden am Nextcloud-Webinterface

Besuchen Sie nach der Konfiguration von Nextcloud den Domänennamen oder die IP-Adresse Ihres Servers in Ihrem Webbrowser:

https://

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

Klicken Sie auf die Schaltfläche * Anmelden *, um sich bei der Nextcloud-Weboberfläche anzumelden.

Beim ersten Aufrufen wird ein Fenster mit Links zu verschiedenen Nextcloud-Clients angezeigt, über die Sie mit Ihrer Nextcloud-Instanz interagieren und sie verwalten können:

Klicken Sie sich durch, um die Clients herunterzuladen, an denen Sie interessiert sind, oder schließen Sie das Fenster, indem Sie auf das * X * in der oberen rechten Ecke klicken. Sie werden zur Nextcloud-Hauptoberfläche weitergeleitet, wo Sie mit dem Hochladen und Verwalten von Dateien beginnen können:

Ihre Installation ist jetzt abgeschlossen und gesichert. Sie können die Benutzeroberfläche erkunden, um sich mit den Merkmalen und Funktionen Ihres neuen Systems vertraut zu machen.

Fazit

Nextcloud kann die Funktionen beliebter Cloud-Speicherdienste von Drittanbietern replizieren. Inhalte können zwischen Benutzern oder extern mit öffentlichen URLs geteilt werden. Der Vorteil von Nextcloud ist, dass die Informationen sicher an einem Ort gespeichert werden, den Sie kontrollieren.

Informieren Sie sich über die Benutzeroberfläche und installieren Sie Plug-ins für zusätzliche Funktionen unter Verwendung von Nextclouds App Store.