Homeserver Raspberry Pi

Permalink

Den Minicomputer Raspberry Pi kann man für viele tolle Sachen benutzen. Zum Beispiel kann man ihn als sparsamen, kleinen Server verwenden. Bei einer Leistungsaufnahme von wenigen Watt fällt der Dauerbetrieb auf der Stromrechnung nicht so sehr auf.

Einkaufen

Zu erst muss man natürlich Einkaufen gehen. Als erstes auf der Liste steht der Raspberry Pi selbst. Es gibt mittlerweile sechs Varianten. Die Älteren Varianten A und B (mit 256 MB oder 512 MB RAM) lasse ich mal links liegen. Der Pi A+ hat kein Netzwerkinterface also bleibt für meine Zwecke der Raspberry Pi B+ oder der neue Raspberry Pi 2 B. Letzteres Modell ist erst erschienen als ich mit meiner Einkaufstour schon fertig war. Alles folgende bezieht sich also auf das Model B+.

Anstelle der Festplatte benötigt der Pi eine Micro-SD-Card. Ich nehme üblicherweise 8GB oder 16GB Karten. Die Geschwindigkeit ist dabei von hoher Bedeutung. Die schnellste spezifizierte Art von Karten entspricht der sogenannten Class 10. Innerhalb dieser Klasse gibt es aber trotzdem noch Unterschiede. Wer also die Wahl hat sollte auf die Übertragungsrate achten.

Die Stromversorgung erledigt ein externes Micro-USB-Netzteil. Die meisten Smartphones und Tablets haben heute ein derartiges Netzteil. Die Spannung von 5 Volt ist bei USB genormt. ich achte immer auf eine Stromstärke von zwei Ampere. Damit hat man genug Leistung um auch ein wenig Peripherie zu versorgen. Wenn man noch ein Netzteil herumliegen hat kann man es meist problemlos verwenden.

Der Pi muss auch noch schön verpackt werden. Ich habe mich zuletzt für ein schickes Gehäuse von oneninedesign entschieden. Es ist zwar etwas schwergängig aber wenn der Pi erst mal eingebaut ist passt alles.

Als Zubehör sollte man auch noch über Anschlusskabel für Netzwerk und einen Monitor (HDMI) nachdenken. Eventuell braucht man auch noch einen Adapter von HDMI auf DVI. Am Anfang, bevor die Fernwartung eingerichtet wurde, braucht man auch noch eine USB-Tastatur.

Einkaufsliste

  • Raspberry Pi B+
  • Micro-SD Karte (Class 10; 2 GB oder mehr)
  • Micro-USB-Netzteil (5V; 1,2 bis 2A)
  • Gehäuse
  • HDMI-Kabel
  • HDMI zu DVI Adapter
  • Netzwerkkabel
  • USB-Tastatus

Installation

Der Pi hat kein BIOS, wie ein üblicher PC. Aus diesem Grund kann man auch nicht einfach einen USB-Stick einstecken und ein Betriebssystem installieren. Stattdessen überträgt man auf einem anderen Computer ein Image auf die SD-Karte. Diese kann man dann in den Pi einsetzen und diesen Booten.

Auf raspberrypi.org gibt es verschiedener solcher Images. Eines basiert auf Debian, eines auf Fedora und gleich zwei Images beinhalten das Mediacenter Kodi (ehemals XBMC). Letzteres ist natürlich nicht das richtige für einen Server. Ich habe mich stattdessen für Raspian, basierend auf Debian, entschieden.

Ebenfalls auf raspberrypi.org gibt es Anleitungen für geläufige PC-Betriebssysteme zum aufspielen der Images. Die für Linux und Windows habe ich erfolgreich ausprobiert.

Ersteinrichtung

SD-Karte einstecken, Monitor und Tastatur anschließen, Netzwerkkabel reinstecken, Strom an…

Nach dem ersten Start wird automatisch ein Konfigurationsprogramm namens “raspi-config” gestartet. Hier kann man einige grundlegende Dinge einstellen bevor es weiter geht.

Expand Filesystem

Ein Image aufzuspielen hat einige Nachteile gegenüber einer herkömmlichen Installation. Unter anderem ist das Dateisystem immer nur so groß wie das aufgespielte Image. Mit diesem Menüpunkt wird der gesamte Speicher der SD-Karte nutzbar gemacht.

Sprache und Tastaturlayout

In den Einstellungen zur Internationalisierung sollte man drei Änderungen vornehmen. Zu erst nimmt man eine weitere Locale für deutsch auf (de_DE.UTF-8). Dann ändert man die Timezone um die Uhr richtig zu stellen. Hier hangelt man sich von Europa nach Berlin durch. Als drittes wird das Tastaturlayout passend eingestellt. Für die meisten Tastaturen sollten man hier “Generic 105-key (Intl) PC” wählen. Danach sitzt man vor einer Liste für englische Tastaturen. Hier wählt man “Other” und dann “German”. Danach wieder “German”. Danach bestätigt man noch dreimal die Vorgaben und ist fertig. Jetzt sind die Sonderzeichen alle da wo sie hin sollen.

Change Password

Vertraue niemals einem voreingestellten, default Passwort. Der Anmeldename zu diesem Passwort ist übrigens “pi”. Diesen Schritt sollte man übrigens nicht machen bevor die Tastatur richtig eingestellt ist da man sich sonst mit den Sonderzeichen im gewählten Password selbst ein Bein stellt.

Enable Boot to Desktop/Scratch

Der Pi kann entweder mit einem grafischen Desktop, mit einer speziellen Lernsoftware oder auf der Kommandozeile starten. Für den Anwendungsfall als Server wählen man am besten die Option “Boot to command line”.

Hostname

In den “Advanced Options” kann man den Namen des Rasperry Pi festlegen. Muss man zwar nicht machen empfiehlt sich aber spätestens wenn man mehrere der kleinen Kisten im Einsatz hat.

Secure Shell

Ebenfalls in den “Advanced Options” kann man ”SSH” aktivieren. SSH braucht man um den Pi über das Netzwerk zu administrieren.

Updates

Wenn man die Konfiguration verlässt, landet man auf der Shell. Hier empfiehlt es sich erst einmal alle verfügbaren Updates einzuspielen.

sudo apt-get update
sudo apt-get upgrade

Die beiden Befehle bringen zuerst einmal die Datenbank mit verfügbarer Software auf den aktuellen Stand und installiert danach die neuesten Versionen der bereits vorhandenen Software.

Wer mag kann den Pi danach über sudo shutdown r now neu starten. Muss man aber nicht unbedingt, ist ja nicht Windows.

Netzwerken

Ein Server muss erreichbar sein. Ohne manuelle Eingriffe besorgt sich der Pi zwar eine IP-Adresse mittels DHCP vom Router. Standardmäßig ist allerdings nur das klassische IPv4 aktiviert. Um die Unterstürzung für IPv6 zu aktivieren muss ein zusätzliches Modul aktiviert werden. Dazu ergänzt man in der der Datei /etc/modules eine neue Zeile mit dem Text ipv6. Nach einem Neustart hat der Pi auch eine IPv6.

Eine mehr oder weniger zufällige IP-Adresse die über DHCP vergeben wurde ist aber nicht ausreichend. Was gebraucht wird ist eine feste IP die sich nie ändert. Um das zu erreichen muss man die Datei /etc/network/interfaces ändern. Das nach nachfolgende Beispiel legt jeweils eine IPv4 und eine IPv6 fest und weißt auch den Router für den Internetzugang zu:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.0.2.10
  netmask 255.255.255.0
  gateway 192.0.2.1
iface eth0 inet6 static
  address 2001:DB8::10
  netmask 32
  gateway 2001:DB8::1

Die ersten beiden Zeilen definieren das Loopback-Interface, auch als Localhost bekannt. Danach folgt jeweils eine Block für IPv4 und IPv6. Nach einem Neustart des Pi sind die gewählten IP-Adressen aktiv.

Die hier angegebenen Adressen sind natürlich nur Beispiele und müssen an die lokalen Gegebenheiten angepasst werden.

Abschlussbemerkung

Mit den hier beschriebenen Schritten kann man einen Pi im Keller aufstellen und über das Netzwerk administrieren. Was jetzt noch fehlt sind sinnvolle Services. Für Kalender kann man zum Beispiel Baikal nutzen. Für Datei-Synchronisierung will ich Seafile ausprobieren.

Ich möchte als nächstes über Baikal schreiben. Damit habe ich jetzt ein paar Monate Erfahrung gesammelt und bin mit Kalendern und Adressbüchern dieser Software recht zufrieden.