Mini-Cloud im Selbstbau: Mac-Adressbuch und Kalender mit dem Raspberry Pi und Owncloud synchronisieren (Owncloud 5 und PHP Version 5)
Private Daten wie Kalender oder Adressbücher in den Clouds von Google, Apple & Co. zu speichern, kann in letzter Zeit ein ungutes Gefühl hinterlassen. Nicht nur lagern immer mehr unserer Daten bei wenigen Anbietern; die NSA und ihre Freunde können sie offenbar auch nach Belieben wieder abzapfen. Für Apple-Nutzer wurde die Cloud allerdings kürzlich zum Standard erklärt – bei Adressbüchern und Kalendern ist es seit der letzten OS-Version Mavericks nicht mehr möglich, sie lokal zu synchronisieren.
Grund genug, es einmal mit einer Do-it-yourself-Lösung zu probieren: Mit dem Mikrorechner Raspberry Pi und der freien Software Owncloud lässt sich eine eigene Mini-Cloud einrichten, die mobile und stationäre Geräte aktuell hält. Owncloud hat noch weitere Funktionen: So lassen sich etwa Dokumente im Browser erstellen und bearbeiten oder Dateien und Ordner à la Dropbox speichern. In punkto Performance kann das Ergebnis hier sehr unterschiedlich ausfallen. Um Adressbücher und Kalender abzugleichen, ist das aber nebensächlich.
Speziell zum Abgleich von Kalendern und Kontakten gibt es auch andere Programme wie etwa Baikal oder Radicale, die ebenfalls einen eigenen CalDAV– und CardDAV-Server zur Verfügung stellen. Auch diese Programme sind einen Blick wert. Wer will, kann Owncloud natürlich auch auf anderen Rechnern installieren, die aber dauerhaft laufen müssen.
Das wird für die Mini-Cloud benötigt:
Neben einem konfigurierbaren Router und – natürlich – einem Internetanschluss sowie den abzugleichenden Geräten gehören vier Dinge zur Mini-Cloud:
- 1 Raspberry Pi, Modell B mit Internetanschluss. Im Versand oder manchen Elektronikmärkten ist er für 35 bis 40 Euro (ohne Gehäuse und Zubehör) erhältlich.
- 1 Netzteil (Mikro-USB, 5 Volt). Wer ein passendes Netzteil zum Laden eines Android-Smartphones hat, kann es auch für den Raspberry Pi verwenden. Kostenpunkt für ein Modell mit 1200mAh Leistung, die hier ausreichen: 5–10 Euro.
- 1 Ethernet-Kabel für die Verbindung mit dem Router. Kostenpunkt: ab 3 Euro.
- 1 SD-Karte, die beim Raspberry Pi statt einer Festplatte zum Einsatz kommt. Eine 4-GB-Karte empfiehlt sich als Minimum. Bei manchen Modellen soll es Kompatibilitätsprobleme geben, das Embedded Linux Wiki hat dazu eine ausführliche Liste. Kostenpunkt: ab 5 Euro.
Zusätzlich haben wir den Raspberry Pi mit einem stabilen Gehäuse ausgerüstet (im Bild das Modell „Rainbow” von Pibow); das ist aber nicht zwingend nötig. Da der Mini-Rechner komplett über eine Netzwerkverbindung eingerichtet werden kann, kann man auf einen zusätzlichen Bildschirm und Tastatur verzichten.
Um den Raspberry Pi hat sich mittlerweile eine große Community gebildet, die ihn als Grundbaustein für alle nur denkbaren Projekte einsetzt. So finden sich im Netz reichlich Anleitungen und Tipps, auf die wir auch hier zurückgreifen. Wer weiteren Rat braucht, kann zum Beispiel die Seiten der Raspberry Pi Foundation oder das deutschsprachige Raspberry-Pi-Forum besuchen. Dort finden sich auch Anleitungen für Windows- und Linux-Nutzer – die grundlegenden Schritte sind aber dieselben.
Der Weg zur Mini-Cloud in 7 Schritten
1. SD-Karte mit Raspbian erstellen
2. Den Raspberry Pi einrichten
3. Owncloud und weitere Software installieren
4. Owncloud-Einrichtung abschließen
5. Dauerhafte Adresse und Freigabe im Router einrichten
6. Adressbücher und Kalender importieren
7. Owncloud-Account auf anderen Geräten einrichten
1. SD-Karte mit Raspbian erstellen
Raspbian ist eine speziell für den Raspberry Pi angepasste Variante des freien Betriebssystems Debian. Den jeweils aktuellen Download gibt es direkt bei der Raspberry Foundation. Um Raspbian korrekt auf die SD-Karte zu übertragen, lassen sich alle notwendigen Befehle auf dem Terminal eingeben, der Kommandozeile von Mac OS. Einfacher geht es mit Programmen wie Pi Writer oder dem RPi SD Card Builder, die durch die Schritte führen.
Das Aufspielen des Raspbian-Betriebssystems auf die SD-Karte kann je nach Modell zwischen ein paar Minuten und etwa einer halben Stunde dauern. Hat alles geklappt, besitzt die SD-Karte anschließend zwei Partitionen:
2. Den Raspberry Pi einrichten
Der Aufbau beschränkt sich darauf, den Raspberry mit einer freien LAN-Buchse im Router zu verbinden und die bespielte SD-Karte einzustecken. Mit dem Anschluss des Netzteils bootet der Raspberry Pi zum ersten Mal. Ob alles läuft, lässt sich an den LEDs überprüfen.
Jetzt gilt es herauszufinden, unter welcher IP-Adresse im lokalen Netzwerk der Raspberry Pi erreichbar ist. Wer eine Fritzbox einsetzt, findet alle verbundenen Geräte im Routermenü unter „Heimnetz”, „Netzwerk” im Menüpunkt „Geräte und Benutzer”. Alternativ lässt sich das lokale Netzwerk mit Programmen wie zum Beispiel IP Scanner oder dem Pi Finder durchsuchen, um die IP-Adresse zu erhalten.
Unter dem Punkt „Bearbeiten” lässt sich im Menü der Fritzbox ein Netzwerkname für den Raspberry Pi vergeben. Hier sollte man auch das Häkchen bei „Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen” setzen.
Dann lässt sich eine SSH-Verbindung mit dem Raspberry aufbauen, um die weitere Einrichtung über das Netzwerk vorzunehmen. Der Terminalbefehl lautet:
ssh pi@IP-Adresse
Das „pi” gibt den Nutzernamen an, der Teil „IP-Adresse“ ist durch diejenige des Raspberry Pi zu ersetzen. Beim ersten Boot lautet das dann einzugebende Passwort für den Nutzer „pi” immer „raspberry”.
Mit dem Befehl
sudo raspi-config
gelangt man ins Konfigurationsmenü.
Es empfiehlt sich, hier zuerst einige grundlegende Einstellungen vorzunehmen, mindestens diese beiden:
- „Expand Filesystem”: Aktiviert man diese Option, nutzt Raspbian den gesamten verfügbaren Speicherplatz der SD-Karte, auch wenn das Betriebssystem selbst weniger Platz braucht
- „Change User Password“: Das Standard-Passwort sollte natürlich durch ein selbstgewähltes sicheres Passwort ersetzt werden.
Will man später auch die grafische Oberfläche von Raspbian übers Netzwerk steuern, installiert man zusätzlich das Programm TightVNC Server auf dem Raspberry.
3. Owncloud und weitere Software installieren
Damit Owncloud läuft, benötigt es noch zusätzliche Software: Eine Webserver-Anwendung, die Skriptsprache PHP5 und eine Datenbank. Wir entscheiden uns für die vergleichsweise schlanke Variante mit dem Webserver Nginx und SQLite als Datenbank. Man kann aber auch Apache und MySQL verwenden.
Von den vielen Anleitungen, die im Netz kursieren, funktionierte das Tutorial „Owncloud 5 Server installieren“ im deutschen Raspberry-Pi-Forum bei uns auf Anhieb, so dass wir lediglich darauf verweisen. Alle nötigen Befehle, um Owncloud und die weitere Software zu installieren, sind dort aufgeführt – nur die lokale IP-Adresse des Raspberry Pi muss angepasst werden.
4. Owncloud-Einrichtung abschließen
Nach der Installation der Owncloud-Software muss noch ein Administratorkonto und gegebenenfalls weitere Benutzerkonten angelegt werden. Das geschieht über das Webinterface, welches im lokalen Netzwerk jetzt per Browser erreichbar ist – typischerweise mit einer Adresse nach dem Schema „192.168.x.y/owncloud/”
5. Dauerhafte Adresse und Freigabe im Router einrichten
Um nicht nur vom lokalen Netzwerk, sondern dauerhaft von außerhalb auf Owncloud zugreifen zu können, benötigt der Raspberry Pi noch eine feste Webadresse. Internetprovider vergeben in der Regel aber nur „dynamische” IP-Adressen, die sich nach gewisser Zeit ändern. Abhilfe schaftt zum Beispiel die Fritzbox: Neuere Modelle stellen unter dem Namen „MyFritz” einen Dienst bereit, der eine feste Adresse für den Router vergibt. Der Router leitet den Datenverkehr dann an den Raspberry Pi weiter.
Um den Internetzugriff mit dauerhafter Adresse zu benutzen, lässt sich über das Routermenü ein zusätzliches „MyFritz“-Konto anlegen. Unter „Internet“ – „MyFritz“ – „MyFritz!-Freigaben“ lässt sich dann die Freigabe im Router einrichten. Standardmäßig nutzt Owncloud Port 443 für HTTPS-Verbindungen.
Wer einen anderen Router verwendet, kann sich mit einem DynDNS-Dienst ebenfalls eine dauerhafte Webadresse einrichten. DynDNS-Dienste gibt es mit einigen Einschränkungen kostenlos oder gegen eine geringe monatliche Gebühr. Im Router muss dann noch eine Portweiterleitung eingerichtet werden.
6. Adressbücher und Kalender importieren
Der schnellste Weg, Adressbücher und Kalender in die eigene Wolke zu laden, führt über die Webanwendung von Owncloud, die Dateien im VCF- und ICS-Format importieren kann.
Bei Adressbüchern (.vcf) klappte der Import in unserem Versuch allerdings nicht immer reibungslos: Bei einem Adressbuch, in dessen Feldern Doppelpunkte vorkamen, brach der Import sang- und klanglos ab. Im Zweifel muss man vor dem Import noch an den Daten feilen. Auch Gruppen ließen sich nicht importieren, da Owncloud sie als regulären Adressbuch-Eintrag interpretierte – ein Fehler, der hoffentlich bald behoben wird.
7. Owncloud-Account auf anderen Geräten einrichten
Im letzten Schritt müssen die Owncloud-Daten noch auf allen abzugleichenden Geräten eingegeben werden – in diesem Beispiel im Kalender und der Kontaktverwaltung für iOS und Mac OS X. Owncloud bietet zwar Clients für alle gängigen Betriebssysteme an, zum Abgleich von Adressbüchern und Kalendern sind sie aber nicht notwendig.
In Mac OS X lassen sich die Owncloud-Daten für Kalender über „Systemeinstellungen“, „Internetaccounts“ eingeben (beziehungsweise „Mail, Kontakte und Kalender“). Unter „Anderen Account hinzufügen“ gibt es die Optionen „CalDAV-Account“ für Kalender und „CardDAV-Account“ für Adressbücher. Hier muss man den Owncloud-Benutzernamen, das Passwort und die Serveradresse eingeben.
Die Serveradresse für Kalender hat das Schema:
https://Server:Port/owncloud/remote.php/caldav/principals/Name/
Für Adressbücher:
https://
Server
/owncloud/remote.php/carddav/principals/Name/
Server ist in diesem Fall durch den Gerätenamen des Raspberry Pi und die „myfritz.net“-Adresse zu ersetzen – bei anderen DynDNS-Diensten durch die dort vergebene Webadresse, Port durch den im Router freigebenen Port, Name durch den Owncloud-Benutzernamen.
Für iOS-Geräte ist das Vorgehen nahezu identisch, allerdings kam es in unserem Versuch zu Meldungen, dass eine Verbindung über SSL nicht möglich sei. Statt mit der Einrichtung ohne SSL fortzufahren, sollte man die eingebenen Daten trotzdem speichern. Stimmen alle Daten, stellen Kalender und Adressbuch später dennoch eine sichere Verbindung her, wenn man das bei der Owncloud-Installation selbst erzeugte Zertifikat akzeptiert hat.
Fazit
Die eigene Mini-Cloud für Adressbücher und Kalender einzurichten, bringt zwar zunächst etwas Aufwand mit sich – läuft das System erst einmal rund, war im Alltag bei unserem Versuch kaum ein Unterschied zu bemerken. Dennoch lässt sich etwa bei der Owncloud-Installation noch viel vereinfachen. Ob die eigene Mini-Cloud als Alternative zu den großen Diensteanbietern taugt, hängt von den eigenen Präferenzen ab. Bedenken sollte man:
- Wer nicht mehr als ein paar Klicks investieren will und auf größtmöglichen Komfort setzt, ist bei der Cloud im Selbstbau an der falschen Adresse; auch der Funktionsumfang ist etwas geringer. Bei der dauerhaften Verfügbarkeit etwa kann die Mini-Cloud natürlich nicht mit „echten“ Cloud-Infrastrukturen mithalten. Fällt ein Teil aus oder ist das System fehlerhaft eingerichtet, zeigen sich die Nachteile schnell.
- Für die Datensicherheit ist man selbst verantworlich: Es liegt in der Hand des Nutzers, die richtigen Einstellungen vorzunehmen und alle Komponenten aktuell zu halten – nicht zu vergessen den Router. Auch Owncloud ist keine Wunderwaffe, sondern ein Programm mit Lücken wie andere auch.
Dennoch: Wer bereit ist, etwas Zeit und Einrichtungs-Arbeit in die eigene Mini-Cloud zu investieren, liegt mit dem Raspberry Pi nicht verkehrt; mit Owncloud gibt es zudem eine freie und kostenlose Software, die mittlerweile beachtliche Dienste leistet. Wer sie installiert, kann dabei nicht nur eine Menge lernen – Owncloud & Co. zeigen auch, dass es Alternativen zur Zentralisierung der Daten bei wenigen Anbietern gibt. Die Ansätze jedenfalls sind vorhanden.
9 Kommentare
1 Martin Steiger am 19. Februar, 2014 um 16:26
Dem Punkt der Sicherheit sollte IMHO mehr Beachtung geschenkt werden. So ist ein Port Forwarding ohne DMZ inhärent unsicher – gibt es ein Problem mit OwnCloud, besteht das Problem ohne DMZ für das gesamte LAN.
Gleichzeitig sind Router mit DMZ teurer als Router für daheim und das Einrichten ist aufwendig. Neben der ansonsten hervorragenden OwnCloud-Anleitung oben wäre deshalb eine Anleitung zur Router-Konfiguration mit einer DMZ, beispielsweise für einen der gängigen ZyWall-Router, für viele Nutzer äusserst hilfreich.
2 Jan am 19. Februar, 2014 um 17:14
Danke sehr für die Dokumentation. Zwei Ergänzungen: Zum einen das aktuell wachsende Infoangebot http://ownpi.net, welches noch weitere Dienste auf die kleine Box verschieben möchte, zum anderen der von mir noch nicht getestete Hinweis auf http://seafile.com, welches mir von zwei Stellen als erheblich performanter als owncloud empfohlen wurde. Vielleicht hat da ja noch jemand Ergänzungen.
3 Hummel am 21. Februar, 2014 um 10:31
Vielen Dank für die Anleitung. Habe zwar keinen mac aber das ist ja beim Betrieb des Server egal und so hat mir die Anleitung sehr geholfen. Konnte dann die Android Geräte und PCs in meiner Familie über CardDAV einbindinden. Auf Android brauchte es dafür eine eigene App (hab die hier genommen https://play.google.com/store/apps/details?id=com.vcard.android), da schein iOS Vorteile zu haben. Aber naja die 1,50 kann ich mir auch noch leisten.
4 Pollux am 27. Juni, 2014 um 23:59
Vielen Dank für die Anleitung. Es funktioniert bei mir alles, allerdings bekomme ich, jedes mal wenn der Mac-Kalender Daten abruft die Fehlermeldung “Die Anfrage auf „https://192.168.178.21/owncloud/remote.php/caldav/principals/pollux/“ erzeugte einen Konflikt.” Das ist sehr nervig, weil der Kalender sich so jedes mal in den Vordergrund bringt. Kennt jemand einen Weg, das abzustellen?
5 David Pachali am 28. Juni, 2014 um 11:15
@Pollux: Ich weiß es leider nicht.
6 Designeer am 4. September, 2014 um 17:31
Owncloud ist schön und gut, allerdings ist der Pi einfach nicht leistungsstark genug dafür.
Ich kann da lieber eine Kombination von Seafile für Dateien & Baikal für Kontakte/Kalender auf dem Pi empfehlen.
7 B. am 4. April, 2015 um 22:08
Hallo,
Als Ergänzung: Hinsichtlich Ausstattungsempfehlung wäre evtl. noch an einen Bluetooth-Stick und eine Tastatur mit z.B. Touchpad zu denken. Ansonsten tolles Tutorial. Vielen Dank.
8 Marcus wollong am 21. Oktober, 2018 um 13:38
Hallo, erst einmal danke für die Infos und die Anleitung oben. Leidergibt es OC mittlerweile schon in der V 10 und php in der V 7.0
die Anleitung ist somit für die aktuelle Raspi-Vers. nicht mehr aktuell. Habe versucht herum zu doktorn und bin jetzt mittlerweile schon bei nur nich 2, von 10 Fehlermitteilungen gekommen.
Gibt es eine aktualisierte Anleitung, von der ich noch Nichts weis ?
Es wäre super nett, wenn mir die einer zeigen würde- btw. ich bin zwar kein absoluter Laie, was Linux angeht, dennoch wäre eine “Einsteiger-Anleitung” cool.
LG
Marcus
9 Valie Djordjevic am 22. Oktober, 2018 um 13:01
Wir haben nur diese eine Anleitung, die – wie Sie ja schon sahen – nicht mehr aktuell ist. Momentan ist nicht geplant, den Artikel zu aktualisieren.
Was sagen Sie dazu?