Dienste wie Dropbox vereinfachen den Zugriff auf Ihre Dateien über verschiedene Geräte hinweg. Es könnte jedoch sein, dass Sie eine größere Kontrolle darüber wünschen. In weniger als einer halben Stunde können Sie Ihren eigenen Cloud-Synchronisationsdienst auf einem Server einrichten und betreiben, den Sie mithilfe von Nextcloud verwalten.
Was genau ist Nextcloud?
Nextcloud ist eine quelloffene Software, die es Ihnen ermöglicht, Dateien zwischen Ihrem Computer und anderen Geräten zu synchronisieren – ähnlich wie Dropbox, OneDrive oder Google Drive. Darüber hinaus verfügt Nextcloud über ein vielseitiges App-Ökosystem, das es Ihnen gestattet, mehr als nur Dateien zu synchronisieren. Sie können Nextcloud beispielsweise zur Verwaltung von Kalendern und Kontakten verwenden oder einen webbasierten IMAP-E-Mail-Client betreiben. Sogar ein Live-Chat-System exklusiv für Sie und alle, die Zugriff auf Ihren Server haben, lässt sich einrichten.
Bevor wir jedoch ins Detail gehen, eine Warnung: Sobald Sie Nextcloud in Betrieb nehmen, sind Sie für die Wartung des Servers verantwortlich. Das bedeutet, dass Sie neben der Verwaltung der Nextcloud-Software auch sicherstellen müssen, dass das darunterliegende Server-Betriebssystem stets aktuell und mit den neuesten Sicherheitsupdates versehen ist. Nextcloud-Server laufen im Allgemeinen stabil, aber wenn etwas schiefgeht, sind Sie dafür zuständig, das Problem zu beheben.
Die gute Nachricht ist, dass es viele Blogs, Foren und Hilfeseiten gibt, die Ihnen bei der Fehlersuche helfen können. Wenn Sie auf ein Problem stoßen, ist es sehr wahrscheinlich, dass jemand anderes dasselbe Problem hatte und eine Lösung existiert.
Was Sie benötigen
Die Standard-Weboberfläche von Nextcloud.
Um mit Nextcloud loszulegen, benötigen Sie die folgenden drei Dinge:
- Einen virtuellen Server mit Ubuntu 18.04
- Die Bash-Shell auf Ihrem Computer
- Einen Domainnamen
Für unsere Beispiele erstellen wir verschiedene Benutzernamen und Passwörter, darunter:
- Den Root-Benutzernamen und das Passwort für Ihren Server.
- Einen regulären Serverbenutzer mit Administratorrechten und dazugehörigem Passwort.
- Einen Nextcloud-Benutzernamen und Passwort.
In diesem Tutorial nutzen wir einen virtuellen Server, der Ubuntu 18.04 von DigitalOcean verwendet. Sie können aber auch jeden anderen Anbieter wählen, wie etwa Linode oder AWS. Unabhängig von Ihrem Anbieter ist es wichtig, dass Sie Ubuntu 18.04 verwenden (die aktuelle LTS-Version zum jetzigen Zeitpunkt), um mögliche Schwierigkeiten zu vermeiden.
Jeder Anbieter von virtuellen Servern ist etwas anders, aber alle haben das Ziel, einen Server mit wenigen Mausklicks betriebsbereit zu machen. Für den Anfang empfehlen wir Ihnen, einen einfachen Basisserver zu verwenden, bis Sie sich an Nextcloud gewöhnt haben. Digital Oceans $5 Droplet bietet 1 GB RAM, 1 CPU-Kern, 1 TB Datentransfer und 25 GB Speicherplatz. Linode bietet eine ähnliche VPS zu einem ähnlichen Preis an.
Wenn Sie mit SSH-Schlüsseln noch nicht vertraut sind, fragen Sie Ihren Provider nach passwortbasierten Root-Zugangsdaten, um loszulegen. Sobald Ihr Server läuft und Sie mit der Befehlszeile vertraut sind, können Sie in den Hilfeseiten Ihres Providers nachlesen, wie Sie SSH-Schlüssel für einen sichereren Login hinzufügen.
Wenn auf Ihrem Computer Windows 10 läuft, müssen Sie das Windows-Subsystem für Linux installieren und eine Bash-Shell mit Linux-Tools installieren, um fortzufahren. Falls Sie Linux oder macOS nutzen, ist das Terminalprogramm alles, was Sie brauchen. Bei den meisten Bash-Terminals ist SSH bereits installiert, wenn nicht, geben Sie einfach `sudo apt-get install ssh` in Ihr Terminalfenster ein, um es zu installieren.
Ihr Domainname muss keine .COM-Adresse sein. Sie und Ihre engsten Freunde und Familie werden ihn nutzen. Wir haben zum Beispiel einen .XYZ-Domainnamen für nur 1 Dollar pro Jahr gefunden, der einwandfrei funktioniert.
Vorbereitung Ihres Servers
Um Ihren Server einsatzbereit zu machen, müssen Sie ein reguläres Benutzerkonto mit Administratorrechten einrichten. Es ist eine sehr schlechte Idee, sich nach der ersten Konfiguration als allmächtiger Root-Benutzer anzumelden.
Sie sollten von Ihrem Serveranbieter nun eine IP-Adresse und ein Root-Passwort erhalten haben. Über die IP-Adresse verbinden Sie sich mit dem Server, und das Passwort verschafft Ihnen Zugang.
Geben Sie zunächst Folgendes ein (ersetzen Sie die X durch die IP-Adresse Ihres Servers) und drücken Sie dann die Eingabetaste:
Unsere IP-Adresse lautet 165.22.81.172, daher haben wir diese in unseren Befehl eingegeben. Wenn alles nach Plan verläuft, fragt der Remote-Server (auf dem Sie Nextcloud installieren) nach einem Passwort. Geben Sie das Passwort ein, das Ihnen Ihr Serveranbieter mitgeteilt hat.
Sie werden dann aufgefordert, ein neues Passwort für root festzulegen. Wählen Sie etwas, das Ihnen gefällt – aber vergessen Sie es nicht!
Sie befinden sich nun in Ihrem Remote-Server, und es ist Zeit, mit der Arbeit zu beginnen. Drücken Sie nach jedem Befehl in diesem Artikel die Eingabetaste, um ihn auszuführen.
Zunächst geben wir Folgendes ein, um dem Server einen neuen Benutzer hinzuzufügen:
adduser ian
Ersetzen Sie „ian“ durch den gewünschten Benutzernamen. Nach der Ausführung dieses Befehls werden Sie aufgefordert, ein Passwort für den neuen Benutzer anzugeben. Die restlichen Informationen, die der Server anfordert, sind optional. Falls Sie keine Angaben machen möchten, drücken Sie einfach weiter die Eingabetaste.
Als Nächstes geben wir Folgendes ein, um unserem neuen Benutzer Administratorrechte zu gewähren:
usermod -aG sudo ian
Ersetzen Sie „ian“ erneut durch den zuvor gewählten Benutzernamen.
Nun öffnen wir ein zweites Terminalfenster und geben Folgendes ein, um sicherzustellen, dass die neuen Benutzerkonten funktionieren:
Ersetzen Sie das oben Gesagte wieder durch Ihren Benutzernamen und die IP-Adresse Ihres Servers. Geben Sie das Passwort ein, das Sie für dieses Benutzerkonto erstellt haben, wenn Sie dazu aufgefordert werden. Wenn alles funktioniert, kehren Sie zum Terminalfenster zurück, in dem Sie als Root angemeldet sind.
Jetzt geben wir Folgendes ein, um sicherzustellen, dass die Ubuntu-Firewall ordnungsgemäß funktioniert:
ufw allow OpenSSH
ufw enable
ufw status
Dieser letzte Statusbefehl sollte etwas wie das folgende Bild zurückgeben und bestätigen, dass die Firewall SSH nicht blockiert.
Den Teil „80, 443/tcp“ werden Sie noch nicht sehen, aber dazu kommen wir später. Schließen wir nun das Root-Fenster und kehren mit dem regulären Benutzer zum zweiten Terminalfenster zurück.
Installation von Nextcloud
Es gab eine Zeit, in der man die Nextcloud-Software, PHP, die Webserversoftware und die Datenbank separat konfigurieren und installieren musste.
Viel einfacher ist es, das offizielle Snap-Paket zu verwenden, das alles mit einem einzigen Befehl erledigt. Es gibt kein Herumspielen mit der Datenbank, und Sie müssen sich nicht darum kümmern, ob Apache oder Nginx Ihre Website bereitstellt.
Wenn Sie im Detail sehen möchten, was das Snap-Paket installiert (Spoiler: es ist der Rest des LAMP-Stacks plus Redis), sehen Sie sich das Nextcloud-Snap-Repository auf GitHub an.
Wir geben Folgendes ein:
sudo snap install nextcloud
Das „sudo“ am Anfang erhöht das reguläre Benutzerkonto, sodass es vorübergehende Administratorrechte hat. Dazu werden Sie nach Ihrem Passwort gefragt. Wenn alles gut geht, ist Nextcloud in ein oder zwei Minuten installiert und (fast) einsatzbereit.
Als Nächstes geben wir Folgendes ein, um ein neues Nextcloud-Benutzerkonto zu erstellen, das sich bei unserer Website anmelden kann:
sudo nextcloud.manual-install ianpaul correctHorseBatteryStaple
Geben Sie anstelle von „ianpaul“ den Benutzernamen ein, mit dem Sie sich bei Nextcloud anmelden möchten. Das Stück „correctHorseBatteryStaple“ ist unser Passwort. Verwenden Sie es nicht – es stammt aus einem sehr bekannten XKCD-Comic und ist nur ein Beispiel.
Der Umgang mit Domains
Um es Ihnen einfacher zu machen, möchten wir nicht ständig eine IP-Adresse verwenden, um auf unseren Server zuzugreifen. Stattdessen verwenden wir einen Domainnamen, den Sie wiederum für nur 1 Dollar pro Jahr bekommen können. In unserem Beispiel verwenden wir wdzwdzTest.xyz.
Sobald Sie eine Domain haben, sollten Sie die DNS-Einstellungen von Ihrem Domain-Registrar (wo Sie die Domain erworben haben) auf Ihren Serveranbieter verweisen. Wenn Sie beispielsweise DigitalOcean gewählt haben, lauten diese Einstellungen ns1.digitalocean.com, ns2.digitalocean.com und ns3.digitalocean.com.
Gehen Sie als Nächstes zu Ihrem Serveranbieter (z. B. DigitalOcean, Linode oder welchen Sie auch immer gewählt haben) und fügen Sie die neue Domain zu Ihrem Konto hinzu. Sie müssen einen A-Eintrag hinzufügen, der auf Ihre IP-Adresse verweist, einen CNAME-Eintrag, wenn Sie nicht ständig „www“ verwenden wollen, und NS-Einträge, falls diese nicht automatisch hinzugefügt wurden.
Das Bild unten zeigt ein Beispiel von DigitalOcean.
Technisch gesehen kann es bis zu 24 Stunden dauern, bis Ihre Domain verfügbar ist, aber normalerweise beginnt sie innerhalb weniger Minuten zu funktionieren.
Zurück zu Nextcloud
Wenn die Domain eingerichtet ist, können wir Nextcloud im Terminal fertigstellen. Wenn Sie sich von Ihrem Server mit Ihrem regulären Benutzerkonto abgemeldet haben (z.B. ian@xxx.xxx.xxx.xxx in unserem Beispiel), melden Sie sich erneut an.
Nun geben wir Folgendes ein, um unsere neue Domain zu Nextcloud hinzuzufügen:
sudo nextcloud.occ config:system:set trusted_domains 1 –value=wdzwdztest.xyz
Geben Sie nach „–value=“ Ihre Domain ein und nicht unsere (wdzwdztest.xyz).
Als Nächstes geben wir Folgendes ein, um sicherzustellen, dass unsere neue Domain korrekt hinzugefügt wurde:
sudo nextcloud.occ config:system:get trusted_domains
Das Terminal sollte etwas wie das Bild unten ausdrucken.
Als Nächstes geben wir Folgendes ein, um sicherzustellen, dass wir die gewünschten Ports verwenden können, indem wir sie durch die Firewall lassen:
sudo ufw allow 80,443/tcp
Port 80 wird für unverschlüsselten HTTP-Verkehr genutzt, während Port 443 für SSL/TLS verwendet wird.
Apropos, wir brauchen ein kostenloses SSL/TLS-Zertifikat von Let’s Encrypt. Geben Sie also Folgendes ein:
sudo nextcloud.enable-https lets-encrypt
Sobald der Let’s Encrypt-Generator gestartet wurde, fragt er nach einer E-Mail-Adresse und Ihrem Nextcloud-Domainnamen. Folgen Sie einfach den Anweisungen, und Sie sollten in Kürze ein sicheres Website-Zertifikat erhalten. Wenn Let’s Encrypt erfolgreich war, ist es an der Zeit, Ihr Setup zu testen.
Gehen Sie zu Ihrer neuen Domain (wie unserer wdzwdztest.xyz). Sie sollten eine Nextcloud-Anmeldeseite (siehe unten) mit einem Schlosssymbol in der Adresszeile sehen.
Wenn Sie die Anmeldeseite sehen, können Sie loslegen. Wenn nicht, warten Sie einige Stunden und versuchen Sie es erneut. Wenn Sie den Fehler sofort beheben möchten, können Sie prüfen, ob der Server über die IP-Adresse antwortet.
Dafür müssen wir Folgendes eingeben, um die IP-Adresse zu unseren vertrauenswürdigen Domains hinzuzufügen:
sudo nextcloud.occ config:system:set trusted_domains 2 –value=165.22.81.172
Beachten Sie, dass wir „trusted_domains 2“ und nicht „trusted_domains 1“ verwendet haben. Wenn Sie nur „trusted_domains 1“ wiederholen, überschreiben Sie Ihren tatsächlichen Domainnamen in der Liste der vertrauenswürdigen Domains und können ihn nicht mehr verwenden.
Geben Sie anschließend die IP-Adresse in die Adressleiste Ihres Browsers ein, und Sie sollten die Anmeldeseite oben sehen. Wenn nicht, ist bei der Installation etwas schiefgelaufen.
Da wir kein SSL-Zertifikat für die IP-Adresse haben, ist eine sichere Anmeldung darüber nicht möglich. Aus diesem Grund empfehlen wir Ihnen, die IP aus der Liste der vertrauenswürdigen Domains zu entfernen, nachdem Sie bestätigt haben, dass der Server funktioniert. Geben Sie dazu Folgendes ein:
sudo nextcloud.occ config:system:delete trusted_domains 2
Leistungssteigerung
Wenn Ihr Nextcloud-Server nicht gut funktioniert, müssen Sie möglicherweise das Speicherlimit erhöhen. Standardmäßig beträgt es 128 MB. Um es auf 512 MB zu erhöhen, melden Sie sich über das Terminal beim Server an und geben Sie Folgendes ein:
sudo snap set nextcloud php.memory-limit=512M
Nachdem Nextcloud nun einsatzbereit ist, können Sie sich anmelden, verfügbare Apps durchsuchen, Dateien mit anderen teilen und Nextcloud auf Ihrem Desktop und Mobilgerät installieren, um mehrere Geräte zu synchronisieren. Nextcloud bietet Desktop-Synchronisierungstools und mobile Apps für Windows, Mac, Linux, iPhone, iPad und Android.
Willkommen bei Ihrer persönlichen Dropbox!