Mit ownCloud auf dem Raspberry Pi eine private Cloud einrichten

Die Nutzung von Online-Speicherplatz über Personal-Cloud-Dienste wie Dropbox, Google Drive oder Amazon Drive erfreut sich großer Beliebtheit. Mit ihnen lassen sich Dateien in einer Cloud speichern, die dort jederzeit abrufbar sind – alles was Sie neben der Software hierfür brauchen, ist ein Computer oder ein mobiles Endgerät mit Internetzugang.

In Bezug auf Cloud-Hosting-Anbieter sind aber auch immer wieder Bedenken zu vernehmen. Kritisiert wird oft, dass die Kunden nicht wissen, wer außer ihnen selbst noch Zugang zu den gespeicherten Daten hat und ob diese nach der Löschung auch wirklich endgültig von den Servern verschwinden – was gerade bei der Speicherung sensibler Daten äußerst wichtig ist. Wer die vollständige Kontrolle über seine Daten behalten möchte, kann sich jedoch eine selbstverwaltete persönliche Cloud erstellen.

Eine etablierte, kostenlose und einfach zu bedienende Software hierfür ist ownCloud. Mit dem Raspberry Pi existiert zudem ein günstiger Mini-Computer, den Sie äußerst gut als Server-Rechner (Host) für eine ownCloud einsetzen können. Unser Tutorial verrät Ihnen, was Sie neben dem Raspberry Pi für Ihre Cloud benötigen und wie Sie diese einrichten.

Was spricht für die Raspberry-Pi-ownCloud-Kombination?

ownCloud ist eine freie Filehosting-Webanwendung, mit der Sie Ihren persönlichen Onlinespeicher erstellen können. Über eine Weboberfläche haben Sie von jedem Browser aus Zugriff auf die Daten. Allerdings können Sie auch über Desktop-Clients und Mobile Apps Daten hoch- und herunterladen (inklusive Daten-Synchronisation). Neben der Funktion als Dateiserver bietet ownCloud diverse weitere Funktionen:

  • Kalender/Aufgabenplaner
  • Adressbuch
  • Musik- und Videowiedergabe
  • Betrachtung von Bild-, PDF- und Microsoft-Office-Dateien
  • Editor für OpenDocument-Dokumente
  • Benutzer-, Gruppen- und Rechteverwaltung

Darüber hinaus ist es möglich, sowohl die Daten selbst als auch die Dateiübertragung zu verschlüsseln. ownCloud stellt eine interessante Alternative zu den großen Cloud-Diensten dar und wird von vielen Usern dafür geschätzt, dass man mit der Software seine Daten auf einem privaten Server oder einem gemieteten Webspace speichert – und damit nicht die Dateien auf den Festplatten großer Konzerne ablegen muss, um sie ständig abrufbereit zu halten.

Für das Filehosting benötigen Sie einen Rechner mit passender Server-Software, über den die Daten schlussendlich ins Internet gelangen. Es gibt gute Argumente, die für die Nutzung des Raspberry Pis als Host für die ownCloud sprechen: Einerseits ist der Anschaffungspreis für den Rechner und alle weiteren Komponenten äußerst günstig – es gibt kaum ein besseres Preis-Leistungs-Verhältnis für eine selbstgehostete Personal Cloud, als diese über einen Raspberry Pi zu hosten. Andererseits ist der Stromverbrauch des kleinen Einplatinencomputers sehr niedrig, was vor allem bei einem Server von Vorteil ist, der permanent einsatzbereit sein soll.

Generell existieren viele verschiedene Programme und Vorgehensweisen, über die man einen Raspberry Pi als ownCloud-Host nutzen kann. Für den im Folgenden vorgestellten ownCloud-Server wird ein Apache-Webserver in der Version 2 verwendet (der Apache HTTP Server) ist der zurzeit am meisten genutzte Webserver). Weiterhin kommt neben der Skriptsprache PHP 5 noch SQLite als Datenbank zum Einsatz (gegenüber anderen Datenbanken wie MySQL hat SQLite den Vorteil, dass es weniger stark die Ressourcen des Raspberry Pis belastet).

Vorbereitung für eine ownCloud auf dem Raspberry Pi

Um auf Ihrem Raspberry Pi eine Cloud einzurichten, benötigen Sie neben dem kleinen Rechner noch ein paar weitere Bauteile. Außerdem müssen Sie im Vorfeld einige Einstellungen tätigen, bevor es an die eigentliche Installation und Einrichtung von ownCloud 9 geht.

Notwendige Komponenten

  • Ein Raspberry Pi, der als Server für die ownCloud fungiert; empfohlen ist ein Raspberry Pi 2 Modell B oder ein leistungsstärkeres Modell, da ansonsten die Geschwindigkeit für den Datei-Upload und -Download relativ gering ausfallen kann (dies ist aber auch abhängig von der Datenübertragungsrate des Internetanschlusses).
  •  Eine Micro-SD-Speicherkarte mit ausreichend Speicherplatz (empfohlen sind hier mindestens 8 GB). Wie viel Speichervolumen Sie benötigen, ist selbstverständlich von der Art und Menge der Dateien abhängig, die Sie speichern wollen, und ob Sie diese allein auf der Karte oder auf einem weiteren, an den Raspberry Pi angeschlossenen Speichermedium lagern möchten. Eine ownCloud kann darüber hinaus auch externe Speicher im Internet nutzen (per FTP oder WebDAV). Ebenso lassen sich andere Cloud-Dienste wie Dropbox oder Amazon S3 in eine ownCloud einbinden. In diesem Tutorial wird Raspbian Jessie als Betriebssystem verwendet, das dementsprechend auf der Micro-SD-Karte installiert sein muss. Falls Ihr Raspberry Pi noch unter der Vorgängerversion Wheezy läuft, laden Sie sich für dieses Tutorial Jessie von der offiziellen Website herunter und spielen es auf den Mini-Rechner.
  • Eine Internetverbindung (im Idealfall via Netzwerkkabel, ansonsten per WLAN).
  • Stromversorgung über ein Micro-USB-Kabel.

Optional ist die Verwendung eines weiteren Speichermediums (eine externe Festplatte oder ein USB-Speicherstick), damit Ihren Dateien mehr Platz zur Verfügung steht. Allerdings muss diese separat eingerichtet werden. Des Weiteren kann in manchen Fällen auch eine Lüftung oder ein passiver Kühler (weniger leistungsstark, dafür ohne Geräusche) sinnvoll sein – vor allem wenn Sie den kleinen Computer übertakten (was zumindest bei den Vorgängermodellen des Raspberry Pi 3 B möglich war). Aber auch wenn Sie Ihren Raspberry Pi als ownCloud-Host im Dauerbetrieb nutzen möchten, kann eine Kühlung nicht schaden.

Wie fast jeder Server kann auch der unten vorgestellte „headless“ gesteuert werden – also ohne Bildschirm, Tastatur oder Maus. Da dies sowohl die unkomplizierteste als auch die stromsparendste Lösung darstellt, bietet es sich an, über einen SSH-Fernzugriff Änderungen am Server vorzunehmen. SSH-Clients wie WinSCP oder PuTTY für Windows bzw. OpenSSH für Unix-Betriebssysteme ermöglichen den bequemen Fernzugriff auf einen Server via Computer oder Smartphone – Sie verbinden beide miteinander, indem Sie im SSH-Client die IPv4-Adresse des Raspberry Pis angeben und die Verbindung aktivieren.

Statische Adresse für den Raspberry Pi einrichten

Für die meisten Nutzer ist eine Personal Cloud nur dann sinnvoll, wenn der Host 24 Stunden am Tag online abrufbereit ist. Nur so können Sie (und evtl. andere User) auch außerhalb Ihres Heimnetzwerks immer auf die Dateien zurückgreifen oder neue hochladen. Bei der Einrichtung eines Heimservers, der kontinuierlich online erreichbar sein soll, tritt im Normalfall folgendes Problem auf: Ihr Internetanschluss besitzt nur eine dynamische IP-Adresse, die sich in der Regel spätestens nach 24 Stunden ändert. Deswegen kann man über eine solche Internetverbindung einen Server nicht fortlaufend unter der gleichen Adresse erreichbar halten.

Eine statische IP-Adresse würde das Problem lösen. Allerdings ist diese relativ kostspielig und wird auch nicht von jedem Internetprovider angeboten. Stattdessen hilft ein dynamisches DNS (DDNS), bei dem Sie einen Domain-Namen registrieren und diesen mit Ihrem Router oder Computer verknüpfen. Dies gelingt über ein Programm, das dem Domain-Namen automatisch die aktuelle IP-Adresse Ihres Internetzugangs zuteilt und so den Server permanent unter demselben Namen online verfügbar macht. DDNS wird von verschiedenen Anbietern angeboten – teils kostenpflichtig, teils gratis. Falls Sie über einen Fritz!Box-Router verfügen, können Sie auch diesen für DDNS nutzen: Hier ist eine dynamische DNS-Funktion bereits eingerichtet und muss nur noch aktiviert werden. Die Herstellerseite des Routers erklärt, wie Sie DDNS auf der Fritz!Box einrichten.

Wenn Sie Raspberry Pi weder über eine statische IP-Adresse noch über einen DDNS-Dienst unter derselben Adresse im Netz erreichbar machen, können Sie die ownCloud praktisch nur aus dem eigenen Netzwerk aufrufen. Aber selbst dann kann der eigene Fileserver noch sinnvoll sein – etwa wenn Sie von der automatischen Datei-Synchronisation aller Daten auf dem Server Gebrauch machen möchten.

Den Raspberry Pi für die ownCloud-Installation vorbereiten

Sie sollten sicherstellen, dass Ihr Raspberry Pi optimal für die Verwendung als ownCloud-Host konfiguriert ist. Wenn Sie den standardisierten Benutzernamen „Pi“ und das dazugehörige Passwort „Raspberry“ nicht schon vorher geändert haben, sollten Sie diese als Erstes bearbeiten. Es wäre ein Sicherheitsrisiko, die Anmeldedaten einfach auf der Werkseinstellung zu belassen, da mit dem Standardpasswort jeder den Server übernehmen kann, der ihn im Internet findet. Die Änderung von Benutzername und -passwort nehmen Sie über die Raspberry-Pi-Konfiguration vor, die Sie mit folgendem Befehl in der Konsole öffnen:

sudo raspi-config

Wie vor jeder Installation auf einem Raspberry Pi sollten Sie auch hier den Rechner und die installierten Pakete aktualisieren, ehe Sie mit der Einrichtung von ownCloud beginnen. Hierfür wenden Sie die entsprechenden Kommandos in der Konsole an:

sudo apt-get update

sudo apt-get upgrade

ownCloud einrichten

Die private Cloud auf dem Raspberry Pi besteht letztendlich nicht nur aus der ownCloud-Software, sondern aus diversen Programmen, die nun schrittweise installiert werden. Wenn nicht anders angegeben, tätigen Sie die Eingaben in der Konsole des Raspberry Pis.

Apache 2, PHP 5 und SQLite installieren

Zu Beginn wird der Apache HTTP Server über den folgenden Befehl installiert:

sudo apt-get install apache2

Ob die Installation des Webservers erfolgreich war, überprüfen Sie, indem Sie die Raspberry-Pi-IP-Adresse in die URL-Leiste Ihres Browsers eingeben: Erscheint daraufhin eine Blanko-Webseite mit dem Satz „It works!“, hat alles seine Richtigkeit.

Um Ihre ownCloud im Internet erreichbar zu machen, aktivieren Sie in Ihrem Router die Portweiterleitung („Port Forwarding“) und leiten die Router-Anfragen vom Port 433 auf den Raspberry Pi weiter. Dies funktioniert bei jedem Router anders – allerdings lassen sich für viele verschiedene Router-Modelle entsprechende Tutorials finden. Mit einer erfolgreich eingerichteten Portweiterleitung ist Ihr Raspberry Pi nun unter seiner IP-Adresse (bzw. unter seinem Domain-Namen, wenn Sie DDNS nutzen) im Internet erreichbar. Ohne Port Forwarding haben Sie nur im lokalen Netzwerk Zugriff auf den Webserver.

Nun installieren Sie PHP, SQLite und einige weitere benötigte Pakete:

sudo apt-get install php5 php5-gd sqlite php5-sqlite php5-curl

Nachdem die Einrichtung aller Programme abgeschlossen ist, starten Sie den Apache-Webserver neu:

sudo service apache2 restart

ownCloud installieren

Nun sind alle Vorbereitungen getroffen, um ownCloud auf Ihrem Raspberry Pi zu installieren. Die Software erhalten Sie z. B. über die Download-Sektion der offiziellen Website – laden Sie hier unter dem Menüpunkt Archive Filedie .zip-Datei herunter und kopieren Sie diese auf den Raspberry Pi. Alternativ können Sie das Programm über die Konsole installieren. Hierbei müssen Sie die ownCloud-Version angeben, die Sie einrichten möchten. In diesem Tutorial wird ownCloud 9.1.0 verwendet.

wget https://download.owncloud.org/community/owncloud-9.1.0.zip

Eine andere Version installieren Sie einfach, indem Sie die Ziffern der Versionsbezeichnung entsprechend abändern ([…] community/owncloud-X.X.X.zip). Die aktuell stabilste Version des Programms finden Sie stets unter dem oben genannten Link zur Download-Sektion von ownCloud.

Egal für welche Option Sie sich entscheiden – nach dem Download der ownCloud-.zip-Datei müssen Sie diese in dem richtigen Ordner ablegen und entpacken:

sudo mv owncloud-9.0.4.zip /var/www/html
cd /var/www/html
sudo unzip -q owncloud-9.0.4.zip

Als Nächstes legen Sie einen eigenen Ordner für die ownCloud an und richten hierfür die Rechte ein:

sudo mkdir /var/www/html/owncloud/data
sudo chown www-data:www-data /var/www/html/owncloud/data
sudo chmod 750 /var/www/html/owncloud/data

Nachdem der Ordner eingerichtet wurde, starten Sie den Raspberry Pi neu:

sudo reboot

ownCloud konfigurieren

Nachdem das Programm installiert und die passende Ordnerstruktur geschaffen wurde, kümmern Sie sich jetzt um Ihren persönlichen ownCloud-Account. Hierfür steuern Sie im Browser Ihren Raspberry Pi an: Geben Sie die IP-Adresse des kleinen Rechners in die URL-Leiste ein und fügen Sie am Ende der Adresse den Pfad „/owncloud“ hinzu (192.168.X.X/owncloud). Wenn Sie den Server mit einer DDNS-Adresse verwenden, ersetzt diese die IP-Adresse.

Der Anmeldebildschirm von ownCloud sollte nun erscheinen. Falls darüber hinaus eine „Performance Warning“ bezüglich SQLite auftritt, können Sie diese außer Acht lassen – der Raspberry-Pi-Dateiserver ist dennoch vollständig einsatzfähig. Registrieren Sie nun einen Admin-Account, indem Sie unter dem entsprechenden Menüpunkt einen Benutzernamen und ein Passwort anlegen. Danach beenden Sie die Einrichtung, und Ihre persönliche ownCloud ist ab sofort unter diesem Administrationskonto verfügbar. Dateien können Sie hier unter dem Menü „File“ hoch- und herunterladen.

Hinweise zur Administration

Wenn Sie im Vorfeld Ihren Raspberry Pi mit einer statischen Adresse versehen haben, können Sie nun von überall mit der entsprechenden IP- oder DDNS-Adresse Ihres Raspberry Pis auf Ihre persönliche ownCloud zugreifen. Allerdings kann dies theoretisch auch jeder andere User – schon allein deshalb ist ein hoher Passwortschutz unbedingt zu empfehlen. Wenn Ihr Raspberry-Server von außen über das Internet erreichbar ist, sollten Sie sich zudem mit der Serversicherheit auseinandersetzen und stets um die Aktualisierung kümmern.