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.

29.10.2020: Ich überarbeite den Artikel gerade Stück für Stück. Die Einkaufsliste ist noch recht alt dafür ist der Installationsprozess jetzt überarbeitet.

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 den Raspberry Pi Imager um eine solche SD-Karte zu erzeugen. Das Tool lässt einem die Wahl zwischen verschiedenen Betriebssystemen. Für den Zweck eines Homeservers ist Raspberry Pi OS (32-bit) Lite geeignet.

Raspberry Pi OS (früher Raspian genant) basiert auf Debian. Somit sind die anderen Artikel die ich hier geschrieben habe auch anwendbar.

Ersteinrichtung

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

Nach dem ersten Start muss man erst mal die Anmeldung überwinden. Der Benutzer ist pi und das Passwort raspberry. Aber Achtung: Die Tastatur ist auf englisches Layout eingestellt. Das „y“ ist als auf der Z-Taste.

Nach der Anmeldung startet man als erstes das Konfigurationsprogramm namens „raspi-config“ (auch hier wieder Achtung mit dem Tastaturlayout, der Bindestrich ist beim „ß“). 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, zu finden unter „Advanced Options“, wird der gesamte Speicher der SD-Karte nutzbar gemacht.

Sprache und Tastaturlayout

In den Einstellungen zur Internationalisierung (Localisation Options) 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 PC (Intl.)“ 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.

Hostname

In den „Network 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

In den „Interfacing Options“ sollte 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.

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 eine Datei unter /etc/network/interfaces.d anlegen.

nano /etc/networks/interfaces.d/eth0

Das nach nachfolgende Beispiel legt jeweils eine IPv4 und eine IPv6 fest und weißt auch den Router für den Internetzugang zu:

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.

Weitere Serverdinge

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.

Genaueres habe ich schon über Baikal geschrieben. Damit habe ich jetzt ein paar Jahre Erfahrung gesammelt und bin mit Kalendern und Adressbüchern dieser Software recht zufrieden.