Wenn Sie über Links in unseren Artikeln einkaufen, erhalten wir eine kleine Provision. Das hat weder Einfluss auf unsere redaktionelle Unabhängigkeit noch auf den Kaufpreis.
Eigene Cloud einrichten mit Raspberry Pi und ownCloud
Wer seine persönlichen Daten nicht an fremde Server übermitteln will, kann sie auch auf einem Homeserver ablegen, beispielsweise einem Raspberry Pi. Und in Verbindung mit der Software ownCloud ergibt das eine günstige Lösung für das Hosting.
Wenn private Anwender in die Cloud gehen, nutzen sie vor allem die Dienste der großen Anbieter für ihre Datenspeicherung. Vorteile sind unter anderem die einfache Bedienung, das gezielte Teilen von diversen Inhalten und die mittlerweile gute Integration in den Desktop und andere Applikationen. Der wichtigste Aspekt dürfte wohl die Datensicherheit sein. Aber auch der zur Verfügung stehende Speicherplatz und die dabei anfallenden Kosten spielen für den Nutzer eine Rolle.
Wer mehr Kontrolle und Komfort wie eine eigene Nutzerverwaltung und verschiedene Zusatzmodule haben möchte, kann seit einiger Zeit auch auf Lösungen für das Hosting auf dem eigenen Server zurückgreifen. So erfreuen sich Lösungen wie ownCloud wachsender Beliebtheit. Die läuft auch auf dem Raspberry Pi, günstig für alle, die einen solchen als kleinen Homeserver bereits in Betrieb haben.
Bestehen bleibt die Möglichkeit, seinen Speicherplatz auch im Web und nicht nur im lokalen Netzwerk zur Verfügung zu stellen. Dann braucht der Pi eine statische IP und die notwendige Sorgfalt rund um den sicheren Zugang zu den mitunter ganz privaten Daten.
Bei uns zu Hause gibt es schon länger einen Raspberry Pi mit verschiedener Server-Software und guten Erfahrungen im 24h-Betrieb. An dieser Stelle wollen wir den Sprung zum Anfang machen und illustrieren, wie man einen Pi als Cloud-Server mit ownCloud aufsetzt.
Pi vorbereiten
Wie man einen Raspberry Pi in Betrieb nimmt, dazu gibt es mittlerweile umfangreiche Anleitung im Web. Deshalb will ich für die grundlegenden Schritte auch nicht all zu sehr ins Detail gehen.
Bei uns tut es ein Raspberry Pi 3B+, welcher schon am Laufen ist und wohl einen guten Kompromiss zwischen Stromverbrauch und Leistung darstellt. Die aktuelle Pi-Version 4 eignet sich natürlich genauso. Ältere Modelle bieten weniger Leistung, das sollte man für den Serverbetrieb bedenken.
Fängt man ganz von vorn an, benötigt man zuerst ein Image mit Pi-OS, das man sich von der offiziellen Downloadseite holen kann und auf die SD-Karte für den Pi bringen muss.
Bei den großen Pis geht das Weitere am einfachsten, wenn man ein Kabel zu Router, Tastatur und Monitor anschließt, in den grafischen X-Desktop bootet, dort aktualisiert und alle wesentlichen Einstellungen vornimmt. Ein Desktop ist nicht zwingend nötig, ohne GUI ändert man mittels
$ sudo raspi-config
unbedingt das standardmäßige Passwort und etwa auch die Benutzerkennung. Wir erlauben den Zugriff per ssh . Fortan kann man so auch im Terminal per Fernzugriff arbeiten. Und wir stellen den Hostnamen ein, mit dem man den Pi später im lokalen Netzwerk erreichen kann. Mittels
$ sudo apt update$ sudo apt upgrade
wird zuerst aktualisiert.
Für den Betrieb der Cloud werden nun ein HTTP-Server, PHP und sqlite benötigt. Wer mit Lighttpd als ressourcensparenden HTTP-Server arbeiten möchte, installiert diesen mittels
$ sudo apt install lighttpd
Apache funktioniert natürlich wie gewohnt auch, für die Installation ersetzt man an dieser Stelle den Paketnamen durch “apache2”. Für die Installation von PHP und sqlite findet man mitunter noch ältere Anleitungen im Web, wo PHP5 genutzt werden soll.
Mittlerweile ist die 5er-Version veraltet und zurecht kein Installationskandidat mehr. Da sollte man mindestens auf die PHP-Version 7.3 zurückgreifen. Sqlite kann wahlweise auch als “sqlite3” angegeben werden:
Bei Lighttpd befinden sich die zentralen Konfigurationseinstellungen unter „/etc/lighttpd/lighttpd.conf“. Hier findet man auch den Eintrag „server.document-root“, unter neueren Raspian-Versionen bzw. Pi-OS ist standardmäßig das Verzeichnis “/var/www/html” festgelegt:
Um genügend Platz für alle Inhalte zu schaffen, tragen wir nun einen neuen Pfad zu einer externen Platte oder SSD am Pi ein, die wir vorher an einem permanenten Ort im Dateisystem, etwa unter /mnt/disk , eingehängt haben. Wie das am besten zu bewerkstelligen ist, dafür gibt es wieder diverse Anleitungen im Web und soll deshalb nicht Teil unserer Beschreibung hier sein.
So soll im Folgenden für die Dokument-Root unseres HTTP-Servers beispielhaft /mnt/disk/www/html gelten, auf dem man nun die Dateien für die ownCloud ablegt. Wer möchte, kann nun weitere Einstellungen in der Konfigurationsdatei vornehmen. Danach sollte der Webserver mittels
$ sudo service lighttpd restart
neu gestartet werden. Wer sichergehen möchte, dass PHP ordentlich verarbeitet und das neue Dokument-Root erkannt wird, kann sich dort mit dem allseits bekannten Inhalt
phpinfo();?>
eine minimale Datei mit beliebigem Namen, beispielsweise phptest.php, erstellen, nach deren Aufruf im Webbrowser unter
/phptest.php
sich die PHP-Parameter im Fenster so oder ähnlich ablesen lassen sollten:
Unter https://download.owncloud.org/community/ kann man im Browser nachschauen, welche Version gerade aktuell ist und sich alternativ zur zip-Datei auch den Tarball holen. Nach dem Download von circa 44 MB gilt es, alles im Dokumentenverzeichnis zu entpacken:
Jetzt dürfen Sie durchatmen, denn alle Vorarbeiten sind getan.
Cloud in Betrieb nehmen
Neben anderen Inhalten auf dem Server sind wir mit der Cloud nun im Unterordner owncloud ansässig und können diesen somit gezielt ansteuern, in dem wir beim ersten Aufruf im Browser Folgendes als URL angeben:
/owncloud/
Damit sollte man nun zum Anmeldebildschirm von ownCloud kommen. Es kann jedoch sein, dass man stattdessen angezeigt bekommt, welche PHP-Module man für einen einwandfreien Betrieb noch nicht installiert hat.
Aber der Server läuft schon mal, nicht schlecht. Im Fehlerfall gilt es, nachzuinstallieren und mittels Neustart oder Reboot vom Pi wieder aufzufrischen.
Hat das geklappt, wird man zum Anlegen eines Admin-Kontos aufgefordert. Die Leistungs-Warnmeldung zu sqlite kann man bei moderater Beanspruchung der Cloud ignorieren. Hat man seine gewünschten Zugangsdaten eingegeben, geht's zum ersten Login und man sieht die Startansicht von ownCloud.
Geschafft! Für uns als Admin lohnt sich ein Blick auf die Ordnerstruktur. ownCloud hat unter dem Verzeichnis data nun ein weiteres Unterverzeichnis gemäß dem Nutzernamen angelegt, was sich weiter nach cache , thumbnails und files verzweigt. Unter files befinden sich wiederum Documents und Photos .
Zugriff aus dem Web
OwnCloud für den Zugriff aus dem Web verfügbar zu machen, hat mit der eigentlichen Software und Installation nicht mehr direkt zu tun. Ein paar Tipps aber noch dazu, denn hat man seine eigene Cloud erst einmal am Laufen, vermisst man eventuell den Zugriff von unterwegs.
Unser Homeserver ist in den Freigaben des Routers an Port 443 als HTTPS-Server eingetragen. Um das heimische Netzwerk von außerhalb erreichen zu können, braucht es außerdem eine statische IP, unter der man definiert auf seinen Router zugreifen kann. Dazu gibt es DynDNS-Dienste, heutzutage in eher überschaubarer Anzahl, sucht man als Privatanwender einen stabilen und kostenlosen Dienst.
In den meisten Bedienoberflächen der Router findet sich eine Auswahlmöglichkeit für bekannte DynDNS-Dienste oder man macht manuelle Einträge. Hat man sich vorher bei einem Dienst angemeldet, trägt man so Domainnamen, Nutzernamen und Passwort ein. Für Fritzbox-Nutzer gibt es diesen Dialog:
Legt man keinen Wert auf einen schicken Domainnamen, geht es gerade für Nutzer der Fritzbox aber auch ohne einen externen Dienst, wo wir die Fernzugriffsmöglichkeiten der Box für unsere Zwecke umbiegen. Hier macht man sich Myfritz zunutze und braucht dort zuerst wieder einen Nutzer-Account. Den kann man durchaus mit den gleichen Credentials wie für die Box anlegen, um sich keine weiteren Zugangsdaten merken zu müssen.
Im Anschluss schaltet man nun in Internet | Myfritz-Konto den gerade konfigurierten Account und unter Internet | Freigaben | Fritzbox-Dienste den generellen Zugriff zur Fernwartung frei:
Hier ist nun auch die vollständige URL und Portnummer ablesbar. Da wir aber nicht auf die Fritz-Oberfläche zur Fernwartung möchten, lassen wir beim Aufruf im Browser einfach die Portnummer weg. Ein typischer Aufruf, mit der für Sie eigenen Buchstaben/Zahlen-Kombination am Anfang, sieht also so aus:
https://a2b4c6d8e0f2g4h6i8k0.myfritz.net
Nach Eingabe der Zugangsdaten für den vorher konfigurierten Fritz-Nutzer gelangt man jetzt ins Dokumentenverzeichnis seines Servers zu Hause, von dem aus man wieder ownCloud starten kann.
Zusammengefasst
Ein Vorteil von ownCloud ist, dass man die grundlegenden Einstellungen auf der Weboberfläche gut findet und dass diese nicht zu zahlreich sind und übersichtlich daherkommen. So braucht es keine lange Einarbeitung. Installation und Setup werden jedem halbwegs erfahrenen Raspi-Nutzer leicht von der Hand gehen.
Gut auch, dass es einen “Markt” gibt, wo man seine Standardinstallation mit zusätzlichen Modulen wie Bildergalerie, PDF-Viewer oder weiteren Sicherheitsfunktionen sinnvoll ergänzen kann.
Im lokalen Netzwerk ist die eigene Cloud immer noch schneller als die externen “Wolken” an einem Highspeed-Anschluss, wo es nicht zuletzt auf die Upload-Geschwindigkeit ankommt. Speicherplatz schafft man sich beim Raspberry Pi dadurch, dass man nicht auf der SD-Karte arbeitet, sondern das Heimatverzeichnis der Cloud auf ein externes Speichermedium legt. Für das entsprechende Backup und die notwendige Sicherheit, gerade beim Zugriff aus dem Web, zeichnet man wie immer vor allem selbst verantwortlich.
Mit dieser Lösung, die bei uns schon länger für Zwecke rund ums häusliche LAN in Betrieb ist, bin ich recht zufrieden und kann die Installation auf dem Pi als Server für die ownCloud gut empfehlen.
Swen Hopfe arbeitet bei einem mittelständischen Unternehmen aus der Chipkarten-Branche und ist Experte für Smart Cards, RFID, das IoT, Raspberry Pi und Arduino.