Den Raspberry vorbereiten

Zunächst einmal müssen wir den Raspberry zusammenzustellen und ihn dann mit Raspbian-Linux bestücken. Wir verwenden einen Raspberry Pi, Revision B2, das derzeit (2013) aktuellste Modell. Es hat 512 MB Arbeitsspeicher; weniger sollte es für unser Vorhaben auch nicht sein. Wer das Gerät neu kauft, bestellt am besten gleich ein Netzteil und ein passendes Gehäuse mit. Die Montage ist lächerlich einfach: Platine einrasten, Deckel einrasten, fertig.

Raspbian

Da der Raspberry ohne Festspeicher geliefert wird, benötigen wir als “Festplatte” eine ausreichend schnelle SD-Speicherkarte. Sie muß wenigstens 4GByte fassen; größer ist besser und außerdem kaum teurer. Das Betriebssystem, Raspbian, wird in Form eines Images installiert. Momentan aktuell ist Debian 7 (“Wheezy”).

Detaillierte Anleitungen für die Einrichtung liefern die verlinkten Seiten; wir beschränken uns hier auf die Installation mit dem frei erhältlichen Windows-Programm WinDiskImager:

Einfach die ggf. entpackte IMG-Datei und (wichtig!) das richtige Ziellaufwerk auswählen!

Hier wird einfach die – ggf. zuvor aus dem Downloadarchiv entpackte – Image-Datei ausgewählt, das Laufwerk mit der SD-Karte als Ziel eingestellt und anschließend mit Write die Karte in einem Durchgang formatiert und mit dem Raspbian-System beschrieben.

Erster Start

Einige Schritte dieser Anleitung, auch der folgende, werden an der Kommandozeile durchgeführt. Wer nicht HDMI-Monitor und USB-Tastatur anschließen will, verbindet sich einfach mittels SSH – das erlaubt auch gleich das Kopieren und Einfügen der meisten Befehle im weiteren Verlauf. In jedem Fall stecken wir nun die Speicherkarte in den Pi, verbinden ihn mit Netzwerk und Stromversorgung und nehmen ihn damit in Betrieb.

Login mittels SSH

Um den Pi über SSH zu steuern, müssen wir seine IP-Adresse kennen. Per Voreinstellung hat er sich diese vom DHCP-Server zuweisen lassen, das ist in den meisten kleinen Netzwerken der Internet-Router. Bei uns ist es ein Linksys. Wie die meisten Geräte seiner Art kann er uns eine Liste aller aktuell zugewiesenen DHCP-Adressen anzeigen:

Jeder Router und jede DHCP-Serversoftware kann uns eine Liste aller aktuell im Netzwerk verbundenen Geräte anzeigen. Hier zeigt der Linksys-Router, daß dem Pi die Subnetz-IP 139 zugewiesen wurde und er außerdem unter dem Netbios-Namen "raspberrypi" erreichbar ist.

Von einer Unix-/Linux-Konsole aus verbinden wir uns mit:

ssh pi@[IP-Adresse]

Unter Windows erfüllt zum Beisiel PuTTY den gleichen Zweck:

Bei der ersten Anmeldung müssen wir den digitalen SSH-Fingerabdruck des (selbstsignierten) Pi-Zertifikats bestätigen. Danach melden wir uns mit dem voreingestellten Benutzernamen pi und dem Paßwort raspberry an:

Raspi-config

Nach dem Login erinnert der oben markierte Hinweis daran, noch einige Raspberry-spezifische Einstellungen vorzunehmen:

sudo raspi-config

Damit öffnen wir das Hauptmenü:

Folgende Änderungen sollten hier jetzt erfolgen:

  • Mit Menüpunkt 2 das Paßwort des Benutzers pi (siehe oben) ändern.
  • Systemzeit und -zone sind sehr wichtig für die spätere Funktion des AD-Controllers und werden unter 4. Internationalisation Options eingestellt.
  • Unter Advanced Options > Memory split beantworten wir die Frage How much memory should the GPU have?  mit 32. Da unser Server nur im Konsolenmodus laufen soll, reicht das als Grafikspeicher.
  • Unter Punkt 1 ggf. die Partitionierung der SD-Karte an deren tatsächliche Größe anpassen, denn das installierte Image nutzt nur knapp 4 GByte aus.

Letzteres führt zu folgendem Hinweis:

Root partition has been resized. The file system will be enlarged on next reboot.

Nach dem Beenden von raspi-config wird uns dieser Neustart automatisch angeboten; das gleiche bewirkt

sudo reboot

Nach diesem Neustart und Anmeldung mit dem neuen Kennwort können wir uns mit

df

davon überzeugen, daß das Dateisystem nun die gesamte SD-Karte nutzt:

df listet alle gemounteten Partitionen auf; die Root-Partition ist hier mit rootfs bezeichnet.

Anschließend verifizieren wir mit

date

ob Datum und Uhrzeit korrekt gesetzt sind. Falls nicht, müssen wir das manuell korrigieren. Zum Beispiel für den 2. Januar 2014, 12:00:

date -s "20140102 12:00"

Paketupdates

Um sicherzustellen, daß unser System auf dem aktuellsten Stand ist, laden wir automatisch alle Aktualisierungen herunter und installieren diese:

sudo apt-get update
sudo apt-get -y upgrade

Root-Zugang

Der Standardbenutzer pi hat Admnistrationsrechte, die wir auch benötigen werden. Mir persönlich ist der permanente sudo-Präfix jedoch lästig. Wer darüber ähnlich denkt, setzt als nächstes ein Paßwort für den direkten Root-Zugang:

sudo su
passwd

Danach ist ein direkter Login als Root möglich. Die weitere Anleitung geht davon aus. Wer weiterhin als Benutzer pi arbeiten will, muß sich sein sudo also immer dazudenken.

Webmin

Einige Einstellungen werden anhand der Web-Oberfläche Webmin erklärt. Die Webmin-Installation auf Raspbian entspricht der für alle Debian-Systeme, in Kurzform heißt das für die momentane Version 1.670:

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.670_all.deb
apt-get -y install perl libnet-ssleay-perl openssl\
  libauthen-pam-perl libpam-runtime libio-pty-perl\
  apt-show-versions python
dpkg --install webmin_1.670_all.deb

Die Installation kann einige Minuten dauern. Danach erreichen wir Webmin im Browser über https://[IP des Raspberry]:10000. Für das selbstsignierte Webmin-Zertifikat muß in den meisten Browsern eine Ausnahme hinzugefügt werden. Danach kann die Anmeldung erfolgen:

Wir stellen jetzt für den weiteren Verlauf die Sprache der Webmin-Oberfläche unter Webmin > Change Language and Time auf deutsch um.

Netzwerkeinstellungen

Die Raspbian-Voreinstellung für die Netzwerkkonfiguration ist DHCP. Für uns ist das ohne zusätzliche Maßnahmen ungünstig, denn der Pi muß als späterer lokaler DNS immer unter der gleichen IP-Adresse erreichbar sein. Das läßt sich auf zwei Wegen erreichen, die wir unter Netzwerk > Netzwerkkonfiguration > Netzwerkschnittstellen > eth0 treffen können:

Ggf. die IP-Adresse manuell festlegen. Die Netzmaske ist einem üblichen 24er-Subnetz 255.255.255.0.

a) Statische DHCP-Konfiguration

Diese Option heißt je nach DHCP-Server/Router auch fixed Lease, fixed IP oder reserved IP und weist Clients anhand deren MAC-Hardware-Adressen immer wieder die gleichen IPs zu.

Einstellen einer festen DHCP-IP im Router. Einzutragen ist die MAC-Adresse des Raspberry und die reservierte IP-Adresse.

Zum Übernehmen etwaiger geänderter DHCP-Einstellungen muß der Pi abermals neu starten. In Webmin geht das unter System > System-Start und Stop .

b) Mit manueller Netzwerkkonfiguration

Diese Konfiguration erfolgt in drei Schritten. Zuerst wird die IP-Adresse wie im Bildbeispiel oben festgelegt. Dann muß der zuständige Nameserver unter Netzwerk > Netzwerkkonfiguration > DNS-Client manuell festgelegt werden. Im Moment ist das noch nicht der Pi selbst, sondern vermutlich der Internetrouter. Speichern nicht vergessen!

Falls kein DHCP verwendet wird, muss hier die IP-Adresse des (derzeitigen) DNS rein, das ist in den meisten SOHO-Netzwerken die des Routers. Suchdomäne ist die, die der Raspberry später als AD kontrollieren soll, Hostname der Name des Raspberry und die Suchreihenfolge lassen wir einfach so, wie sie voreingestellt war (kann je nach Installation abweichen).

Zuletzt muß unter Netzwerk > Netzwerkkonfiguration > Routing und Gateways der Standardgateway eingetragen werden, über den der Verkehr ins Internet abgewickelt wird. Auch das ist meist der Internetrouter.

Als Gateway für eth0 sollte die IP-Adresse des Internetrouters eingetragen werden.

Auch nach dieser manuellen Konfiguration ist ein Neustart erforderlich; in Webmin unter System > System-Start und Stop > System neu starten oder in einer Konsole:

reboot

Kommentare

Bin gerade dabei, anhand dieser Seite meinen Pi+ mal zum AD-Server zu machen. Das Ändern des Datums benötigt Admin-Rechte:
sudo date -s "20150407 22:05"

Dann geht's :)

ist in der Anleitung ja generell kein Thema (siehe Einleitung), vielleicht werde ich das bei einer Überarbeitung mal ändern. Ist aber fraglich wann ich dazu mal komme. Inzwischen ist sudo ja für die meisten Standard, wie viele Kommentare zeigen.
Danke für den Hinweis!

Da ja sehr viel kompiliert wird solltest du vielleicht erwähnen, dass man ohne Gefahr overclocken kann.

Das hast du ja nun hiermit getan. Da Overclocking (wie alles im Leben) etwas komplexer ist als „kann man auf jeden Fall immer machen“, fühle dich auch als anonymer Poster gerne ermutigt, dazu ein paar hilfreiche Dinge zu schreiben. Ich habe das beim PI nämlich selbst nie ausprobiert und die Dinge, die er jetzt noch hier tut, tut er auch so ganz gut.

Aber, da das Kompilieren in der Tat eine ziemlich nervige, zeitraubende Sache ist: Ich füge wirklich gerne einen passenden Abschnitt oder Link zu dem Thema ein, Anregungen und Vorschläge sind willkommen!

Man kann auch einfach "sudo bash" benutzen, statt dem su ein Passwort zuzuweisen.