Die Nutzung von Online-Spei­cher­platz über Personal-Cloud-Dienste wie Dropbox, Google Drive oder Amazon Drive erfreut sich großer Be­liebt­heit. 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 In­ter­net­zu­gang. In Bezug auf Cloud-Hosting-Anbieter sind aber auch immer wieder Bedenken zu vernehmen. Kri­ti­siert wird oft, dass die Kunden nicht wissen, wer außer ihnen selbst noch Zugang zu den ge­spei­cher­ten Daten hat und ob diese nach der Löschung auch wirklich endgültig von den Servern ver­schwin­den – was gerade bei der Spei­che­rung sensibler Daten äußerst wichtig ist. Wer die voll­stän­di­ge Kontrolle über seine Daten behalten möchte, kann sich jedoch eine selbst­ver­wal­te­te per­sön­li­che Cloud erstellen. Eine eta­blier­te, kos­ten­lo­se und einfach zu be­die­nen­de 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 ein­rich­ten.

Was spricht für die Raspberry-Pi-ownCloud-Kom­bi­na­ti­on?

ownCloud ist eine freie Fi­le­hos­ting-Web­an­wen­dung, mit der Sie Ihren per­sön­li­chen On­line­spei­cher erstellen können. Über eine Web­ober­flä­che haben Sie von jedem Browser aus Zugriff auf die Daten. Al­ler­dings können Sie auch über Desktop-Clients und Mobile Apps Daten hoch- und her­un­ter­la­den (inklusive Daten-Syn­chro­ni­sa­ti­on). Neben der Funktion als Da­tei­ser­ver bietet ownCloud diverse weitere Funk­tio­nen:

  • Kalender/Auf­ga­ben­pla­ner
  • Adress­buch
  • Musik- und Vi­deo­wie­der­ga­be
  • Be­trach­tung von Bild-, PDF- und Microsoft-Office-Dateien
  • Editor für Open­Do­cu­ment-Dokumente
  • Benutzer-, Gruppen- und Rech­te­ver­wal­tung

Darüber hinaus ist es möglich, sowohl die Daten selbst als auch die Da­tei­über­tra­gung zu ver­schlüs­seln. ownCloud stellt eine in­ter­es­san­te Al­ter­na­ti­ve 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 ge­mie­te­ten Webspace speichert – und damit nicht die Dateien auf den Fest­plat­ten großer Konzerne ablegen muss, um sie ständig ab­ruf­be­reit zu halten.

Für das Fi­le­hos­ting benötigen Sie einen Rechner mit passender Server-Software, über den die Daten schluss­end­lich ins Internet gelangen. Es gibt gute Argumente, die für die Nutzung des Raspberry Pis als Host für die ownCloud sprechen: Ei­ner­seits ist der An­schaf­fungs­preis für den Rechner und alle weiteren Kom­po­nen­ten äußerst günstig – es gibt kaum ein besseres Preis-Leistungs-Ver­hält­nis für eine selbst­ge­hos­te­te Personal Cloud, als diese über einen Raspberry Pi zu hosten. An­de­rer­seits ist der Strom­ver­brauch des kleinen Ein­pla­ti­nen­com­pu­ters sehr niedrig, was vor allem bei einem Server von Vorteil ist, der permanent ein­satz­be­reit sein soll.

Generell exis­tie­ren viele ver­schie­de­ne Programme und Vor­ge­hens­wei­sen, über die man einen Raspberry Pi als ownCloud-Host nutzen kann. Für den im Folgenden vor­ge­stell­ten 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 Skript­spra­che PHP 5 noch SQLite als Datenbank zum Einsatz (gegenüber anderen Da­ten­ban­ken wie MySQL hat SQLite den Vorteil, dass es weniger stark die Res­sour­cen des Raspberry Pis belastet).

Vor­be­rei­tung für eine ownCloud auf dem Raspberry Pi

Um auf Ihrem Raspberry Pi eine Cloud ein­zu­rich­ten, benötigen Sie neben dem kleinen Rechner noch ein paar weitere Bauteile. Außerdem müssen Sie im Vorfeld einige Ein­stel­lun­gen tätigen, bevor es an die ei­gent­li­che In­stal­la­ti­on und Ein­rich­tung von ownCloud 9 geht.

Not­wen­di­ge Kom­po­nen­ten

  • Ein Raspberry Pi, der als Server für die ownCloud fungiert; empfohlen ist ein Raspberry Pi 2 Modell B oder ein leis­tungs­stär­ke­res Modell, da ansonsten die Ge­schwin­dig­keit für den Datei-Upload und -Download relativ gering ausfallen kann (dies ist aber auch abhängig von der Da­ten­über­tra­gungs­ra­te des In­ter­net­an­schlus­ses).
  •  Eine Micro-SD-Spei­cher­kar­te mit aus­rei­chend Spei­cher­platz (empfohlen sind hier min­des­tens 8 GB). Wie viel Spei­cher­vo­lu­men Sie benötigen, ist selbst­ver­ständ­lich 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 an­ge­schlos­se­nen Spei­cher­me­di­um 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 Be­triebs­sys­tem verwendet, das dem­entspre­chend auf der Micro-SD-Karte in­stal­liert sein muss. Falls Ihr Raspberry Pi noch unter der Vor­gän­ger­ver­si­on Wheezy läuft, laden Sie sich für dieses Tutorial Jessie von der of­fi­zi­el­len Website herunter und spielen es auf den Mini-Rechner.
  • Eine In­ter­net­ver­bin­dung (im Idealfall via Netz­werk­ka­bel, ansonsten per WLAN).
  • Strom­ver­sor­gung über ein Micro-USB-Kabel.

Optional ist die Ver­wen­dung eines weiteren Spei­cher­me­di­ums (eine externe Fest­plat­te oder ein USB-Spei­cher­stick), damit Ihren Dateien mehr Platz zur Verfügung steht. Al­ler­dings muss diese separat ein­ge­rich­tet werden. Des Weiteren kann in manchen Fällen auch eine Lüftung oder ein passiver Kühler (weniger leis­tungs­stark, dafür ohne Geräusche) sinnvoll sein – vor allem wenn Sie den kleinen Computer über­tak­ten (was zumindest bei den Vor­gän­ger­mo­del­len des Raspberry Pi 3 B möglich war). Aber auch wenn Sie Ihren Raspberry Pi als ownCloud-Host im Dau­er­be­trieb nutzen möchten, kann eine Kühlung nicht schaden.

Wie fast jeder Server kann auch der unten vor­ge­stell­te „headless“ gesteuert werden – also ohne Bild­schirm, Tastatur oder Maus. Da dies sowohl die un­kom­pli­zier­tes­te als auch die strom­spa­rends­te Lösung darstellt, bietet es sich an, über einen SSH-Fern­zu­griff Än­de­run­gen am Server vor­zu­neh­men. SSH-Clients wie WinSCP oder PuTTY für Windows bzw. OpenSSH für Unix-Be­triebs­sys­te­me er­mög­li­chen den bequemen Fern­zu­griff auf einen Server via Computer oder Smart­phone – Sie verbinden beide mit­ein­an­der, indem Sie im SSH-Client die IPv4-Adresse des Raspberry Pis angeben und die Ver­bin­dung ak­ti­vie­ren.

Statische Adresse für den Raspberry Pi ein­rich­ten

Für die meisten Nutzer ist eine Personal Cloud nur dann sinnvoll, wenn der Host 24 Stunden am Tag online ab­ruf­be­reit ist. Nur so können Sie (und evtl. andere User) auch außerhalb Ihres Heim­netz­werks immer auf die Dateien zu­rück­grei­fen oder neue hochladen. Bei der Ein­rich­tung eines Heim­ser­vers, der kon­ti­nu­ier­lich online er­reich­bar sein soll, tritt im Nor­mal­fall folgendes Problem auf: Ihr In­ter­net­an­schluss besitzt nur eine dy­na­mi­sche IP-Adresse, die sich in der Regel spä­tes­tens nach 24 Stunden ändert. Deswegen kann man über eine solche In­ter­net­ver­bin­dung einen Server nicht fort­lau­fend unter der gleichen Adresse er­reich­bar halten.

Eine statische IP-Adresse würde das Problem lösen. Al­ler­dings ist diese relativ kost­spie­lig und wird auch nicht von jedem In­ter­net­pro­vi­der angeboten. Statt­des­sen hilft ein dy­na­mi­sches DNS (DDNS), bei dem Sie einen Domain-Namen re­gis­trie­ren und diesen mit Ihrem Router oder Computer ver­knüp­fen. Dies gelingt über ein Programm, das dem Domain-Namen au­to­ma­tisch die aktuelle IP-Adresse Ihres In­ter­net­zu­gangs zuteilt und so den Server permanent unter demselben Namen online verfügbar macht. DDNS wird von ver­schie­de­nen Anbietern angeboten – teils kos­ten­pflich­tig, teils gratis. Falls Sie über einen Fritz!Box-Router verfügen, können Sie auch diesen für DDNS nutzen: Hier ist eine dy­na­mi­sche DNS-Funktion bereits ein­ge­rich­tet und muss nur noch aktiviert werden. Die Her­stel­ler­sei­te des Routers erklärt, wie Sie DDNS auf der Fritz!Box ein­rich­ten.

Wenn Sie Raspberry Pi weder über eine statische IP-Adresse noch über einen DDNS-Dienst unter derselben Adresse im Netz er­reich­bar machen, können Sie die ownCloud praktisch nur aus dem eigenen Netzwerk aufrufen. Aber selbst dann kann der eigene File­ser­ver noch sinnvoll sein – etwa wenn Sie von der au­to­ma­ti­schen Datei-Syn­chro­ni­sa­ti­on aller Daten auf dem Server Gebrauch machen möchten.

Den Raspberry Pi für die ownCloud-In­stal­la­ti­on vor­be­rei­ten

Sie sollten si­cher­stel­len, dass Ihr Raspberry Pi optimal für die Ver­wen­dung als ownCloud-Host kon­fi­gu­riert ist. Wenn Sie den stan­dar­di­sier­ten Be­nut­zer­na­men „Pi“ und das da­zu­ge­hö­ri­ge Passwort „Raspberry“ nicht schon vorher geändert haben, sollten Sie diese als Erstes be­ar­bei­ten. Es wäre ein Si­cher­heits­ri­si­ko, die An­mel­de­da­ten einfach auf der Werks­ein­stel­lung zu belassen, da mit dem Stan­dard­pass­wort jeder den Server über­neh­men kann, der ihn im Internet findet. Die Änderung von Be­nut­zer­na­me und -passwort nehmen Sie über die Raspberry-Pi-Kon­fi­gu­ra­ti­on vor, die Sie mit folgendem Befehl in der Konsole öffnen:

sudo raspi-config

Wie vor jeder In­stal­la­ti­on auf einem Raspberry Pi sollten Sie auch hier den Rechner und die in­stal­lier­ten Pakete ak­tua­li­sie­ren, ehe Sie mit der Ein­rich­tung von ownCloud beginnen. Hierfür wenden Sie die ent­spre­chen­den Kommandos in der Konsole an:

sudo apt-get update
sudo apt-get upgrade

ownCloud ein­rich­ten

Die private Cloud auf dem Raspberry Pi besteht letzt­end­lich nicht nur aus der ownCloud-Software, sondern aus diversen Pro­gram­men, die nun schritt­wei­se in­stal­liert werden. Wenn nicht anders angegeben, tätigen Sie die Eingaben in der Konsole des Raspberry Pis.

Apache 2, PHP 5 und SQLite in­stal­lie­ren

Zu Beginn wird der Apache HTTP Server über den folgenden Befehl in­stal­liert:

sudo apt-get install apache2

Ob die In­stal­la­ti­on des Web­ser­vers er­folg­reich war, über­prü­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 Rich­tig­keit.

Um Ihre ownCloud im Internet er­reich­bar zu machen, ak­ti­vie­ren Sie in Ihrem Router die Port­wei­ter­lei­tung („Port For­war­ding“) und leiten die Router-Anfragen vom Port 433 auf den Raspberry Pi weiter. Dies funk­tio­niert bei jedem Router anders – al­ler­dings lassen sich für viele ver­schie­de­ne Router-Modelle ent­spre­chen­de Tutorials finden. Mit einer er­folg­reich ein­ge­rich­te­ten Port­wei­ter­lei­tung ist Ihr Raspberry Pi nun unter seiner IP-Adresse (bzw. unter seinem Domain-Namen, wenn Sie DDNS nutzen) im Internet er­reich­bar. Ohne Port For­war­ding haben Sie nur im lokalen Netzwerk Zugriff auf den Webserver.

Nun in­stal­lie­ren Sie PHP, SQLite und einige weitere benötigte Pakete:

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

Nachdem die Ein­rich­tung aller Programme ab­ge­schlos­sen ist, starten Sie den Apache-Webserver neu:

sudo service apache2 restart

ownCloud in­stal­lie­ren

Nun sind alle Vor­be­rei­tun­gen getroffen, um ownCloud auf Ihrem Raspberry Pi zu in­stal­lie­ren. Die Software erhalten Sie z. B. über die Download-Sektion der of­fi­zi­el­len Website – laden Sie hier unter dem Menüpunkt Archive Filedie .zip-Datei herunter und kopieren Sie diese auf den Raspberry Pi. Al­ter­na­tiv können Sie das Programm über die Konsole in­stal­lie­ren. Hierbei müssen Sie die ownCloud-Version angeben, die Sie ein­rich­ten 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 in­stal­lie­ren Sie einfach, indem Sie die Ziffern der Ver­si­ons­be­zeich­nung ent­spre­chend 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 ent­schei­den – 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 ein­ge­rich­tet wurde, starten Sie den Raspberry Pi neu:

sudo reboot

ownCloud kon­fi­gu­rie­ren

Nachdem das Programm in­stal­liert und die passende Ord­ner­struk­tur ge­schaf­fen wurde, kümmern Sie sich jetzt um Ihren per­sön­li­chen 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 An­mel­de­bild­schirm von ownCloud sollte nun er­schei­nen. Falls darüber hinaus eine „Per­for­mance Warning“ bezüglich SQLite auftritt, können Sie diese außer Acht lassen – der Raspberry-Pi-Da­tei­ser­ver ist dennoch voll­stän­dig ein­satz­fä­hig. Re­gis­trie­ren Sie nun einen Admin-Account, indem Sie unter dem ent­spre­chen­den Menüpunkt einen Be­nut­zer­na­men und ein Passwort anlegen. Danach beenden Sie die Ein­rich­tung, und Ihre per­sön­li­che ownCloud ist ab sofort unter diesem Ad­mi­nis­tra­ti­ons­kon­to verfügbar. Dateien können Sie hier unter dem Menü „File“ hoch- und her­un­ter­la­den.

Hinweise zur Ad­mi­nis­tra­ti­on

Wenn Sie im Vorfeld Ihren Raspberry Pi mit einer sta­ti­schen Adresse versehen haben, können Sie nun von überall mit der ent­spre­chen­den IP- oder DDNS-Adresse Ihres Raspberry Pis auf Ihre per­sön­li­che ownCloud zugreifen. Al­ler­dings kann dies theo­re­tisch auch jeder andere User – schon allein deshalb ist ein hoher Pass­wort­schutz unbedingt zu empfehlen. Wenn Ihr Raspberry-Server von außen über das Internet er­reich­bar ist, sollten Sie sich zudem mit der Ser­ver­si­cher­heit aus­ein­an­der­set­zen und stets um die Ak­tua­li­sie­rung kümmern.

Zum Hauptmenü