Hatori Kibble

Jo eh…

Eine eigene Cloud auf Himbeerbasis

with 8 comments

Wieder nicht sehr bibliothekarisch, aber Adventszeit ist Bastelzeit!

Raspberry Pi Computer

Raspberry Pi Computer

Seit einiger Zeit gibt es ja den Raspberry Pi, einen kleiner Einplatinen-Microcomputer, der ungefähr die Größe einer Zigarettenschachtel hat.

Auf den ersten Blick wirken die Spezifikationen etwas lächerlich (512 MB RAM, ca. 300 MHz CPU), trotzdem kann man ihn – dank der optimierten Grafikwiedergabe – z.B. als Media-Center einsetzen und damit sogar HD-Videos abspielen, man kann ein Internet-Radio damit bauen oder sogar sein eigenes WordPress-Blog darauf hosten (und dann hoffen, dass man nie vom Heise-Newsticker verlinkt wird..).

Eine andere interessante Anwendung ist aber, sich seine eigene, kleine Cloud zu bauen (wenn man jetzt die Definition von „Cloud“ jetzt nicht so eng sieht).

 

 

Dazu sind drei Schritte notwendig:

  1. Raspberry Pi einrichten
  2. OwnCloud installieren
  3. Server von außen erreichbar machen

Raspberry Pi einrichten

Der Raspberry Pi wird ohne Betriebssystem ausgeliefert, aber die entsprechenden angepassten Images für SD-Karte gibt es auf der Download-Seite.

Allerdings scheint nicht jede SD-Karte zu funktionieren. Wenn man daher auf der sicheren Seite sein will, sollte man sich an dieser Liste orientieren.

Nach der Installation kann man über den Aufruf raspi-config den SSH-Server aktivieren. Mit ifconfig lässt sich dann die aktuelle IP-Adresse anzeigen und mit dieser kann man sich von außen auf dem Rechner einloggen.

SSH Dienst mit raspi_config starten

SSH Dienst mit raspi_config starten

OwnCloud installieren

Über OwnCloud bin ich ja das erste Mal auf der SigInt gestolpert. OwnCloud ist quasi die open-source Alternative zu Dropbox, zusätzlich lassen sich aber auch noch Kontakte und Kalender synchronisieren und Musik streamen.

Für die Installation auf dem Raspberry Pi gibt es ein ziemlich geniales Installationsskript, das notwendige Abhängigkeiten installiert, die Firmware des Raspberry Pi anpasst und gleich auch noch ein SSL Zertifikat anlegt.

Wer einen eigenen Hostnamen verwenden will (siehe unten), sollte diesen für das Zertifikat angeben.

Im Skript kann man auswählen ob man als Webserver den Apache oder nginx verwendet. Letzterer braucht weniger Ressourcen und ist daher zu empfehlen.

Server von außen erreichbar machen

Wenn man nur einen ganz normalen DSL-Anschluss hat, sind die Rechner im eigenen Netzwerk ja nicht so einfach von außen erreichbar.

Erstens kann sich die IP Adresse mit jeder Neuanmeldung ändern und zweitens lässt der Router normalerweise keinen Datenverkehr auf lokale Serverdienste durch.

Für das Problem mit der dynamischen IP gibt es Dienste die kostenlos einen statischen Hostnamen anbieten, etwa No-IP.com.

dynamisches DNS im Router aktivieren

dynamisches DNS im Router aktivieren

No-IP wird zumindest bei den Telekom-Routern direkt unterstützt und somit kann man den eigenen Internetanschluß damit von außen ansteuern.

Der Raspberry Pi befindet ich aber noch hinter dem Router, daher muss noch eine Weiterleitung für die Ports 80 (normales HTTP) und 443 HTTPS eingerichtet werden.

 

 

 

 

Port Weiterleitung einrichten

Port Weiterleitung einrichten

 

 

Wenn das erledigt ist, kann man über eigene Clients Ordner am Rechner oder am Handy synchronisieren.

Kalender und Kontakte können über standardisierte Schnittstellen in die entsprechenden Programme eingebunden werden.

OwnCloud Oberfläche

OwnCloud Oberfläche

 

 

 

 

 

 

 

 

 

Dann noch ein hübsches Gehäuse um den Raspberry Pi drumrum, den Kabelsalat aufräumen und fertig ist die Cloud!

Fertig montierter OwnCloud Server

Fertig montierter OwnCloud Server

Written by Peter

Dezember 1, 2012 um 5:36 pm

Veröffentlicht in Basteln, Programmierung, Scripts, Software

Tagged with , ,

8 Antworten

Subscribe to comments with RSS.

  1. Sowohl der Raspberry Pi als auch OwnCloud sind für sich gesehen tolle neue Entwicklungen im Hard- und Softwarebereich. Bei mir werkelt auch ein Raspi mit OpenELEC als Streaming Client für meine per Upnp/DLNA bereitgestellten Medien. Durch die beiden Video-Ausgänge – HDMI und Composite – ist er gerade dafür ideal geeignet – selbst alte Röhrenfernseher aus dem letzten Jahrtausend können in die neue Zeit hinübergerettet werden 😉 Und auch eine Fernbedienung braucht man nicht – schließlich gibt es dafür entsprechende XBMC Remote Control Apps für Android und iOS.

    OwnCloud wiederum ist eine sehr interessante Alternative zu den datenhungrigen „kostenlos“ Cloud-Diensten. Allerdings hat OwnCloud – wie jede Software – auch Sicherheitslücken (speziell diverse cross-site request forgery Schwachstellen) und da sehe ich ein zu bedenkendes Problem, wenn das eigene Heim-Netzwerk dafür geöffnet wird. Dann muss man definitiv zusätzliche Sicherheitsvorkehrungen, wie z.B. eine DMZ, treffen und den Server – Raspi oder anderen – mit AppArmor bzw. SELinux laufen lassen, um potentielle Versuche eine Sicherheitslücke auszunutzen, möglichst weitgehend einzudämmend.

    Da ist ein billiger „managed“ Webspace mit PHP und Datenbank eventuell die „sicherere“ Lösung.

    BTW: Hast Du Dir mal Pi-Face angeschaut. Einfach genial – und auch schon vorbestellbar 😉
    Das Twittering Chicken ist wirklich witzig: http://piface.openlx.org.uk/

    Und dann kann man mit dem Raspi auch noch eine Zeitreise in die 90er unternehmen. Mein heissgeliebtes RISCOS von meinem alten Acorn Archimedes A310 aus der Vor-Linux-Zeit läuft auch darauf…

    Oliver Flimm

    Dezember 2, 2012 at 8:00 pm

    • Cool, Du scheinst ja viel mit den Dingern zu machen 😉 (Hab auch mal überlegt ein Internetradio damit zu basteln)
      Das mit den Sicherheitslücken (hier eine Liste) ist natürlich ein guter Punkt den man im Auge behalten sollte.

      Ajah und das Huhn gefällt mir sehr 😉

      Peter

      Dezember 2, 2012 at 8:15 pm

  2. Ahoi. Hab owncloud gemäß dieser Anleitung installiert und es tat, also mal Danke dafür. Nun habe ich danach meinen Raspi ausgeschaltet und nach Neustart tut’s nicht mehr. Muss ich irgendein Programm aufrufen? Gehe über ssh… Danke im voraus.

    Micha

    Januar 12, 2013 at 11:11 pm

    • Per SSH kommst Du aber eh noch rein? Dann kann es sein, dass vielleicht der Webserver beim booten nicht automatisch gestartet wird. Wenn das bei Dir nginx ist, dann müsste

      ps -ef | grep [n]ginx

      eine Ausgabe bringen. Wenn da nix läuft könntest Du den nginx über

      sudo service nginx start

      wieder starten

      Peter

      Januar 13, 2013 at 8:22 pm

      • Ja, per SSH komme ich noch rein und die Ausgabe ist
        >>> root 1817 1 0 20:16 ? 00:00:00 nginx: master process /usr/sbinnginx
        >>> www-data 1818 1817 0 20:16 ? 00:00:00 nginx: worker process
        >>> www-data 1819 1817 0 20:16 ? 00:00:00 nginx: worker process
        >>> www-data 1820 1817 0 20:16 ? 00:00:00 nginx: worker process
        >>> www-data 1821 1817 0 20:16 ? 00:00:00 nginx: worker process
        Heißt das jetzt, da läuft noch was?

        Micha

        Januar 17, 2013 at 9:10 pm

      • yep sieht so aus.. Was tut denn genau nicht? Wird der Server nicht gefunden oder kommt irgendeine Fehlermeldung wenn Du owncloud aufrufen willst?

        Peter

        Januar 19, 2013 at 6:49 pm

  3. […] Zeit bin ich ja schon weg von Google Calendar, Google Contacts und Dropbox (so halb..) hin zu ownCloud auf dem eigenen Server (frischer re:publica Vortrag zu ownCloud). Von daher lag es nahe, auf dem Raspberry Pi auch einen […]

  4. […] ist auch der springende Punkt für die komfortable Benutzung. Bei mir liegt die Datei in meiner eigenen OwnCloud-Instanz und ich kann somit vom Handy und von allen meinen Rechnern darauf zugreifen. Alternativ dazu […]


Hinterlasse einen Kommentar