Schlagwörter

Nun hat es mich auch erwischt. Nachdem so viele vor mir mit den Micro Computern so lustiges Zeugs gemacht haben, bis hin zur vollständigen Hausüberwachung und -steuerung, dachte ich, mich auch einmal damit zu beschäftigen. Im Prinzip habe ich die ganze Zeit nicht gewusst, was ich mit einem Arduino oder Raspberry Pi machen sollte. Eine Drone ist zu teuer, eine Überwachungskamera zu profan und einen Medien Server brauche ich schlichtweg nicht. Daher… was soll ich machen?

Eines unerwarteten Momentes überkam es mich darüber nach zu denken, einen EMail Server ins Wohnzimmer zu stellen. Ja, kein Quatsch, alle jammern über die Überwachung unserer Daten, jeder kann inzwischen mitlesen aber den Mailprovider wechseln mag man auch nicht so gerne. Nun gut, was liegt also näher, als einen Email Server zu bauen, den man sich ins Haus stellt, der super klein ist, kaum Strom verbraucht und geräuschlos funktioniert.

Das Projekt für den Raspberry Pi war geboren. Ich entschied mich aus dem einfachen Grund für das Gerät, weil es im Netz Unmengen an Dokumentationen über dieses kleine Stück „Wunder“ gibt.

Als ich begann, mich für die PC Technik zu interessieren, passten die Rechenmaschinen noch in Einfamilienhäuser. Und nun… so eine kleine Platine.

Hardware

Also, ab ins Internet und die Einzelteile bestellt. Eine Platine für gut 30 EUR, Netzteil für 8 EUR dazu, Micro SD 32 GB für genügend Speicher und natürlich ein kleines transparentes Gehäuse, man will doch zeigen, was da in der Box steckt. Selten habe ich so gespannt auf die Nachricht von DHL gewartet.
Da die Lieferung nicht in einem Stück kam, musste ich sogar meinem Sohn erstmal die SD Card klauen – Entschuldige bitte, du bekommst sie zurück.

Das Gehäuse war schnell zusammengebaut und die Platine darin versenkt. Sieht schon schick aus der Kleine.

Raspberry Pi

OS & Administration

Es ist ja nicht so, dass ich der große Hacker oder Linux Liebhaber bin, dennoch musste ich mit einer gewissen Freude feststellen, das auch hier alles extrem gut dokumentiert ist, sodass mir die Angst vor der Konsole und den kryptischen Befehlen schnell genommen wurde. Schließlich wurde zu meinem erklärten Ziel, so weit es geht über SSH die „Himbeere“ zu administrieren.

Doch bevor man irgendwas administrieren kann, muss erst mal ein Betriebssystem rauf. Das war sehr schnell gefunden, zum einen Dank an die Community und zum anderen Dank an die vielen Vorreiter, in Sachen Pi. Ich entschied mich für NOOBS, einem Paket, das es dem Anfänger sehr leicht mach. Nur eines musste im Vorfeld geklärt werden, eine Frage, die offenbar so simpel ist, dass kaum jemand darüber spricht. Wie zum Henker kommt die Distribution auf die SD Card und noch viel schlimmer, wie geht es dann weiter?

OS auf die SD Card schreiben

Ja, es ist so einfach, dass fast niemand darüber berichtet. Ich mache es dennoch, es gibt noch andere, die es nicht gleich finden.

  1. SD Card formatieren. z.B. mit SDFormatter (für MAC und Windows)
  2. NOOBS herunterladen
  3. NOOBS entpacken
  4. Entpackte Dateien auf die SD Card kopieren

YEAH – XCopy Deployment

OS installieren

Nach diesem extrem schweren Unterfangen gilt es das OS zu installieren. Auch hier habe ich kaum Dokumentation zu gefunden – gut ich habe nicht wirklich gewühlt. Ein einfacher Satz in irgend einem Forum ließ mich kurzfristig im Boden versinken, der Scham wegen, denn was liegt näher als die SD Card in den Slot, Tastatur, Maus und Monitor anschließen und Strom anlegen. Siehe da das System startet und nur kurze Zeit später bekommt man einen Dialog zum auswählen, was man machen möchte.

Raspian installieren und warten.

Gefühlte 10 Minuten später ist alles fertig. Standardsprache auswählen und das Passwort des pi Users ändern, das wars. Ich bin begeistert.

Nun trennte ich das Gerät wieder von Maus, Tastatur und Monitor, denn wie schon gesagt, es ging mir auch darum die Administration über SSH zu erledigen. Netzwerkkabel, dass beim Nachbarn besorgt wurde, mit Gerät und Router verbinden, Strom ran – Mäusekino, die rote LED leuchtet durchgehend, die grüne blinkt fleißig.

Verbinden

In der Konsole eintippen:

> ssh pi@[IP des Pi]

Ja super, welche IP hat der Kleine denn? Gott sei dank benutze ich als Router die FritzBox, die mir verrät, welche IP an die jeweiligen LAN Anschlüsse vergeben wurde. Wenn man schon hier ist stellt man noch ein, dass diese IP immer an das Gerät vergeben wird. Denn für einen EMail Server braucht man statische IPs.

Nach dem der SSH Befehl abgesetzt wurde, kann man sich per Passworteingabe am Pi anmelden. Die Ausgabe sagt einem Bescheid, dass man ein echt toller Typ ist.

Pi Anmeldung

Hindernis 1

Da ich es nicht lassen konnte Deutsch als Standardsprache aus zu wählen, ist das System offenbar nicht korrekt installiert worden. Immer wieder tauchte in der Konsole eine Meldung auf, dass irgendwelche LC_ Einträge nicht gelesen werden konnten. Irgendwas ist ja immer, dachte ich noch bei mir. In den Foren tauchte dieses Problem auch auf, aber leider mit recht vielen Möglichkeiten der Lösung, eine komplizierter als die andere. Dann stieß ich auf einen sehr einfachen Weg, den ich probieren konnte:

Per SSH, wie oben genannt, einloggen

> ssh pi@[IP des Pi]

export LC_ALL=C
sudo dpkg-reconfigure locales

Das sorgt dafür, dass der Konfigurationsbildschirm des Pi erscheint, bei dem man weitere Sprachen nachladen kann. Warum das beim Setup des Server nicht klappte ist mir nicht klar, aber als ich dann [*] de_DE.UTF-8 ausgewählt und einen Reboot durchgeführt habe, war alles in Ordnung.

Das war leider nicht das einzige Hindernis, welches auf mich wartete.

Mail Server installieren

Zugegebener Maßen habe ich, was den Server betrifft, nicht lange gesucht. Im Prinzip war es der erst beste, der mir in die Finger kam. Offenbar hatte ich Glück, denn die Installation war denkbar einfach und schnell erledigt.

Meine „Wahl“ fiel auf Citadel. Vielleicht nicht der schönste Server, aber der funktional kompletteste. Alles dran, POP3, IMAP und SMTP. Dann noch WebClient, Kalender, Kontakte, Notizen, Aufgaben und sogar ein Chat. Was will man mehr?

Installiert wurde der Server per

sudo modprobe ipv6
sudo mkdir -p /etc/citadel/netconfigs/7
sudo apt-get update
sudo apt-get install citadel-suite

Sieht erstmal viel aus, ist es aber nicht. Die ersten beiden Anweisungen bereiten nur das System für die Installation vor. Warum das nicht im Installskript von Citadel passiert, kann keiner erklären.

Nach wenigen Augenblicken ist der Server fertig. Man wird noch aufgefordert die Datenbank für die Passwortverwaltung aus zu wählen. Intern ist eine gute Wahl für kleine Unternehmen. Außerdem soll man die IP angeben unter der der Server lauschen soll. Hier gibt man 0.0.0.0 als Adresse an, damit immer und überall gelauscht wird.

Tarnmodus verlassen

Um Mails empfangen zu können muss er natürlich von außen erreichbar sein. Hierfür sind diverse Schritte nötig. Witziger weise habe ich hierzu auch keine klare Dokumentation gefunden. Warum das so ist, stellte sich später heraus.

Feste IP vs dynamische

In den wenigsten Fällen hat man zu Hause eine feste IP, so auch ich. Daher musste ich mir Gedanken machen, wie mein System immer über ein und den selben Hostnamen von außen erreichbar mache. Diverse Lösungen gibt es hier in Form von DynDNS, NoIP oder sonstigen Anbietern. Zu dumm nur, dass einigen von diesen Diensten kostenpflichtig sind.

Zum Glück habe ich eine FritzBox, die damit gesegnet ist, gleich zwei solcher Dienste bereit zu stellen. Zum einen MyFritz und zum anderen DDNS. MyFritz ist super geeignet von extern auf seien FritzBox zu zu greifen. Ich hab auch gleich alles entsprechend konfiguriert, was sich als Fehler herausstellte, denn über MyFritz kann kein MX Eintrag geroutet werden – warum es nicht klappte kann ich leider nicht sagen. Also versuchte ich es mit den Einstellungen von DDNS. Wie das geht… ich muss etwas ausholen:

MX, All-Inkl und Domain

Der Email Server sollte natürlich eine eigene Domain bekommen. Glücklicherweise liegt noch eine in meinem all-inkl Konto rum. Was bei all-inkl noch geht, ist das Anlegen eines DDNS Dienstes, den man in der FritzBox eintragen kann.

Screen Shot 2014-09-14 at 23.14.21

 

Mit den Zugangsdaten füllt man die Felder in der FritzBox Konfiguration aus und die Verbindung kann hergestellt werden.

Screen Shot 2014-09-14 at 23.20.04

 

Auf diese Art habe ich die meine Domain an meine FritzBox gebunden. Alle Anfragen, die über diese Domain rein kommen werden an mich weitergeleitet. Cool. Eine letzte Konfiguration ist noch wichtig. der sog. MX Eintrag. Das habe ich natürlich auch bei all-inkl gemacht. Die Hauptdomain bekommt einen MX Eintrag auf mail.xxxx.biz, damit der Mailverkehr auch an meine FritzBox gesendet wird.

Bitte, wer bis hier gekommen ist und meinen Text als Anleitung sieht, sollte nicht versuchen Mails zu empfangen, denn entgegen vieler anderer Meinungen ist hier nicht Schluss.

Hindernis 2

Eigentlich sollte nun so gut wie alles funktionieren, so zumindest machten mir es einige Dokumentationen weis. Weit gefehlt, denn es fehlen die Portfreigaben an der FritzBox. Die Ports 25 und 143 müssen an den Pi weitergeleitet werden, denn sonst passiert hier gar nichts.

Portfreigaben

 

Nun sollte es aber klappen, Mails senden und empfangen. Tja, senden klappte tatsächlich. Über das Webportal von Citadel konnte ich, nachdem ich einen User eingerichtet hatte, Mails verschicken. Zu blöd nur, dass man nicht darauf antworten konnte. Es fehlte die Einstellung in Citadel, welche Domain zu diesem Server gehört.

Dazu musste ich mich als Admin in Citadel anmelden (die Konfiguration hierfür habe ich schon bei der Installation ausgeführt) und unter den serverweiten Einstellungen den voll qualifizierten Domainnamen auf meine Wunschdomain ändern. Außerdem fand ich noch eine Stelle, wo man als Alias auch noch die eigene Domain eintragen sollte. Da ich nicht sicher war, welche Domain tatsächlich gebraucht wird, habe ich einfach Sub- und Hauptdomain eingetragen.

Alias festlegen

Gut, dass das immer sauber dokumentiert wird (augenverdreh).

Ergebnis

Bis hier habe ich nicht wirklich viel Zeit investiert. OK, ich habe eine Menge gelesen und andere Artikel über das Einrichten des Pi als Email Server studiert. Aber das war es mir Wert.

Mit den neuen Einstellungen konnte ich Emails versenden und auch empfangen. Das klappt wirklich gut und zuverlässig. Was mich noch ein bisschen verwirrt ist die Tatsache, dass ich in meinem EMail Client keine Mails in der INBOX sehen kann, obwohl wirklich welche drin sind. Aber das störte mich erst einmal nicht. Etwas viel schlimmeres war passiert, was jetzt erst einmal dafür sorgt, genau über das Projekt nach zu denken.

Faules Obst

Wenn man einen Email Server mit SMTP betreiben möchte darf man keine dynamische IP haben. Denn sonst wird man als Spam Server betrachtet und jede Mail, die man versendet landet im Spamordner des Empfängers. Doof, echt doof ist das. Denn der wahre Grund einen eigenen Mail Server zu betreiben ist es doch, Kontrolle über seine Mails zu bekommen. Alles aus einer eigenen kontrollierten Hand so zu sagen. Wenn man nun nicht im Spamordner landen möchte, dann muss man wieder zu einem externen Anbieter gehen. Bei diesem Anbieter werden die Mails gespeichert, die man verschickt – ergo, man hat nichts gewonnen, es kann doch wieder jemand mitlesen.

Nach einigem Suchen habe ich einen tollen Blog Post gefunden, wo alles bestens erklärt wird, warum es keinen Sinn macht, auf einem lokalen Server, einen IMAP und SMTP Mailserver zu installieren.

Fazit

Einen eigenen Email Server kann man einrichten, auch auf einem Raspberry Pi. Wenn man es in Kauf nehmen kann, dass der Mail Versand weiterhin über einen externen Provider läuft, dann ist der eigene Server eine wirklich interessante Sache.

Ich für meinen Teil bin stolz darauf es probiert zu haben und zu sehen, wie einfach es im Grunde geht. Wenn ich eine feste IP bekomme, dann kann ich mir gut vorstellen dieses Thema noch einmal aus der Versenkung zu holen.

Nun wartet das nächste Projekt mit dem Pi, das wird wesentlich komplexer aber auch viel cooler.

~janekf

Advertisements