Nextcloud – dein eigener Cloud Storage Server unter Ubuntu 18.04

Wenn es um Möglichkeiten eines Online-Cloud-Speichers geht, der dir erlaubt, deine Dokumente, Bilder, Musik und Videos wiederauffindbar für dich bereit zu stellen, sind dir für gewöhnlich Dienste wie Dropbox, Microsoft OneDrive oder Apples iCloud geläufig. Diese stellen dank dauerhafter und geräteübergreifender Erreichbarkeit über das Internet eine attraktive und praktische Alternative zur lokalen Speicherung auf dem eigenen Endgerät dar.

Gerade im Hinblick auf sensible Daten stellt sich dann aber auch immer die Frage, wie es um die Sicherheit der abgelegten Dateien steht. Nutze die Vorteile der Cloud und behalte dabei gleichzeitig die vollständige Kontrolle über sämtliche Daten. Wie das funktioniert? Indem du deinen eigenen Onlinespeicher-Dienst hostest und verwaltest. Die notwendige Software hierzu ist Nextcloud, eine eigenständige Abspaltung von ownCloud. Nextcloud ist nämlich keine gänzlich neue Software, sondern um die Open Source Variante von ownCloud herum entwickelt worden. Was Dateispeicherung und Filesharing angeht, arbeiten die beiden Anwendungen gleichermaßen.

Unterschiede zwischen Nextcloud und ownCloud zeigen sich erst bei den Zusatz- und Sicherheitsfeatures. Im Gegensatz zu ownCloud hat Nextcloud keine Einschränkungen, die dafür sorgen, dass gewisse Komponenten wie die Volltextsuche, Workflow-Management oder Branding nur für zahlende Enterprise-Kundschaft verfügbar sind, da lediglich Support und Update-Service extra kosten. Durch die neuesten Features wie Audio- und Videotelefonie legt Nextcloud hingegen eher den Fokus auf die funktionale Erweiterung der Anwendung und lenkt in die Richtung sich zu einer komplexen Online-Collaboration-Plattform auszubauen.

In unserem Tutorial Eigenen Nextcloud-Server auf Ubuntu 16.04 LTS installieren zeige ich dir, wie du mit Nextcloud zum eigenen Cloud Storage Server unter Ubuntu 16.04 gelangst. In diesem Tutorial nun widme ich mich der Installation und Konfiguration von Nextcloud unter Ubuntu 18.04.

… vor der Installation von Nextcloud

Für die Installation nach meiner Anleitung benötigst du einen Ubuntu 18.04 Server mit vollem Root-Zugriff. gridscale macht es dir möglich, in wenigen Schritten deinen eigenen Ubuntu 18.04 Cloud-Server zu erstellen, diesen zu nutzen und zu verwalten. Informationen konkret hierzu findest du in unserem Tutorial How to gridscale. Über dein Terminal würdest du dich mit dem Server via ssh und der IP-Adresse deines Servers verbinden, wie im Code-Snippet unten veranschaulicht. IP dient hierbei als Platzhalter für die erwähnte IP-Adresse.

ssh root@IP

Zusätzlich ist es vor der Installation erforderlich, dass du deinen Server mit einem LAMP Stack ausstattest.

Letztlich müsstest du dann aber noch ein paar Module installieren. Bevor du das machst, solltest du aber gewährleisten, dass dein Server auf dem neuesten Stand ist, indem nu folgendes Kommando ausführst.

apt -y update && apt -y upgrade && apt -y dist-upgrade

php7.2 sowie die Module libapache2-mod-php7.2 und php7.2-mysql solltest du während der unter LAMP-Stack auf Ubuntu 18.04 LTS mit PHP 7.2 und Apache 2.4 bereitgestellten Installationsanleitung installiert haben. Solltest du den LAMP-Stack jedoch nicht unter Anleitung des oben erwähnten Tutorials deinem Server hinzugefügt haben und dir sollte das libapache2-Modul sowie das mysql-Modul für PHP fehlen, dann führe noch den unten aufgeführten Befehl aus.

apt-get install libapache2-mod-php7.2 php7.2-mysql

Nun zurück zum weiterführenden Inhalt dieses Tutorials hier: Anschließend müssen noch einige Programme und Erweiterungen installiert werden.

apt -y install php7.2-mbstring php7.2-zip php7.2-xml php7.2-common php7.2-gd php7.2-curl php7.2-json php7.2-intl php7.2-imagick php7.2-zip

Zusätzlich ist dann aber noch das mcrypt-Modul erforderlich. Mcrypt wird in PHP 7.2 nicht mehr unterstützt und ist daher standardmäßig nicht verfügbar.
Du kannst die mcrypt-Erweiterung jedoch weiterhin mit pecl installieren. Die folgenden Anweisungen gelten für die Installation unter dem Apache-Webserver. Stelle mit Hilfe des unten eingeblendeten Kommandos vorab sicher, dass die betreffenden Voraussetzungen installiert sind.

apt-get install php7.2-dev libmcrypt-dev gcc make autoconf libc-dev pkg-config

Kompoliere daraufhin die mcrypt-Erweiterung. Betätige einfach die Enter-Taste, wenn du nach dem libmcrypt-Präfix gefragt wirst.

pecl install mcrypt-1.0.1

Aktiviere die mcrypt-Erweiterung für Apache.

echo "extension=mcrypt.so" | tee -a /etc/php/7.2/cli/conf.d/mcrypt.ini

Schließlich führst du einen Neustart deines Webservers durch.

systemctl restart apache2

Installiere Nextcloud

Du solltest für die Installation die aktuellste Version nutzen. Die Information hierzu erhälst du direkt von der Herstellerseite. Um das Archiv direkt auf den Server zu laden, nutze ich das unten gezeigte wget-Kommando verwendet werden. In meinem Beispiel ist 15.0.1 die aktuelle Version.

wget https://download.nextcloud.com/server/releases/nextcloud-15.0.1.zip

Sollte unzip auf deinem Server noch nicht installiert sein, kannst du es mit dem unten eingeblendeten Befehl nachholen.

apt -y install unzip

Entpacke das gerade heruntergeladene Archiv mit dem unzip-Kommando.

unzip nextcloud-15.0.1.zip

Danach verschiebst du den nextcloud-Ordner in das richtige Verzeichnis.

mv ./nextcloud/* /var/www/html

Im Anschluss daran müssen wir dem Server noch die Rechte über den nextcloud-Ordner geben, wobei das Webroot Verzeichnis angetriggert wird.

chown -R www-data:www-data /var/www/html

Im letzten Schritt musst du dann noch deinen Server neu starten.

reboot

Bist du bereit zu starten?

Oder hast du noch Fragen? Lasse dir jetzt dein Konto erstellen oder dich in einem persönlichen Gespräch beraten.

Datenbank für Nextcloud in MySQL/MariaDB erstellen

Erneut via ssh unter root auf deinem Server angemeldet, geht es nun weiter damit, eine Datenbank für Nextcloud anzulegen. Melde dich zunächst in MySQL/MariaDB als root an. In meinem beispielhaften Code-Snippet tue ich das für MySQL.

mysql -u root -p

Anschließend erstellst du eine Datenbank für Nextcloud. Ich füge die Datenbank namens nextcloud hinzu.

create database nextcloud;

Dann legst du noch einen neuen Datenbankbenutzer an und erteilst ihm die nötigen Rechte an der zuvor generierten Datenbank. Mein neuer Nutzer heißt nextclouduser und hat das Passwort testpassword.

CREATE USER nextclouduser@localhost IDENTIFIED BY 'testpassword';
GRANT ALL PRIVILEGES ON nextcloud.* to nextclouduser@localhost;
FLUSH PRIVILEGES;

Nach allen gezeigten Schritten meldest du dich wieder aus MySQL/MariaDB ab.

EXIT;

Getting started mit Nextcloud

Im Browser deiner Wahl solltest du Nextcloud nun nach dem Schema IP-AdresseDeinesServers/nextcloud oder DomainDeinesServers/nextcloud aufrufen können, sodass du ein Setup-Interface siehst, wie im folgenden Screenshot zu erkennen.

In diesem Setup-Interface solltest du folgende Informationen eintragen. Ich gehe kurz im Einzelnen von oben nach unten auf die Formularfelder ein.

Benutzername: Frei wählbarer Benutzername für das Admin Konto.

Passwort: Frei wählbares Passwort. Es sollte wenigstens 8 Zeichen haben und aus kleinen und großen Buchstaben so wie mindestens einer Zahl und einem Sonderzeichen bestehen.

Datenverzeichnis: Hier solltest du den Pfad zum Ordner angeben, in dem die Daten liegen sollen. Am besten wählst du einen Ordner auf dem Datenträger, der sich außerhalb von deinem Nextcloud Installationsverzeichnis befindet. So sind deine Daten sicherer aufgehoben und du hast es bei deinen Backups, Upgrades und Restores einfacher. Außerdem ist zu beachten, dass es nach der Installation nicht ohne Weiteres möglich ist, dein Datenverzeichnis an einen anderen Ort zu verlegen.

Datenbank-Benutzer: nextclouduser (So wie in MySQL/MariaDB festgelegt)

Datenbank-Passwort: password (So wie in MySQL/MariaDB festgelegt)

Datenbank-Name: nextcloud (So wie in MySQL/MariaDB festgelegt)

Server: localhost

Mit Betätigung des Installation abschließen-Button stellst du den Installationsprozess fertig. Es werden beim ersten Start von Nextcloud Links zu den mobilen Apps gezeigt. Als Nächstes kannst du damit beginnen weitere User anzulegen und eine Ordnerstruktur je nach Usecase anzulegen.

Hinweis: Es ist des Weiteren zu empfehlen an dieser Stelle deinen Server durch ein SSL-Zertifikat zu schützen. Informationen hierzu entnimmst du unserem Tutorial zum kostenlosen SSL Zertifikat.

Fazit

Fix hast du deinen eigenen Storage-Server erstellen können. Du bist nun in der Lage einen zentralen und sicheren Speicherort für deine Dateien und Medien handzuhaben und kannst diese von allen Geräten aus abrufen. Das Design des Web UI lässt sich jederzeit und unkompliziert nach deinem Ermessen anpassen. Nextcloud wartet mit per default aktiviertem Brute-Force-Schutz auf und bietet – neben Filesharing – verschiedene weitere Collaboration-Features, wie Audio- und Video-Unterhaltung. Es hat mir Spaß gemacht, dir die wichtigsten Schritte zu deinem Nextcloud nahe zu bringen und wünsche dir guten Nutzen aus deinem persönlichen Storage-Server zu ziehen. 🙂

Warum nicht einfach mal ausprobieren? Bei gridscale kann man innerhalb von wenigen Sekunden einen eigene Server aufsetzen und das Tutorial ausprobieren. Erfahre jetzt mehr über unsere gridscale High Performance Cloud Server.