Führende Owncloud-Entwickler, darunter der Gründer Frank Karlitschek, überwarfen sich mit dem Kurs des Projekts und haben mit Nextcloud einen Fork gestartet. Der soll ein besseres Gleichgewicht zwischen Unternehmen, Kunden und Nutzern herstellen.
Die freie Cloudspeicher-Software Owncloud mauserte sich in den vergangenen Jahren zu einer ernsthaften Alternative zu kommerziellen Diensten wie Dropbox oder Google Drive. Wer seine Daten für sich behalten möchte, sie aber trotzdem komfortabel zwischen seinen Rechnern und mobilen Geräten abgleichen oder gezielt mit anderen teilen will, greift zur Owncloud-Instanz auf einem kleinen Server. Nutzer von NAS-Geräten finden die Software oft in den offiziellen Paketquellen des jeweiligen Systems.
Doch die Erfolgsgeschichte von Owncloud bekam Ende April 2016 einen herben Dämpfer: Zusammen mit dem Owncloud-Gründer Frank Karlitschek [1] verließen etliche Stammentwickler das Projekt, um mit Nextcloud [2] einen Fork von Owncloud weiterzuführen. Jos Poortvliet, zuvor Ownclouds Community-Manager und jetzt für die Kommunikation bei Nextcloud verantwortlich, bezeichnet das Vorhaben als “Neustart”. Als Grund für die Neugründung geben Karlitschek und Poortvliet “strukturelle Probleme” und einige “wirtschaftliche Entscheidungen” des Owncloud-Unternehmens an, die für große Unzufriedenheit gesorgt hätten.
Nextcloud kooperiert mit dem Unternehmen Spreed.me [3], das einen WebRTC-Server als Videokonferenzlösung mit Owncloud kombiniert und einen damit vorinstallierten Rechner unter dem Namen Spreedbox [4] verkauft. Das neue Unternehmen führen Frank Karlitschek und Niels Mache – Letzterer war bisher für Spreed.me verantwortlich und zählt zu den Mitgründern von Red Hat Deutschland.
Das neue Projekt will die Webanwendung über die Kernfunktionalität hinaus deutlich erweitern und etwa den WebRTC-Server von Spreed sowie die dazugehörige Anwendung in Nextcloud integrieren. Zudem möchte man viel genutzte Owncloud-Anwendungen wie den Kalender oder die Kontaktverwaltung pflegen und offiziell unterstützen. Es existieren auch Pläne, mit LibreOffice zu kooperieren, um Office-Dokumente kollaborativ im Browser zu bearbeiten.
Next- vs. Owncloud
Die derzeit vorliegende Ausgabe von Nextcloud trägt die Versionsnummer 9.0.52 und basiert zu wesentlichen Teilen noch auf Owncloud 9. Unter den Neuerungen des Forks findet sich zum Beispiel eine Write-Only-Funktion. Sie erlaubt anonymen Nutzern das Hochladen von Daten auf den Cloudspeicher, ohne dass sie selbst Zugriff auf vorhandene Dateien und Verzeichnisse erhalten. Ebenfalls neu ist eine Protokollierung von Ereignissen wie etwa Dateifreigaben, Updates oder Logins. Des Weiteren gibt das Entwicklerteam an, die Software gegen Angriffe gehärtet und einige Fehler beseitigt zu haben.
Bei der Installation von Nextcloud können Sie sich in vielen Fällen an Anleitungen zu Owncloud orientieren. Im Rahmen des Tests muss sich Nextcloud auf einem RasPi 3 mit Raspbian “Jessie” Lite im Zusammenspiel mit Apache und MariaDB (ehemals MySQL) beweisen. Eine Port-Weiterleitung vom Router erlaubt den Zugriff aus dem Internet auf den Home-Server. Mithilfe eines kostenlosen SSL-Zertifikats von Let’s Encrypt schützen Sie Ihre Daten auf dem Weg durch das Internet vor fremden Blicken.
Installation
Bevor Sie mit der Installation von Nextcloud beginnen, aktualisieren Sie am besten die Paketquellen des Systems und spielen die anstehenden Updates der Distribution ein (Listing 1, Zeile 1 und 2). Anschließend installieren Sie den Apache-Webserver mitsamt MariaDB und allen für den Dienst benötigten Apache- und PHP-Erweiterungen (Zeile 3). Für “lesbare” URLs aktivieren Sie danach das Apache-Modul mod_rewrite sowie für die SSL-Verbindung noch mod_headers; anschließend starten Sie den Webserver neu (Zeile 4 bis 6). Als Datenbank ließe sich zwar auch SQLite einsetzen, für den Zugriff von mehr als zwei, drei Anwendern empfiehlt sich jedoch MySQL/MariaDB.
Listing 1
$ sudo apt update $ sudo apt full-upgrade $ sudo apt install apache2 mariadb-server php5 libapache2-mod-php5 php5-gd php5-json php5-mysql php5-curl php5-intl php5-mcrypt php5-imagick $ sudo a2enmod rewrite $ sudo a2enmod headers $ sudo service apache2 restart
Bei der Installation des MariaDB-Servers erfragt das System ein Root-Passwort für den Datenbankserver. Dies sollte sich aus Sicherheitsgründen vom eigentlich Root-Passwort des Systems beziehungsweise vom Passwort für den Nutzer pi unterscheiden. Danach fehlt Nextcloud noch eine Datenbank, die in Zukunft die Daten des Cloudspeichers organisiert. Dazu melden Sie sich beim MariaDB-Server an und erstellen die Datenbank samt der entsprechenden Rechte und Einstellungen (Listing 2). Beim Anlegen des Datenbank-Benutzers (CREATE USER [...]) sollten Sie zur Sicherheit ein besseres Passwort als geheim verwenden. Merken Sie es sich, Sie müssen es später nochmals eingeben.
Listing 2
$ mysql -u root -p MariaDB [(none)]> CREATE DATABASE nextcloud; MariaDB [(none)]> CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'geheim'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit;
Let’s Encrypt
Im nächsten Schritt ermöglichen Sie den Zugriff aus dem Internet und sichern die Verbindung zum Server über ein SSL-Zertifikat von Let’s Encrypt [5]. Dazu müssen Sie in einem ersten Schritt die Ports 80 und 443 (HTTP/HTTPS) von Ihrem Router auf den Nextcloud-RasPi weiterleiten. Zudem benötigen Sie eine Internet-Adresse, unter der sich Ihr Heimnetz künftig erreichen lässt – in der Regel teilt Ihr Internetanbieter Ihrem Router bei jeder Einwahl eine neue Internet-IP-Adresse zu. Kostenlos und ohne Nervigkeiten (wie etwa ein zwingend erforderliches monatliches Einloggen in die Weboberfläche) übernimmt zum Beispiel der DynDNS-Service [6] diese Aufgabe.
Mit einer Fritzbox loggen Sie sich dafür unter http://fritz.box in die Routeroberfläche ein und öffnen dort das Menü unter Internet | Freigaben | Portfreigaben. Hier starten Sie mit einem Klick auf Neue Portfreigabe den entsprechenden Assistenten. Wählen Sie unter Portfreigabe aktiv für den Punkt Andere Anwendungen aus und tragen die entsprechenden Daten ein (Abbildung 1). Wiederholen Sie das Vorgehen nach dem Port 80 für den Port 443. Andere Router bieten zu diesem Vorgehen ähnliche Dialoge.

Abbildung 1: Für einen verschlüsselten Zugang zu Nextcloud müssen Sie die Ports 80 und 443 von Ihrem Router auf den zukünftigen Cloud-RasPi weiterleiten.
Ebenfalls unter den Freigaben finden Sie in den Fritzbox-Settings den Reiter Dynamic DNS. Im zugehörigen Dialog übernehmen Sie die von Ihrem DynDNS-Anbieter genannten Einstellungen (Abbildung 2). Der im Beispiel genutzte Dienst Ddnss.de gibt konkrete Anweisungen für Fritzbox-Router von AVM. Üblicherweise lassen sich diese auch für andere Router in ähnlicher Form übernehmen. Für einen ersten Test rufen Sie anschließend die Testseite des frisch eingerichteten Webservers über die DynDNS-Adresse auf.

Abbildung 2: DynDNS-Anbieter wie der kostenlose DynDNS-Service verbinden eine statische Internet-Adresse mit der dynamischen Internet-IP Ihres Netzzugangs.
Funktioniert das, ergänzen Sie den Webserver um das Let’s-Encrypt-Zertifikat. Installieren Sie dazu die noch fehlenden Pakete certbot und python-certbot-apache. Dazu müssten Sie vorübergehend die Debian-Backports aktivieren. Für Raspbian “Jessie” gibt es diese nicht – daher erhalten Sie während der Installation Fehlermeldungen, die besagen, dass die Schlüssel der Paketbetreuer nicht im System hinterlegt sind. Ignorieren Sie diese, und löschen Sie nach der Installation der Pakete den Eintrag für die Backports wieder aus der Paketverwaltung (Listing 3).
Listing 3
$ sudo -s $ echo "deb http://httpredir.debian.org/debian jessie-backports main contrib non-free" > /etc/apt/sources.list.d/debian-jessie-backports.list $ apt-get update -y $ sudo apt install -t jessie-backports certbot python-certbot-apache -y $ rm /etc/apt/sources.list.d/debian-jessie-backports.list $ apt-get update


