Raspberry Pi als Proxy nutzen

Den Raspberry Pi kann man ja für vieles nutzen. Zum Beispiel auch als kleinen Proxy Server. Da ich diesen über meinen Router über das Internet zugreifbar mache, war mir wichtig, dass ich diesen per User Authentifizierung nutzen kann. Ich habe mich in diesem Beispiel für Squid entschieden.

Bevor wir mit der Installation anfangen, wie immer zuerst einmal sicherstellen, das unser System up-to-date ist:

sudo apt-get update

Danach installieren wir Squid:

sudo apt-get install squid3

Die Installation dauert ein wenig auf dem Pi, aber danach wollen wir uns dann doch gleich mal ran machen, die Konfiguration anzupassen.

cd /etc/squid3

Dann erst einmal die Original Konfiguration sichern:

sudo mv squid.conf squid_back.conf

Und dann eine neue anlegen und gleich bearbeiten:

sudo nano squid.conf

Hierbei nutze ich nur folgenden Code:

auth_param digest program /usr/lib/squid3/digest_pw_auth -c /etc/squid3/passwords
auth_param digest realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_port 3128
access_log none
cache_store_log none
cache_log /dev/null
logfile_rotate 0

Dieses ist eine minimal Konfiguration, um den Pi als Proxy mit User Authentifizierung zu nutzen. Zusätzlich habe ich das Speichern des Access Logs und Cache Logs deaktiviert, da dieses den Pi ansonsten recht schnell voll laufen lassen würden.

Zur Erstellung der Passwort-Datei brauchen wir die Apache Tools, also auch die erst einmal installieren:

sudo apt-get install apache2-utils

Und dann unseren User mit Passwort generieren:

htdigest -c /etc/squid3/passwords proxy user

"user" hier natürlich mit den gewünschten User Namen austauschen. Und dann Squid neustarten:

/etc/init.d/squid3 restart

Wenn alles gut gegangen ist, dann sollte der Proxy Server starten und du kannst ihn über den Browser nutzen.



Raspberry Pi und Spotify

Ich bin ja immer wieder überrascht, was man mit dem Raspberry Pi so alles machen kann. Und ich nutze ihn dabei meistens nur für einfache Sachen.

Heute habe ich ihn mal als Musicbox zusammen mit Spotify ausprobiert. Die Installation dazu ging kinderleicht. Wie genau ihr das machen könnt, ist dabei auf der Homepage der Musicbox Software recht gut beschrieben. Im Grunde genommen heißt es, ZIP File runter laden, Image auf SD-Karte spielen, eure W-Lan Informationen und Login Daten für Spotify im Config File hinterlegen und schon kann es los gehen.

Wenn ihr nicht wisst, wie ihr das Image auf die SD-Karte bekommt, hier ist eine gute und sehr genaue Beschreibung dazu: tuts+.

Ansteuern könnt ihr die Musicbox dann am besten über euren Browser und / oder Smartphone. Aussehen tut das ganze dann wie folgt:

geöffnet im Browser:

MusicBox local

geöffnet vom iPhone oder anderes Smartphone:

Musicbox iPhone

Den angezeigten Song findet ihr übrigens in meiner Playlist: "1000 Songs to hear before you die", basierend auf der Liste vom Guardian. Meine Playlist ist jedoch noch im Aufbau.



FritzBox und Dynamic DNS

Wenn man seinen kleinen Heimserver auch aus den weiten des Internets verfügbar machen möchte, so ist dieses relativ einfach und schnell gemacht. Zumindest wenn man eine FritzBox hat.

Zuerst braucht man eine URL und einen Dynamic DNS Service. Ich nutze den Service von no-ip.com. Sobald wir unseren User-Namen und Passwort haben, müssen wir diesen noch der FritzBox bekannt geben.

  1. Einloggen unter http://fritz.box
  2. Menü Internet -> Freigaben und den Reiter Dynamic DNS auswählen. Das sieht dann ungefähr so aus:

FritzBox

Sobald das getan ist, kann die FritzBox über die gewählten Adresse angesprochen werden. Nun muss man ihr nur noch sagen wohin die Anfragen gehen sollen.

Hierzu wählt man den Reiter Portfreigaben:

FritzBox

Anlegen kann man neue Portfreigaben dann ganz einfach über den Button neue Portfreigabe:

FritzBox

Hier kann man dann vorgefertigte Profile aussuchen oder eigene definieren, so wie auf dem Bild Nummer 3.

Für meinen persönlichen Setup: Owncloud und Seafile, sind folgende Konfigurationen notwendig:

1. Owncloud

 eingehender Port: 443; ausgehender Port an Raspberry Pi: 443

2. Seafile

 eingehender Port: 80; ausgehender Port an Raspberry Pi: 8100 (Standard: 8000)
 zusätzlich braucht man noch den Port: 10001 (ein- und ausgehend) für den Windows Client 


mein Raspberry Pi jetzt auch mit Seafile

Nach einem Tipp vom Jan, habe ich jetzt auch mal Seafile auf meinem Raspberry Pi installiert und bin erst einmal gleich begeistert wie einfach das ging. Auch hier bin ich mehr oder weniger der Anleitung von hier gefolgt. Das einzige was ich geändert habe ist der Port mit dem ich Seafile starte:

./seafile.sh start
./seahub.sh start 8100

Mit dem 8000 Port hatte ich irgendwie Probleme. Das kann vielleicht auch daran liegen, das auch der Owncloud Server weiterhin auf dem Raspberry Pi läuft.

Nach der Installation konnte ich mich dann gleich mit meinem bei der Installation gewählten E-Mail Adresse und Passwort anmelden und habe mir dann auch gleich mal ein paar Testordner angelegt. Das ganze sieht dann so aus:

seafile

Die Bedienung vom Seafile fand ich dann am Anfang ein wenig gewöhnungsbedürftig. Auch die Funktionalität, wie die Verwendung von Bibliotheken, war mir am Anfang nicht ganz so offensichtlich. Aber ich denke das die Grundsätzliche Idee dahinter ist nicht falsch ist. Was bei Seafile sicherlich besser ist, ist der Community Gedanke und wie man Dateien mit mehreren Leuten teilt. Zudem bietet Seafile jetzt schon die Möglichkeit an, Dateien online zu bearbeiten.

Ebenso gewöhnungsbedürftig ist der Client für den Windows Rechner.

seafile client

Die Anmeldung hatte noch ganz gut und einfach funktioniert. Danach dachte ich dann das er automatisch auch alles lokal speichert. Das war aber nicht so. Man musste es ihm explizit sagen. Neue Bibliotheken kann man dann auch nur online und nicht direkt über die Windows Oberfläche erstellen. Aber auch daran kann man sich gewöhnen. Ich denke das ich hier einfach nur zu sehr an die Funktionsweise von Dropbox gewöhnt bin.

Wie schon Anfangs erwähnt laufen momentan beide System (Owncloud und Seafile) jetzt parallel auf der kleinen Kiste und bisher noch ganz rund. Ich bin mal gespannt welcher von beidem beim syncen von Dateien am Ende am besten abschneidet.

Aus den weiten des Internets ist mein kleiner lokaler Setup übrigens weiterhin durch no-ip.com erreichbar. Und dank ein paar Einstellungen an der FritzBox kommen die Anfragen dann auch genau dort an, wo sie ankommen sollen. Was man dabei beachten muss, das schreibe ich mal in einen anderen Blogpost nieder.



Raspberry Pi - Linksammlung

Eigentlich wollte ich den Raspberry Pi ja als kleinen Mediaserver nutzen. Da es mir hier aber hauptsächlich um das Streamen von Filmen und Serien aus dem Internet ging, dieses jedoch mit Linux "noch" nicht geht, habe ich mich dann doch dann für einen Apple TV entschieden. Der ist zwar deutlich teurer, aber man kann ihn so einfach out-of-the-box nutzen. Aber dafür macht er auch genau das, wofür ich ihn haben wollte. Trotzdem finde ich es weiterhin schade, dass Linux gerade bei den Streaming Anbietern noch nicht angekommen ist.

Nun sollte die kleine Himbeere aber nicht in der Ecke verstauben und ein Einsatzbereich war schnell gefunden. Wir wollten unseren Drucker schon immer ins LAN integrieren, zum einen weil man dann den Laptop nicht immer erst am Drucker anschließen muss, zum anderen weil man dann die Kabel auch ein wenig verstecken kann.

Druckserver einrichten:

Raspberry Pi als Printserver und Ubuntu Printserver

Nachdem man mit unserem Drucker auch scannen kann, gleich mal geschaut, ob man auch das hinbekommt. Und wer sagt es, auf der gleichen Seite auch hierfür noch eine Anleitung gefunden.

Scanserver einrichten:

Raspberry Pi als Scanserver im Heimnetzwerk mit Sane

Nachdem die Himbeere jetzt schon im Arbeitszimmer steht, wo ich demnächst auch meine externen Festplatten wieder aufstelle, dachte ich mir, dass es nicht schlecht wäre, wenn man auf die auch in Form eines NAS zugreifen könnte. Und man kann.

NAS einrichten:

Raspberry Pi - Connect NAS / windows share automatically at start-up

Zusätzlich wollte ich schon immer einen Dropbox Ersatz haben, für Dateien, die ich nicht unbedingt in eine unbekannte Cloud schieben möchte. Hierfür ist Owncloud ganz gut. Hatte ich auch hier auf dem Uberspace mal installiert, aber besser fühle ich mich dann da schon, wenn die Daten daheim liegen. Also mal geschaut, ob man Owncloud auch auf dem Raspberry Pi zum laufen bekommt und man kann auch das.

Owncloud für den Raspberry Pi:

  1. Sicherstellen, das ich auch von außen rauf kann. Das geht über No-Ip: Raspberry Pi - access from the internet using no-ip
  2. Owncloud Server installieren: Raspberry Pi: Owncloud Server installieren
  3. Zertifikat für SSH einrichten (Anleitung inkl. Step 5 durchgehen) How To Create a SSL Certificate on nginx for Ubuntu 12.04
  4. Den Step 7 + 8 von den zweiten Anleitung für den HTTPS Server durchgehen

Und auch wenn der kleine Raspberry Pi jetzt nicht wirklich der schnellste ist, so laufen doch alle Dienste recht problemlos und ich bin immer noch froh, den Kleinen gekauft zu haben.

Mal schauen was mir demnächst noch so einfällt, was ich mit der kleinen Himbeere noch so machen möchte.



mein Raspberry Pi


Vor kurzem habe ich bei Spiegel.de einen Artikel über den Raspberry Pi gelesen und war gleich begeistert. Im Anschluss habe ich Google noch ein wenig befragt was man mit dem Gerät noch so alles machen kann und habe mir dann auch gleich einen bei Amazon bestellt.

Installiert habe ich auf den kleinen OpenELEC, also ein XBMC Mediacenter für den Raspberry Pi, was mit NOOBS super schnell und spielend einfach ging. Zusätzlich habe ich mein NAS damit verbunden. Somit habe ich jetzt einen wunderbar einfachen Zugriff auf meine Filme und Serien, die auf diesem gespeichert sind und kann diese problemlos auf dem Fernseher ansehen. Ebenso kann ich meine Musik via Airplay abspielen. Steuern kann ich den kleinen Computer oder besser gesagt das XMBC über eine App von meinem iPhone oder meinem iPad aus. Android Geräte werden auch unterstützt, aber zum testen habe ich da gerade keines zur Hand.

Soweit klingt das ja schon mal alles super, trotzdem bin ich ein wenig enttäuscht? Um eines gleich am Anfang klar zu stellen, enttäuscht bin ich nicht von dem Mini "Computer" sondern von Lovefilm, Maxdome, Watchever oder wie die Video on Demand Anbieter alle so heißen. Denn keiner von ihnen unterstützt Linux und damit wird aktuell auch der Raspberry Pi nicht unterstützt. Selbst der Versuch das ganze über Airplay zu streamen schlägt leider immer fehl. Dabei gibt es jetzt sogar schon Möglichkeiten das iPad oder iPhone komplett über den Raspberry Pi auf den Fernseher zu übertragen. Ich kann nur hoffen, das dafür demnächst noch eine Lösung gefunden wird. Ansonsten muss ich wohl doch zum Apple TV wechseln, was jetzt preislich gesehen nicht unbedingt schlimm wäre aber mir dann doch ein wenig Freiheit nimmt.

Für den Raspberry Pi habe ich dann sicherlich noch andere Verwendungsmöglichkeiten. Aktuell könnte ich mir vorstellen ihn dann als Druckserver und/oder als Git Repository für meine Webentwicklung zu nutzen. Ebenso könnte ich damit meine anderen USB-Festplatten als NAS in das W-LAN bekommen um dann meine NAS Festplatte zu backupen. Die Zeit wird zeigen, was ich am Ende mit dem kleinen Rechner machen werde. Es macht zumindest Spaß mit dem kleinen Gerät herum zu spielen.