Bananenkiste als Homeserver

Aus BraLUG-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Motivation)
(Bananian installieren und konfigurieren)
Zeile 7: Zeile 7:
 
"Mit der Zeit gehen..." heißt natürlich aktuelle, ressourcen-seitig ausreichende und, vor allem, stromsparende Hardware zu verwenden, denn immerhin soll der Server ja 24 Stunden, 7 Tage in der Woche arbeiten. Heutzutage ist es kein Problem ein geeignetes Board, welches mit dem Betriebssystem Linux läuft, zu finden. Meine Wahl fiel auf einen [http://www.lemaker.org/ Banana Pro]. An die, auf dem Board vorhandene, SATA-Schnittstelle wurde eine [http://www.wdc.com/de/products/products.aspx?id=810 2,5"-"WD Red"-Festplatte] angeschlossen. Alles in einem entsprechenden Gehäuse eingebaut, ergibt es ein recht kompaktes Gerät, welches überall Platz finden sollte.
 
"Mit der Zeit gehen..." heißt natürlich aktuelle, ressourcen-seitig ausreichende und, vor allem, stromsparende Hardware zu verwenden, denn immerhin soll der Server ja 24 Stunden, 7 Tage in der Woche arbeiten. Heutzutage ist es kein Problem ein geeignetes Board, welches mit dem Betriebssystem Linux läuft, zu finden. Meine Wahl fiel auf einen [http://www.lemaker.org/ Banana Pro]. An die, auf dem Board vorhandene, SATA-Schnittstelle wurde eine [http://www.wdc.com/de/products/products.aspx?id=810 2,5"-"WD Red"-Festplatte] angeschlossen. Alles in einem entsprechenden Gehäuse eingebaut, ergibt es ein recht kompaktes Gerät, welches überall Platz finden sollte.
  
=Bananian installieren und konfigurieren=
+
=Linux-Betriebssystem installieren und konfigurieren=
 
==Installation==
 
==Installation==
 +
Als Linux-Distribution wird [https://www.bananian.org/ Bananian] verwendet, was eigentlich ein Debian 7 ist, welche aber speziell für den Banana Pi/Pro angepasst wurde.
 +
 +
Die Installation gestaltet sich recht einfach. Nach dem [https://www.bananian.org/download Download] des gepackten Images, ist es zu entpacken und auf eine passende SD-Karte zu kopieren (Beispiel für Linux :-)):
 +
<pre>
 +
> dd if=bananian-1504.img of=/dev/<your-sd-card> bs=1M
 +
> sync
 +
</pre>
 +
 +
Danach ist die SD-Karte nur noch in den entsprechenden Slot des Banana Pi zu stecken, Netzwerk dran und Strom an! Das System sollte booten und eine IP-Adresse über DHCP beziehen. Zugriff auf das System hat man dann entweder lokal über die/den angeschlossene/n Tastatur/Monitor oder auch remote via ssh. Das root-Passwort lautet initial ''pi'' und sollte natürlich sofort geändert werden...
 +
 
==Konfiguration==
 
==Konfiguration==
 
Eine erste Konfiguration des Systems, kann man mit folgenden Tool erledigen:
 
Eine erste Konfiguration des Systems, kann man mit folgenden Tool erledigen:
 
<pre>
 
<pre>
bananian-config
+
> bananian-config
 
</pre>
 
</pre>
 
Folgende Einstellungen können verändert werden:
 
Folgende Einstellungen können verändert werden:
Zeile 22: Zeile 32:
  
 
Danach sollte das System einmal durchgestartet werden.
 
Danach sollte das System einmal durchgestartet werden.
 
  
 
==Feste IP-Adresse==
 
==Feste IP-Adresse==
Zeile 49: Zeile 58:
 
Hat man eine SATA-Festplatte an seinen Banana Pi angeschlossen, ist es sinnvoll von dieser auch zu booten. Um dies so einzurichten, sind z.B. folgende Schritte zielführend (angenommen, ''/dev/sda'' ist die angeschlossene Festplatte):
 
Hat man eine SATA-Festplatte an seinen Banana Pi angeschlossen, ist es sinnvoll von dieser auch zu booten. Um dies so einzurichten, sind z.B. folgende Schritte zielführend (angenommen, ''/dev/sda'' ist die angeschlossene Festplatte):
 
<pre>
 
<pre>
fdisk /dev/sda
+
> fdisk /dev/sda
 
</pre>
 
</pre>
 
...RTFM --> Partionierung der Festplatte.
 
...RTFM --> Partionierung der Festplatte.
Zeile 55: Zeile 64:
  
 
<pre>
 
<pre>
mkfs.ext4 /dev/sda1
+
> mkfs.ext4 /dev/sda1
 
</pre>
 
</pre>
 
...Formatierung der (ersten eingerichteten) Partition der Festplatte mit [https://de.wikipedia.org/wiki/Ext4 ext4].
 
...Formatierung der (ersten eingerichteten) Partition der Festplatte mit [https://de.wikipedia.org/wiki/Ext4 ext4].
Zeile 61: Zeile 70:
 
Das root-Filesystem der SD-Karte muss auf die Festplatte kopiert werden (Annahme, es wurde nur die Partition ''/dev/sda1'' auf der Festplatte angelegt; der Swap-Bereich befindet sich in der Datei ''/swapfile1'' (Default bei [https://www.bananian.org/ Bananian])):
 
Das root-Filesystem der SD-Karte muss auf die Festplatte kopiert werden (Annahme, es wurde nur die Partition ''/dev/sda1'' auf der Festplatte angelegt; der Swap-Bereich befindet sich in der Datei ''/swapfile1'' (Default bei [https://www.bananian.org/ Bananian])):
 
<pre>
 
<pre>
mount /dev/sda1 /mnt/
+
> mount /dev/sda1 /mnt/
rsync -ax / /mnt/
+
> rsync -ax / /mnt/
 
</pre>
 
</pre>
  
Zeile 68: Zeile 77:
 
Danach müssen noch die entsprechenden Boot-Parameter in der Datei ''/uEnv.txt'' eingestellt werden (der Editor ''joe'' ist installiert):
 
Danach müssen noch die entsprechenden Boot-Parameter in der Datei ''/uEnv.txt'' eingestellt werden (der Editor ''joe'' ist installiert):
 
<pre>
 
<pre>
umount /mnt/
+
> umount /mnt/
mount /dev/mmcblk0p1 /mnt/
+
> mount /dev/mmcblk0p1 /mnt/
joe /mnt/uEnv.txt
+
> joe /mnt/uEnv.txt
 
</pre>
 
</pre>
 
Die Zeichenfolge 'root=/dev/mmcblk0p2' ist durch 'root=/dev/sda1' auszutauschen. Nach einem
 
Die Zeichenfolge 'root=/dev/mmcblk0p2' ist durch 'root=/dev/sda1' auszutauschen. Nach einem
 
<pre>
 
<pre>
reboot
+
> reboot
 
</pre>
 
</pre>
 
sollte von der angeschlossenen Festplatte gebootet werden...! Die SD-Karte muss natürlich im entsprechenden Slot bleiben, da sich darauf der Bootloader befindet. Bei einem Festplattendefekt hat man damit auch gleich ein funktionsfähiges Basissystem zur Verfügung (uEnv.txt entsprechend angepasst...).
 
sollte von der angeschlossenen Festplatte gebootet werden...! Die SD-Karte muss natürlich im entsprechenden Slot bleiben, da sich darauf der Bootloader befindet. Bei einem Festplattendefekt hat man damit auch gleich ein funktionsfähiges Basissystem zur Verfügung (uEnv.txt entsprechend angepasst...).
Zeile 81: Zeile 90:
 
Um die nervig blinkende grüne LED auf dem Board auszuschalten, ist folgender Befehl (als root auszuführen) erfolgreich:
 
Um die nervig blinkende grüne LED auf dem Board auszuschalten, ist folgender Befehl (als root auszuführen) erfolgreich:
 
<pre>
 
<pre>
echo none > /sys/class/leds/green\:ph24\:led1/trigger
+
> echo none > /sys/class/leds/green\:ph24\:led1/trigger
 
</pre>
 
</pre>
  

Version vom 23. Juni 2015, 10:28 Uhr

Inhaltsverzeichnis

Motivation

Mein alter Homeserver, welcher seit Jahren klaglos seinen Dienst erledigt hatte, will nicht mehr so richtig. Zwar ist das Ding nicht irreparabel kaputt, aber ab und zu sollte man auch mal mit der Zeit gehen. Also der richtige Augenblick die Hardware zu tauschen, das Betriebssystem frisch zu installieren und die gewünschten Server-Dienste neu aufsetzen...

Die folgenden Kapitel sind in erster Linie eine Dokumentation für mich selbst, nützen aber vielleicht auch anderen "Freizeitadministratoren", die Ähnliches vorhaben.

Hardware

"Mit der Zeit gehen..." heißt natürlich aktuelle, ressourcen-seitig ausreichende und, vor allem, stromsparende Hardware zu verwenden, denn immerhin soll der Server ja 24 Stunden, 7 Tage in der Woche arbeiten. Heutzutage ist es kein Problem ein geeignetes Board, welches mit dem Betriebssystem Linux läuft, zu finden. Meine Wahl fiel auf einen Banana Pro. An die, auf dem Board vorhandene, SATA-Schnittstelle wurde eine 2,5"-"WD Red"-Festplatte angeschlossen. Alles in einem entsprechenden Gehäuse eingebaut, ergibt es ein recht kompaktes Gerät, welches überall Platz finden sollte.

Linux-Betriebssystem installieren und konfigurieren

Installation

Als Linux-Distribution wird Bananian verwendet, was eigentlich ein Debian 7 ist, welche aber speziell für den Banana Pi/Pro angepasst wurde.

Die Installation gestaltet sich recht einfach. Nach dem Download des gepackten Images, ist es zu entpacken und auf eine passende SD-Karte zu kopieren (Beispiel für Linux :-)):

> dd if=bananian-1504.img of=/dev/<your-sd-card> bs=1M
> sync

Danach ist die SD-Karte nur noch in den entsprechenden Slot des Banana Pi zu stecken, Netzwerk dran und Strom an! Das System sollte booten und eine IP-Adresse über DHCP beziehen. Zugriff auf das System hat man dann entweder lokal über die/den angeschlossene/n Tastatur/Monitor oder auch remote via ssh. Das root-Passwort lautet initial pi und sollte natürlich sofort geändert werden...

Konfiguration

Eine erste Konfiguration des Systems, kann man mit folgenden Tool erledigen:

> bananian-config

Folgende Einstellungen können verändert werden:

  • das root-Passwort
  • die Zeitzone
  • den Zeichensatz
  • den Rechnernamen
  • einige grundlegende Hardware-Einstellungen

Danach sollte das System einmal durchgestartet werden.

Feste IP-Adresse

Ein Server sollte eine feste IP-Adresse haben. Dazu ist die Konfigurationsdatei /etc/network/interfaces anzupassen:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0

# dhcp configuration
# iface eth0 inet dhcp

# static ip configuration
iface eth0 inet static
	address 10.1.1.42
	netmask 255.255.255.0
	gateway 10.1.1.1

Erläuterung: Die Netzwerkschnittstelle eth0 bezieht seine IP-Adresse nicht via DHCP (entsprechende Zeile einkommentiert), sondern wird fest auf (beispielsweise) 10.1.1.42, der Netzwerkmaske 255.255.255.0 und dem Gateway 10.1.1.1 eingestellt.

Danach sollte das Netzwerk neu gestartet werden oder der gesamte Rechner durchgestartet werden. Wird im Netzwerk ein DNS-Server betrieben, sollte dort IP-Adresse/-Name entsprechend aufgenommen werden, um den Server mit seinem IP-Namen ansprechen zu können. Alternativ kann diese Kombination auch in der jeweiligen Hosts-Datei (z.B. Linux /etc/hosts) der Clients aufgenommen werden.

Bananian von einer Festplatte booten

Hat man eine SATA-Festplatte an seinen Banana Pi angeschlossen, ist es sinnvoll von dieser auch zu booten. Um dies so einzurichten, sind z.B. folgende Schritte zielführend (angenommen, /dev/sda ist die angeschlossene Festplatte):

> fdisk /dev/sda

...RTFM --> Partionierung der Festplatte.


> mkfs.ext4 /dev/sda1

...Formatierung der (ersten eingerichteten) Partition der Festplatte mit ext4.

Das root-Filesystem der SD-Karte muss auf die Festplatte kopiert werden (Annahme, es wurde nur die Partition /dev/sda1 auf der Festplatte angelegt; der Swap-Bereich befindet sich in der Datei /swapfile1 (Default bei Bananian)):

> mount /dev/sda1 /mnt/
> rsync -ax / /mnt/


Danach müssen noch die entsprechenden Boot-Parameter in der Datei /uEnv.txt eingestellt werden (der Editor joe ist installiert):

> umount /mnt/
> mount /dev/mmcblk0p1 /mnt/
> joe /mnt/uEnv.txt

Die Zeichenfolge 'root=/dev/mmcblk0p2' ist durch 'root=/dev/sda1' auszutauschen. Nach einem

> reboot

sollte von der angeschlossenen Festplatte gebootet werden...! Die SD-Karte muss natürlich im entsprechenden Slot bleiben, da sich darauf der Bootloader befindet. Bei einem Festplattendefekt hat man damit auch gleich ein funktionsfähiges Basissystem zur Verfügung (uEnv.txt entsprechend angepasst...).

"Heartbeat" ausschalten

Um die nervig blinkende grüne LED auf dem Board auszuschalten, ist folgender Befehl (als root auszuführen) erfolgreich:

> echo none > /sys/class/leds/green\:ph24\:led1/trigger

Wird dieses Kommando in der Datei /etc/rc.local aufgenommen, erfolgt das Ausschalten der blinkenden "Herzschlag"-LED automatisch nach dem Hochfahren des Systems.

Server-Dienste

Printserver

CUPS installieren:

apt-get install cups cups-bsd foo2zjs

Mit dem Tool cupsctl sollte man folgendes einstellen:

  • die lokalen, am Server angeschlossenen, Drucker im Netzwerk freigeben
  • CUPS über das Netzwerk administrierbar machen
  • die automatische Druckervermittlung aktivieren
cupsctl --share-printers  --remote-admin --remote-printers

Danach kann CUPS z.B. über einen Webbrowser administriert werden. URL: https://dein_server:631

Ich besitze einen HP Laserjet 1018, es muss die Firmware aus dem Internet geholt und installiert werden, damit diese automatisch beim Einschalten des Druckers in selbigen kopiert wird:

getweb 1018
...

Danach empfiehlt sich ein Reboot des Systems.

Fileserver

Backup

Mail

Usenet

Kontakt

Uwe

'Persönliche Werkzeuge