Schritt für Schritt den Raspberry Pi als Server einrichten

ELektronik-KOmpendium.de
Online

Preis auf Anfrage
Vergleichen Sie diesen Kurs mit ähnlichen Kursen
Mehr ansehen

Wichtige informationen

  • Kurs
  • Online
Beschreibung

Schritt für Schritt den Raspberry Pi als Server einrichten Wenn man den Raspberry Pi als Server einrichten will, um ihn anschließend im Headless-Betrieb einzusetzen, dann sind je nach individuellen Vorlieben einige Konfigurationsschritte vorzunehmen.
Die folgende Schritt-für-Schritt-Anleitung ist ein Vorschlag, um den Raspberry Pi als Server einzurichten. Die Reihenfolge der einzelnen Schritte folgt einer inneren Logik. So soll ein mehrmaliges Rebooten vermieden werden und nur dann erfolgen, wenn es nicht anders geht. Selbstverständlich kann man die Reihenfolge auch ändern oder einzelne Schritte weglassen, wenn man sie nicht braucht. Die Anleitung sieht vor, dass man die Konfiguration per SSH vornehmen kann. Das setzt aber einen aktiven SSH-Server auf dem Raspberry Pi voraus. Selbstverständlich kann die Konfiguration auch lokal erfolgen.

Wichtige informationen

Themenkreis

Aufgabe
  1. Wahl der Distribution
  2. Installation
  3. Inbetriebnahme
  4. Grundkonfiguration vornehmen
  5. Standard-Passwort ändern
  6. Hostname ändern
  7. Neue SSH-Schlüssel erstellen
  8. Dateisystem erweitern
  9. Pakete aktualisieren
  10. Software installieren
  11. Benutzer einrichten
  12. Grundkonfiguration des SSH-Servers
  13. Zusätzliche Sicherheitsmaßnahmen (optional)
  14. Netzwerk-Konfiguration
  15. Konfiguration abschließen
Wahl der Distribution

Bei einem Server wird man sich in der Regel für ein Minimal-Image entscheiden, weil jede vorinstallierte Software überflüssig ist, unnötigerweise Speicherplatz verbraucht und auch Performance- und Sicherheitsrisiken beinhaltet.

  • Linux-Distributionen
  • Raspbian
  • Minimal-Image von Raspbian selber erstellen
  • Minimal-Image von Raspbian für eine 2-GByte-SD-Card
Installation
  • Betriebssystem für den Raspberry Pi auf eine SD-Speicherkarte installieren
Inbetriebnahme
  1. Einstecken der SD-Speicherkarte
  2. Anschließen von Bildschirm und Tastatur
  3. Anschließen des Netzwerk-Kabels
  4. Anschließen der Energieversorgung
  • Erste Inbetriebnahme eines Raspberry Pi
Grundkonfiguration vornehmen

Die ersten Schritte bestehen darin, die Landes-, Sprach- und Zeiteinstellungen vorzunehmen.

Systemsprache, Standort und Zeichensatz einstellen:

sudo dpkg-reconfigure locales

Zeitzone einstellen:

sudo dpkg-reconfigure tzdata

Tastatur-Layout einstellen (nicht über SSH):

sudo dpkg-reconfigure keyboard-configuration

Oder wenn man es per SSH einstellen will:

sudo nano /etc/default/keyboard

Hier ändert man den folgenden Wert:

XKBLAYOUT="de"

Hinweis: Je nach Distribution gibt es unterschiedliche Wege, diese Grundeinstellungen vorzunehmen. So gibt es unter Raspbian das Tool "raspi-config", mit dem sich die oben genannten Einstellungen sehr bequem durchführen lassen.

sudo raspi-config Standard-Passwort ändern

Aus Sicherheitsgründen muss das Standard-Passwort möglichst frühzeitig nach der ersten Inbetriebnahme geändert werden. In der Regel sofort. In diesem Fall erst nach den Sprach-Einstellungen, weil man dann eine deutschsprachige Benutzerführung hat, was die Handhabung vereinfacht.

passwd

Das Passwort des Benutzers "pi" kann man ebenfalls über "raspi-config" ändern.

Das neue Passwort muss "blind" eingegeben und bestätigt werden.

Hostname/Computername ändern

Standardmäßig hat ein frisches Image einer Linux-Distribution einen vorgegebenen Hostnamen. Bei einem Server-Betrieb möchte man vielleicht einen individuellen Hostnamen vergeben.

sudo hostname -b {NEUERNAME}

Oder über "raspi-config".

Danach kurz prüfen:

hostname

Unter Umständen ist es damit allerdings nicht getan. Man sollte noch einen Blick in die hosts-Datei werfen.

cat /etc/hosts

Wenn dort noch der alte Hostname drin steht, dann muss man den in dieser Datei auch noch ändern.

sudo nano /etc/hosts

Danach speichern und schließen: Strg + O, Return, Strg + X.

Neue SSH-Schlüssel erstellen

Spätestens, wenn man den Hostnamen geändert hat, muss man neue SSH-Schlüssel erstellen. Zuerst löschen wir alle Dateien, in denen sich die Schlüssel befinden. Davon gibt es mehrere. Zum Löschen reicht trotzdem ein Kommando.

sudo rm /etc/ssh/ssh_host_*

Anschließend führen wir eine Rekonfiguration des SSH-Servers durch:

sudo dpkg-reconfigure openssh-server

Die Erstellung der Schlüssel-Dateien erfolgt automatisch. Normalerweise sollte auch der SSH-Server automatisch neu gestartet werden. Wenn nicht, dann muss man das händisch machen.

sudo service ssh restart

Ein Neustart des Systems ist nicht erforderlich. Allerdings muss man beachten, dass nach einem erneuten Login per SSH die Identität des Systems neu bestätigt werden muss.

Dateisystem erweitern

Wenn eine Linux-Distribution frisch auf eine SD-Card geschrieben wurde, dann wird nicht die gesamte Speicherkarte belegt, sondern nur ein Teil davon. Wenn man das Dateisystem auf die ganze Speicherkarte ausdehnen möchte, dann empfiehlt sich per "raspi-config" der Menüpunkt "Expand Filesystem".
Anschließend ist ein Reboot zwingend erforderlich.

sudo reboot

Hinweis: Nach einem "Expand Filesystem" muss ein Reboot zwingend erfolgen. Wenn man hier ohne Reboot einfach weitermacht, kann man sich das System zerschießen.

Pakete aktualisieren

Wenn man ein System neu aufsetzt, dann ist es empfehlenswert die Paketquellen zu überprüfen, aus denen später über die Paketverwaltung neue und aktualisierte Pakete bezogen werden. Je nach dem, welche Anforderungen man stellt, sind Anpassungen nötig oder auch nicht.

Wenn man eine Standard-Distribution, wie Raspbian verwendet, dann ist das Prüfen der Paketquellen nicht zwingend notwendig. Die sind meistens sinnvoll eingestellt. Anders sieht es aus, wenn man ein Image aus einer fremden Quelle hat. Hier sollte man einen Blick drauf werfen.

  • Paketquellen prüfen

Anschließend führen wir die Aktualisierung der Paketlisten aus den Paketquellen durch.

sudo apt-get update

Und danach laden und installieren wir aktualisierte Pakete.

sudo apt-get upgrade

Je nach Aktualität des Image oder der Distribution kann das auch mal etwas länger dauern.

Software installieren

Je nach Distribution oder Image kann es nicht schaden ein paar Pakete nachzuinstallieren. Es handelt sich hierbei um einige Tools, die später helfen das System besser zu bedienen.

Die Installation erfolgt einzeln. Das heißt, bedarfsweise können einzelne Pakete weggelassen oder auch später installiert werden.

apt-get install sudo Benutzer einrichten

Die folgenden Schritte gelten nur dann, wenn noch kein Benutzer eingerichtet sind. Bei Raspbian ist der Benutzer "pi" schon eingerichtet und deshalb muss kein weiterer Benutzer eingerichtet werden.

Sinnvoll ist die Einrichtung eines weiteren Benutzers zur Administration nur dann, wenn vorher das Paket "sudo" installiert wurde.

Benutzer mit Home-Verzeichnis einrichten:

useradd -m {USERNAME}

Passwort festlegen:

passwd {USERNAME}

Danach muss das Passwort "blind" eingegeben und anschließend bestätigt werden.

Standard-Bash zuweisen:

usermod -s /bin/bash {USERNAME}

Hauptgruppe zuweisen:

usermod -g users {USERNAME}

Benutzergruppen zuweisen:

gpasswd -a {USERNAME} sudo gpasswd -a {USERNAME} ssh

Gruppenzugehörigkeit eines Benutzers prüfen:

id {USERNAME}

Neuen Benutzer testen:

su - {USERNAME}

Benutzer beenden:

exit

Berechtigung für die Benutzergruppe "sudo" setzen:

visudo

Hier prüfen wir, ob folgende Zeile eingetragen ist. Wenn nicht, dann muss diese Zeile nachgetragen werden.

$sudo ALL=(ALL:ALL) ALL

Wenn man sich einen Benutzer für die Systemadministration eingerichtet hat, ist eine gute Gelegenheit, diesen durch Anmelden zu testen. Dazu meldet man sich als "root" ab und als neuen Benutzer an.

Grundkonfiguration des SSH-Servers

Im folgenden Schritt geht es darum, den SSH-Server sicherer zu konfigurieren.

sudo nano /etc/ssh/sshd_config

Die folgenden Zeilen müssen einzeln betrachtet werden. Teilweise sind die Parameter schon richtig voreingestellt. Andere müssen geändert oder nachträglich eingefügt werden.

Protocol 2 AllowGroups ssh PermitEmptyPasswords no PermitRootLogin no

Nach den Änderungen muss die Datei gespeichert und geschlossen werden. Anschließend ist ein Neustart des SSH-Servers notwendig, damit die Änderungen übernommen werden.

sudo service ssh restart

Eine bestehende SSH-Verbindung wird dabei nicht unterbrochen.

Zusätzliche Sicherheitsmaßnahmen (optional)

Wenn man einen Benutzer für die Systemadministration eingerichtet hat und der berechtigt ist, "sudo" zu benutzen und eine Verbindung per SSH herstellen kann, dann kann man die Sicherheit des Gesamtsystems zusätzlich verbessern, in dem man das Passwort von "root" löscht.

sudo passwd -d root Netzwerk-Konfiguration

Bevor die Konfiguration des Gesamtsystems zu Ende gebracht wird, wird man sich noch um die Netzwerk-Konfiguration kümmern. Die ist allerdings individuell festzulegen. So wird man in der Regel für den Server-Betrieb eine statische IPv4-Adresse einrichten. Im einen oder anderen Fall IPv6 aktivieren, was bei einer Neueinrichtung zu empfehlen ist. Und gegebenenfalls wird man weitere Netzwerk-Dienste, wie zum Beispiel Avahi installieren.

  • Statische IPv4-Adresse einrichten
  • IPv6 aktivieren
  • Statische IPv6-Adressen einrichten
  • Avahi einrichten
  • Netzwerk-Probleme beim Raspberry Pi lösen
Konfiguration abschließen

Der letzte Neustart. Das ist notwendig, damit man weiß, dass bei einem Neustart auch wirklich alles so funktioniert, wie man es möchte.

sudo reboot Übersicht: Raspberry Pi als Server
  • Webserver auf dem Raspberry Pi einrichten (lighttpd)
  • Raspberry Pi als MySQL-Backup-Server für eine Webhoster-Datenbank
  • File-Server auf dem Raspberry Pi einrichten
  • Print-Server mit CUPS und AirPrint auf dem Raspberry Pi einrichten
Weitere verwandte Themen:
  • Raspberry Pi als Server im Dauerbetrieb (24/7, headless)
  • SSH-Server auf dem Raspberry Pi absichern

Hinweis: Dieses Tutorial ist Teil einer Aufgaben und Übungen mit dem Raspberry Pi-Reihe, die für Lern- und Ausbildungszwecke erstellt wurde. Die dargestellte Lösung ist Teil einer konkreten Aufgabenstellung, die Schüler, Auszubildende und Studenten, lösen sollen. Deshalb muss der hier aufgezeigte Weg nicht der Optimalfall sein.


Vergleichen Sie diesen Kurs mit ähnlichen Kursen
Mehr ansehen