Captured: 2015-12-15 at 11:44 from www.raspberry-pi-geek.de
(C) binkski, 123RF
Dank seines geringen Stromverbrauchs eignet sich der RasPi optimal fur den Einsatz als rund um die Uhr laufender Home-Server. Dabei lasst er sich innerhalb kurzester Zeit sehr flexibel an die eigenen Wunsche anpassen.
Selbst Privathaushalte sind heutzutage vernetzt: Über das lokale Wireless-Netz tauschen nicht nur die Desktop-PCs von Familien- oder WG-Mitgliedern untereinander Daten aus, sondern auch Tablets und Smartphones interagieren daruber. Da mutet es eher anachronistisch an, wenn man einen gemeinsamen Drucker nur nutzen kann, indem man einen USB-Stick mit den benotigten Dokumenten fullt und zum Drucker bringt. Selbst in Privatwohnungen haben sich deswegen inzwischen Print-Server durchgesetzt.
Doch mit welcher Losung setzt man dies alles schnell, kostengunstig und im Bedarfsfall trotzdem flexibel auf? Dafur stellt der Raspberry Pi eine gute Losung dar: Seine Anschaffungskosten kann man vernachlassigen, die Stromaufnahme bleibt gering. Die gewunschten Datei- und Druckdienste konfigurieren Sie mit wenig Zeitaufwand und einer handvoll Konsolenkommandos.
Laden Sie die neueste Version von Raspbian von http://www.raspberrypi.org/downloads herunter und flashen diese auf eine SD-Karte. Fur die allerersten Konfigurationsschritte sollten Sie der Einfachheit halber den RasPi an einen Monitor anschließen. Beim ersten Booten von der frisch beschriebenen SD-Karte landen Sie in einem Dialog, der ein paar grundlegende Einstellungen anbietet. Sie konnen ihn zu einem spateren Zeitpunkt jederzeit erneut uber den Konsolenbefehl sudo raspi-config
aufrufen.
Bei jeder Raspbian-Neukonfiguration empfiehlt es sich, das Root-Passwort uber den Menupunkt change_pass zu andern sowie den Speicherplatz der SD-Karte mittels des Punkts expand_rootfs komplett auszunutzen. Da Sie einen Server aufsetzen, ist jedoch auch der Punkt Boot Behaviour wichtig: Setzen Sie hier Boot straight to desktop nicht auf No setzt, verbraten Sie unnotig Ressourcen. Bei der Auswahl ssh rat es sich daruber hinaus an, Enable SSH-Server auszuwahlen, damit Sie den RasPi von nun an "headless" nutzen konnen, also ohne Monitor.
Damit Sie wissen, unter welcher IP-Adresse der RasPi im LAN zu erreichen ist, geben Sie noch ifconfig
ein und notieren die Angabe hinter inet addr:. Fahren Sie nun das Gerat herunter und platzieren Sie es an seinem kunftigen Platz - beispielsweise neben dem Router, an den es dann mittels Netzwerkkabel angeschlossen wird. Ansonsten benotigt der RasPi nur noch ein Stromkabel zur Spannungsversorgung. Nach dem Einschalten des Raspberrys setzen Sie sich an einen Client im Netz und melden sich von dort aus auf dem Minicomputer ein:
$ ssh pi@192.168.2.129)
Die IP-Adresse in obigen Beispiel ersetzen Sie durch jene, die Sie eben als Ausgabe von ifconfig
notiert haben. Falls Sie das Standard-Passwort des Benutzers pi geandert haben sollten, verwenden Sie dieses statt der Raspian-Vorgabe raspberry
bei der Anmeldung.
Denken Sie auch daran, im Router des LANs einzustellen, dass dessen DHCP-Server dem RasPi von nun an immer dieselbe IP-Adresse zuteilen soll. Im den folgenden Beispielen gehen wir davon aus, dass die IP 192.168.2.129 lautet. Ersetzen Sie diese immer jeweils durch die in Ihrem LAN gultige.
Theoretisch konnten Sie fur den File-Server ausschließlich den Platz auf der SD-Karte verwenden, von der auch das System bootet. Der durfte allerdings in den meisten Fallen nicht ausreichen, insbesondere, wenn Sie auch Videos, Musik oder Backups ablegen mochten. Dieses Problem losen Sie mit einem permanent angeschlossenen USB-Stick beziehungsweise einer externen USB-Festplatte.
Dazu formatieren Sie das externe Speichermedium mit einem von Linux unterstutztem Dateisystem wie Ext4. Nach dem Anstopseln des Massenspeichers an den USB-Port des Raspberry Pi rufen Sie auf der Konsole dmesg
auf. Dies liefert den aktuellen Message Buffer des Kernels zuruck. Gegen Ende der Ausgabe finden Sie eine Zeichenkette des Strickmusters sda: sda1
(siehe Abbildung 1). Sie zeigt an, unter welchem Kurzel (in unserem Beispiel sda1
) das Betriebssystem die Partition auf dem USB-Stick anspricht.
Abbildung 1: Das Kommando dmesg hilft beim Finden des USB-Sticks.
Rufen Sie nun sudo mkdir /mnt/ExternalStorage
auf sowie anschließend sudo nano /etc/fstab
auf. In der Datei fstab
tragen Sie die nun die zusatzliche Zeile aus Listing 1 ein, wobei Sie sda1
durch die Angabe ersetzen ist, die Sie vorhin nach der Eingabe von dmesg
erhielten.
Auf die Weise bindet Raspbian den externen Massenspeicher bei jedem Systemstart automatisch im Dateibaum unter /mnt/ExternalStorage/
, sodass Sie bei den folgenden Konfigurationsschritten von der Existenz dieses Verzeichnisses ausgehen konnen. Damit spater alle Dienste und Nutzer diesen Speicherbereich problemlos beschreiben und lesen konnen, fuhren Sie noch folgenden Befehl aus:
$ sudo chmod -R ugoa+rwx /mnt/ExternalStorage
Falls Sie statt eines USB-Sticks eine externe Festplatte verwenden, sollten Sie dafur sorgen, dass diese nicht zu viel Strom verbraucht - der RasPi selbst benotigt nur sehr wenig Energie. Hierbei hilft das Programm Hdparm. Tragen Sie hierzu in die Datei /etc/hdparm.conf
die Zeile sudo hdparm -S 12 /dev/sda
ein (und ersetzen Sie dabei gegebenenfalls /dev/sda
durch den passenden Geratenamen). Dieser bewirkt, dass nach 60 Sekunden ohne Zugriffe die Festplatte automatisch einen stromsparenden Spindown vornimmt. Die Zahl hinter dem Parameter -S
ergibt, mit funf multipliziert, die Anzahl Sekunden, die vergehen mussen, um dies auszulosen (in diesem Fall also 12 mal 5 gleich 60).
Nun gilt es noch Dienste fur alle Übertragungsprotokolle zu installieren, welche die Nutzern im LAN verwenden. Handelt es sich um ein gemischtes Netzwerk aus Windows-, Linux- und Mac-OS-Rechnern handelt, bietet sich aus Kompatibilitatsgrunden Samba an. Dazu installieren Sie zunachst einmal den Dienst und editieren anschließend dessen Konfigurationsdatei (Listing 2).
Listing 2
$ sudo apt-get install samba samba-common-bin
...
$ sudo nano /etc/samba/smb.conf
Verwenden die Rechner, die auf den RasPi zugreifen sollen, einen bestimmten Workgroup-Namen, passen Sie die Zeile workgroup = WORKGROUP
entsprechend an. Fur den Fall, dass Sie nicht generell jedem im LAN Zugriff auf den File-Server gestatten mochten, lasst sich die Authentifizierung ganz einfach aktivieren. Dazu suchen Sie die Zeile mit der Angabe security = user
und loschen das Doppelkreuz, mit der diese auskommentiert wurde. Scrollen Sie nun an das Ende der Datei und fugen Sie die Zeilen aus Listing 3 an.
Listing 3
[public]
comment = Public
path = /mnt/ExternalStorage/
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
read only = no
Nun speichern Sie die Datei und starten anschließend den Dienst mit sudo /etc/init.d/samba restart
neu, damit die Änderungen wirksam werden. Ein Benutzerkonto legen Sie nun zunachst einmal fur die Shell an. Falls sich also beispielsweise die anderen Rechner mittels des Benutzernamens fileserver authentifizieren sollen, geben Sie sudo useradd fileserver -m -G users
an und andern das Shell-Passwort via sudo passwd fileserver
an.
Mittels sudo smbpasswd -a fileserver
teilen Sie dann dem Benutzer noch ein Samba-Passwort zu, mit dem nun der eigentliche Zugriff auf den Dienst erfolgt. Andere Rechner konnen jetzt in ihren jeweiligen Dateimanagern das LAN nach Netzlaufwerken durchsuchen und den Speicher des RasPi einbinden.
Alternativ lasst sich fur Dateiubertragungen auch SFTP nutzen. Da Sie den SSH-Server bereits aktiviert haben, erfordert dies keine zusatzlichen Konfigurationsschritte: Die aktuelle Raspian-Version erlaubt bereits in der Grundkonfiguration SFTP-Übertragungen.
Um den RasPi-Server auch fur Backups der Arbeitsdaten zu nutzen bietet sich Rsync an: Dieses Programm synchronisiert Daten zwischen zwei Netzwerkstandorten derart, dass es nur die Dateien mit einem neueren Zeitstempel ubertragt - also diejenigen, die sich seit dem letzten Sync-Vorgang geandert haben. Da es sich um ein Shell-Kommando handelt, konnen Sie es bei Bedarf in einen Cron-Job einbinden. Installieren Sie Rsync auf dem RasPi und rufen Sie im Editor die Konfigurationsdatei fur den Rsync-Daemon auf (Listing 4).
Listing 4
$ sudo apt-get install rsync
...
$ sudo nano /etc/rsyncd.conf
In der Regel enthalt rsyncd.conf
noch keinerlei Text. Sie fugen nun die Angaben aus Listing 5 ein. Diese bewirken, dass jeder aus dem IP-Bereich des heimischen LANs Synchronisationsvorgange auf dem USB-Stick am RasPi vornehmen darf. Haben Sie in Ihrem Router einen anderen IP-Adressbereich als 192.168.2.0 fur das LAN eingestellt, mussen Sie diese Angabe entsprechend anpassen. Folgender Befehl ladt anschließend alle Dateien und Unterverzeichnisse aus ~/workspace/*
auf den RasPi hoch, die seitdem letzten Backup verandert wurden:
rsync -avz ~/workspace/* rsync://192.168.2.129/public
Listing 5
use chroot = true
hosts allow = 192.168.2.0/24
transfer logging = true
log file = /var/log/rsyncd.log
log format = %h %o %f %l %b
[public]
comment = Public
path = /mnt/ExternalStorage/
read only = no
list = yes
uid = nobody
gid = nogroup
Sollen nur bestimmte Anwender Backups vornehmen durfen? Dann erganzen sie die Datei rsyncd.conf
noch um die Zeilen auth users=Backup
(nur der User Backup darf Rsync benutzen) und secrets file=/etc/rsyncd.scrt
(das Passwort fur diesen Benutzer steht in der Datei /etc/rsyncd.scrt
). Letztere mussen Sie dann nur noch anlegen und dort eine Zeile in der Form Backup:_Passwort_
eintragen.
An den zweiten USB-Port des Raspberry Pi schließen Sie nun einen Drucker an, damit alle LAN-Gerate ihre Ausdrucke uber diesen absetzen konnen. Nach der Installation des Common Unix Print Servers Cups (Listing 6, Zeile 1) geben Sie diesen erst einmal fur das Netzwerk frei (Zeile 2). Durch den Zusatz \--remote-admin
lasst sich der Print-Server auch vom PC aus via Webbrowser verwalten. Zunachst mussen Sie dazu noch dem Standard-Benutzer pi den Druckerzugriff gestatten (Zeile 3).
Listing 6
$ sudo apt-get install cups
$ sudo cupsctl --share-printers --remote-printers --remote-admin
$ sudo usermod -a -G lpadmin pi
Anschließend geben Sie im Webbrowser auf einem PC die Adresse des RasPi ein, in unserem Beispiel https://192.168.2.129:631/admin
. Nun erscheint die Konfigurationsoberflache von Cups (Abbildung 2). Hier wahlen Sie Drucker hinzufugen und geben anschließend das entsprechende Druckermodell an. Bei der Authentifizierungsabfrage tragen Sie die Benutzerdaten des Pi-Benutzers ein. Nun erscheint unter Lokale Drucker der via USB an den Raspberry Pi angeschlossene Drucker (Abbildung 3). Wahlen Sie diesen aus und klicken Sie auf Weiter.
Abbildung 2: Den Druckerdienst Cups verwalten Sie via Webbrowser auch aus der Ferne.
Abbildung 3: Den an den RasPi angeschlossene Drucker finden Sie unter dem Punkt Lokale Drucker.
Im folgenden Konfigurationsschritt geben Sie die URI fur den Drucker an. Diese hangt von dessen Hersteller und Modell ab. Über den auf der Seite angegebenen Hilfe-Link Netzwerk Drucker finden Sie die richtige URI heraus. Nach einem Klick auf Weiter mussen Sie noch einen Namen fur den Drucker vergeben sowie eine Beschreibung fur dessen Standort eintippen. Dann wahlen Sie das Kastchen Diesen Drucker freigeben aus und klicken schließlich auf Weiter. Nun wahlen Sie noch einmal den konkret verwendeten Druckertyp aus, damit auch intern der richtige Treiber Anwendung findet. Ein Mausklick auf Drucker hinzufugen schließt die Konfiguration ab.
Mochten Sie den Drucker auch von einem Windows-Rechner aus benutzen, gilt es die die Samba-Konfiguration entsprechend anzupassen. Dazu offnen Sie erneut die Datei /etc/samba/smb.conf
, loschen die auskommentierenden Strichpunkte vor den Zeilen printing = cups
sowie printcap name = cups
und starten Samba mit sudo /etc/init.d/samba restart
neu. Auf Windows-Systemen lasst sich der Drucker nun wie ein normaler Netzwerkdrucker hinzufugen.
Nun verfugen Sie uber einen eigenen Datei- und Druckserver. Falls Sie irgendeinen Dienst nicht benotigen, sollten Sie diesen abschalten, um Ressourcen zu sparen und potenzielle Angriffstore zu schließen. Umgekehrt konnen Sie bei Bedarf weiter Server-Dienst hinzufugen. Da es sich bei Raspbian um ein vollwertiges Debian-Derivat handelt, stehen Ihnen hier alle Moglichkeiten offen.