Netzwerk-Speicher

Linux-Server: Die bessere Alternative zum NAS?

20.08.2015 von David Wolski
Einen Linux-Server im heimischen Netzwerk zu betreiben, ist dank günstiger Mini-PCs kein aufwendiges Unterfangen mehr. Die Leistung reicht je nach Hardware für eine Reihe nützlicher Server-Dienste im Intranet.

Eine Alternative zum selbst eingerichteten Linux-Server sind kleine, fertige NAS-Systeme. Diese laufen mit einer sparsamen Platine mit ARM-Prozessor und mit einer Linux-basierten Firmware. Davon bekommen Anwender meist wenig mit, denn die Konfiguration erfolgt über eine webbasierte Oberfläche. Geht es um eine großzügige Dateiablage im Netzwerk, deren Einrichtung wenig Arbeit machen soll, dann sind Mini-NAS-Boxen auch ausreichend. Das Einsteiger-NAS Synology DS215j mit zwei Festplatten-Einschüben, 512 MB RAM und Dualcore-ARM zu 800 MHz ist bereits für 160 Euro zu haben (ohne Festplatten, Stand April 2015).

Apps des Herstellers können das NAS auch um Dienste wie Mediaserver, Proxy, Bittorrent, Mail-Client sowie sogar um Mailserver und eine Git-Versionsverwaltung ergänzen.

Wozu sollte man sich also selbst noch die Mühe machen, selbst einen Linux-Server aufzubauen? Zum einen bleibt der eigene Linux-Server die flexiblere, erweiterbare Lösung. Fertige NAS-Systeme bleiben auf die verfügbaren Apps beschränkt. Zum anderen haben NAS-Firmwares und Apps bisweilen krasse Sicherheitslücken. Neue Firmware und fehlerbereinigte Apps brauchen Wochen, bis sie die Hersteller verfügbar machen.

Im lokalen Netzwerk spielen Sicherheitslücken keine enorm große Rolle, solange die Teilnehmer im eigenen Netz vertrauenswürdig sind. Angenehm ist die Vorstellung trotzdem nicht, einem löchrigen System Daten anzuvertrauen.

Ein dritter Grund, ein Server-ähnliches System aufzubauen, ist auch einfach die Lust am Selbermachen. Der folgende Beitrag zeigt einige praktische Szenarien, die ein eigener Mini-Server mit Linux ohne großen Aufwand meistert. Die kurzen Anleitungen orientieren sich an den Linux-Systemen Debian/ Ubuntu und Raspbian für den Raspberry Pi.


Socks-Proxy: Unterwegs sicher ins Web

Aufwand: Sehr niedrig, der SSH-Dienst gehört auf einem Linux-Server sowieso zur Grundausstattung.
Hardware-Anforderungen: Niedrig – gut mit einem Raspberry Pi machbar.

Das hier gezeigte Add-on Proxy Selector erlaubt es, per Mausklick zur vorkonfigurierten Proxy-Verbindung zu wechseln.

Das Protokoll SSH dient zur Anmeldung auf dem Server-System zur Fernwartung aus dem eigenen Netzwerk. Ein SSH-Dienst sollte deshalb von Anfang an schon bei der Ersteinrichtung installiert werden. Das gelingt in Debian, Ubuntu und Raspbian mit diesem Kommando:

sudo apt-get install openssh-server

Damit ist der Dienst auch gleich aktiv. Sehr nützlich ist SSH auch als VPN-Ersatz, wenn auf dem Router eine Portweiterleitung auf dem SSH-Port 22 zum Server im lokalen Netzwerk geöffnet wird und ein dynamischer Host-Name eingerichtet ist. Dann sind auch Anmeldungen über dieses verschlüsselte Protokoll aus dem Internet heraus möglich. Diese SSH-Verbindung kann dann unterwegs auch als Proxy-Server dienen, um den Netzwerkverkehr eines Browsers verschlüsselt über den SSH-Server zu Hause zu schicken. Der Browser geht dann über den heimischen Anschluss ins Internet, und der eigentliche Verkehr bleibt so in unsicheren WLANs verborgen.

Verbinden Sich sich dazu in einem Terminal-Fenster mit dem Befehl

ssh -ND 8080 [User]@[Hostname]

zum gewünschten Server. Gehen Sie dann in die Browser-Einstellungen, und tragen Sie dort als „SOCKS Host“ beziehungsweise „SOCKS Proxy“ einfach „localhost“ ein und als Port 8080. Ab jetzt gehen die Browser-Anfragen per SSH zunächst zum Server, der die Webseiten als Proxy abruft und verschlüsselt zurück zum Browser schickt. Das Terminal-Fenster muss dazu geöffnet bleiben.

Dokuwiki: Infos im Intranet abgelegen

Aufwand: Mittel – verlangt einen laufenden Webserver mit PHP.
Hardware-Anforderungen: Bis zur Größe von einigen hundert Seiten im Wiki hat Dokuwiki nur bescheidene Anforderungen.

Da dieses Wiki-System nur PHP und einen Webserver benötigt, aber keine Datenbank, ist es genügsam genug für Mini-Server und außerdem schnell zu installieren.

Wer im Team arbeitet und Arbeitsschritte, Vorgaben oder auch nur allgemeine Infos wie Telefonlisten dokumentieren will, ist mit einem Wiki im Intranet gut bedient. Für kleine Teams oder auch für das Heimnetz ist das PHP-Projekt Dokuwiki einen Blick wert. Es verlangt einen Webserver wie Apache und natürlich PHP, verzichtet aber auf eine Datenbank. Die im Wiki angelegten Texte verwaltet Dokuwiki einfach in Form von Textdateien. Eine Versionsverwaltung gibt es aber trotzdem, zudem ein Benutzermanagement und eine Bildverwaltung. Für die Erstellung und Formatierung der Texte gibt es eine Markdown-Syntax.

Zur Einrichtung installieren Sie, falls noch nicht geschehen, zunächst Apache und PHP mit den benötigten PHP-Modulen auf dem Server – unter Debian, Ubuntu und Raspbian:

sudo apt-get install apache2 php5 libapache2-mod-php5 php5-curl

Dann laden Sie das Installationsarchiv von Dokuwiki mit wget zunächst ins Home-Verzeichnis:

wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Unter den Debian-Distributionen liegt das vorbereitete Webverzeichnis von Apache unter „/var/www“, und genau dahin entpackt dann der Befehl

sudo tar xzvf dokuwiki-stable.tgz -C /var/www

das Archiv. Das nun dort erstellte Unterverzeichnis mit Versionsangabe im Namen benennen Sie mit

sudo mv /var/www/dokuwiki-* /var/www/dokuwiki

nach „dokuwiki“ um und setzen dann die Zugriffsrechte für Apache:

sudo chown -R www-data:www-data/var/www/dokuwiki

Unter aktuellem Ubuntu muss das Dokuwiki unter „/var/www/html/dokuwiki“. Danach können Sie das Wiki im Webbrowser einrichten, also das Administratorkonto erstellen, den Wiki-Namen festlegen sowie eine Zugangskontrolle einrichten. Gehen Sie dazu im Browser auf den Server mit der Adresse „http://[IP-Adresse]/dokuwiki/install.php?l=de“, und folgen Sie dort den wenigen weiteren Schritten. Danach ist das Wiki einsatzbereit.

VNC: Remote-Desktop zum Server

Aufwand: Gering, der VNC-Server ist schnell eingerichtet.
Hardware-Anforderungen: niedrig

Ein VNC-Server erlaubt die Nutzung der Desktop-Umgebung und die Verwendung grafischer Programme über das Netzwerk.

Der Vorteil eines Mini-Servers ist die Reduktion auf das absolut Nötigste. Ist das Gerät erst mal eingerichtet, kann es platzsparend in einer Ecke verstaut werden. Ein Bildschirm ist nicht nötig, da der gesamte Zugriff und die Administration über das Netzwerk erfolgen. Trotzdem ist es hilfreich, bei Bedarf auch einen Desktop auf dem Server zu haben. Zum Testen von Programmen und zur Konfiguration ist aber auch ein Remote-Desktop genug. Unter Debian/Ubuntu/Raspbian ist dazu ein VNC-Server schnell eingerichtet:

sudo apt-get install tightvncserver

Den VNC-Server müssen Sie mit den gewünschten Parametern zuerst noch manuell mit diesem Befehl starten:

vncserver :1 -geometry 1024x768 -depth 16 -pixelformat rgb565

Das Kommando startet den Desktop mit der Auflösung 1024 mal 768 und 16 Bit Farbtiefe. Auf den Clients im lokalen Netzwerk brauchen Sie nur einen VNC-Viewer für eine Verbindung. Unter Linux ist Vinagre empfehlenswert, für Windows hat sich die englischsprachige Freeware Ultra VNC bewährt. Zum laufenden VNC-Server verbinden Sie sich mit der Adresse „[IP-Adresse]:1“, also mit der IP-Adresse des Servers und dem Displayport, der Sie beim Start angegeben haben, in diesem Beispiel „1“.

Mini-DLNA-Server für Bilder, Videos und Musik

Aufwand: Mittel, die Einstellungen werden per Konfigurationsdatei getroffen.
Hardware-Anforderungen: Bei Video-Streaming mittel bis hoch, je nach Auflösung.

Nach einigen Sekunden ist der DLNA-Server im Netzwerk per UPnP verfügbar, und der Client, hier ein Android-Tablet, hat ihn bereits gefunden.

Mit DLNA steht ein Standard zur Übertragung von Medien im lokalen Netzwerk zur Verfügung, den viele Geräte verstehen. Ein Server dafür ist mit Readymedia (Mini DLNA) unter Debian, Ubuntu und Raspbian schnell eingerichtet. Auf einem Raspberry Pi gilt es zu beachten, dass die Platine nicht zum Streaming von Videos im Full-HD-Format (1080 p) ausreicht. Installieren Sie das Programm auf Kommandozeile mittels:

sudo apt-get install minidlna

Öffnen Sie dann die Datei „/etc/minidlna. conf“ im Texteditor Nano:

sudo nano /etc/minidlna.conf

Beginnen Sie mit der Definition der Verzeichnisse der Mediadateien für das Netzwerk. Legen Sie für Bilder, Musik und Videos einzeln die gewünschten Quellverzeichnisse fest:

media_dir=A,/home/user/Musik media_dir=P,/home/user/Bilder media_dir=V,/home/user/Videos

Passen Sie diese Pfade entsprechend den tatsächlichen Ordnern in Ihrem Home-Verzeichnis an. Das vorangestellte „A“ steht für Audio, „P“ für Pictures und „V“ für Videos. Springen Sie dann in das untere Drittel der Konfigurationsdatei zu „#friendly_name=“. Entfernen Sie das Kommentarzeichen „#“, und geben Sie dem DLNA-Server einen Namen für das lokale Netzwerk:

friendly_name=DLNA-Server

Empfehlenswert ist in einer Minimalkonfiguration auch dieser Eintrag:

inotify=yes

Damit berücksichtigt der Server selbständig im laufenden Betrieb, wenn es neue Mediendateien in den Ordern gibt. Mit diesen wenigen Zeilen, die zwar nicht alle Fähigkeiten des Programms ausschöpfen, aber zum Einstieg die wichtigsten Optionen enthalten, ist Readymedia/Mini DLNA einsatzbereit. Damit die Konfiguration übernommen wird, ist noch ein Neustart des laufenden Mini-DLNA-Dienstes mit dem Befehl

sudo service minidlna restart

erforderlich.


Qbittorrent-Client mit Weboberfläche

Aufwand: Mittel, erfordert die Einrichtung eines Cron-Jobs.
Hardware-Anforderungen: Mittel bis hoch, je nach Anzahl und Größe gleichzeitiger Downloads.

Sparsame Mini-Server eignen sich gut für langwierige Bittorrent-Downloads: Qbittorrent lässt sich dazu komfortabel über das Netzwerk mit einer Browser-Oberfläche bedienen.

Über Bittorrent werden nicht nur Inhalte verteilt, die das Urheberrecht verletzen. Auch Linux-Distributionen nutzen das Filesharing-Protokoll, da damit auch enorm große Downloads ohne Belastung eines einzigen Anbieter-Servers möglich sind. Außerdem überprüft Bittorrent die Checksumme heruntergeladener Dateien, was bei großen ISO-Dateien von Linux-Distributionen sehr nützlich ist.

Downloads per Bittorrent können eine langwierige Sache sein, und ein Bittorrent-Programm ist deshalb gut auf einem sparsamen Server aufgehoben. Dazu ist das Programm Qbittorrent eine gute Wahl, da es auf dem Server im Hintergrund läuft und von anderen PCs im Netzwerk komfortabel im Browser bedient wird. Einen installierten Apache setzt Qbittorrent nicht voraus. Unter Debian/Ubuntu/Raspian installieren Sie Qbittorrent in der Kommandozeile:

sudo apt-get qbittorrent-nox

Sie rufen das Programm mit qbittorrent-nox auf und müssen beim allerersten Mal die Begrüßungsmeldung einmalig mit „y“ bestätigen. Auf dem Server ist die Weboberfläche von Qbittorrent jetzt über die Adresse „[IP-Adresse]: 8080“ erreichbar. Das voreingestellte Standardpasswort für den Benutzer „admin“ lautet „adminadmin“. Damit Qbittorrent in Zukunft automatisch beim Systemstart ausgeführt wird, ist ein Eintrag im Taskplaner (Cron) nötig. Rufen Sie ohne sudo oder Root-Rechte den Editor

crontab -e

auf, und tragen Sie die Zeile

@reboot /usr/bin/screen -d -m /usr/bin/qbittorrent-nox

ein. Diese Autostart-Möglichkeit mit der Variable „@reboot“ in der Cron-Tabelle funktioniert in allen verbreiteten Linux-Distributionen.

Mit Monitorix den Server im Blick

Aufwand: mittel
Hardware-Anforderungen: Niedrig – die Berechnung der Statistiken dauert selbst auf dem Raspberry Pi nur Sekunden.

Die Performance im Blick: Das Perl-Tool Monitorix zeigt Leistungsdaten zu einem Linux- System im Webbrowser und liefert dafür auch seinen eigenen Webserver.

Wenn alles eingerichtet ist und der Server in der Ecke schnurrt, sollte man hin und wieder einen Blick auf die Auslastung des Systems werfen. Dazu gibt es Monitoring-Programme, die relevante Leistungsdaten des Linux-Rechners protokollieren und im Browser präsentieren. Für kleine Systeme ist dazu das Tool Monitorix gut geeignet, zumal es auch auf Platinen wie dem Raspberry Pi gut läuft.

Monitorix setzt keinen installierten Apache-Webserver voraus und bringt seinen eigenen Webserver mit. Dieser ist aber optional und lässt sich auch ausschalten, falls es doch schon einen Webserver gibt.

Zur Installation auf Debian/Ubuntu/Raspbian sind auf der Kommandozeile mit dem Befehl

sudo apt-get install libdbi-perl libhttp-server-simple-perl libmailtools-perl libmime-lite-perl librrds-perl libconfig-general-perl libwww-perl libxml-simple-perl rrdtool

zunächst einige Abhängigkeiten zu erfüllen. Bei der Abfrage der Daten für den eingerichteten Maildienst können Sie die Vorgaben übernehmen. Dann laden Sie das DEB-Paket von Monitorix von www.monitorix.org/downloads.html herunter – am besten mit dem Kommandozeilen-Tool wget direkt auf den Zielrechner:

wget http://www.monitorix.org/monitorix_3.7.0-izzy1_all.deb

Überprüfen Sie aber auf der Webseite, wie der Dateiname der aktuellen Monitorix-Version lautet. Nun installiert der Befehl

sudo dpkg -i monitorix*

das heruntergeladene Paket. Monitorix läuft standardmäßig mit seinem eigenen Webserver auf dem Port 8080 und kann jetzt auf jedem anderen Rechner im lokalen Netz im Browser über die Adresse

[IP-Adresse]:8080/monitorix

abgefragt werden.

(PC-Welt/ad)