Bild

(Foto: pixabay.com)

Projekt: PC zu Homeserver umbauen

Irgendwann ist Schluss: ein neuer PC muss her. Doch soll man den alten PC entsorgen oder kann er sogar als Homeserver für die ganze Familie dienen? Wir zeigen was ein Homeserver kann und wie der Umbau gelingt.

Von Markus Fleschutz • Stand: 15. Dez. 2018

Was bietet ein Homeserver?

1️⃣ Die Hardware

Ein Homeserver benötigt ein Mainboard mit einer stabil laufenden CPU (CPU-Lüfter prüfen und evtl. säubern), ein Netzteil, ausreichend RAM (je mehr desto besser), mindestens eine Festplatte/SSD (evtl. Lüfter notwendig!) und einen Netzwerkanschluss (Gigabit-Ethernet empfohlen).

Im BIOS sollte ein evtl. Übertakten rückgängig gemacht werden und am besten das neueste BIOS-Update eingespielt werden. Auf Nummer sicher geht, wer die BIOS-Einstellungen auf Default setzt.

Hinweis: Jede zusätzliche Hardware bedeutet nicht nur höherer Stromverbrauch, sondern auch höhere Ausfallwahrscheinlichkeit!

2️⃣ Betriebssystem installieren

  1. Unter Windows/Linux/MacOS die Software UNetbootin herunterladen und ausführen, danach die Ubuntu Server Live 18.04 LTS (64-bit) auf einen USB-Stick (min. 4 GB Kapazität) herunterladen und installieren. Danach den USB-Stick ordnungsgemäß auswerfen. Wichtig zu wissen: Die LTS-Versionen werden bis zu 10 Jahre unterstützt, alle anderen bis zu 2 Jahren.
  2. Den Homeserver mit dem USB-Stick starten und zuerst das BIOS konfigurieren. Evtl. ein BIOS-Update einspielen, die Boot-Reihenfolge mit USB-Stick als Nummer 1, evtl. Übertakten abschalten, Wake-On-LAN für die Netzwerk-Karte einschalten, EuP 2013 abschalten, ... by BIOS abschalten. Danach "Save & Reboot".
  3. Installiere Ubuntu Server: Sprache: Englisch, Tastatur: Deutsch, Mode "Install on entire disk". Zum Schluss den USB-Stick entfernen und Rebooten.

Hinweis: Nach der Betriebssystem-Installation Grafikkarte, CD/DVD/Floppy-Laufwerke und alle anderen nicht mehr benötigten PCI-Karten entfernen!

3️⃣ sudo ohne Passwortabfrage

Bereits beim Einloggen mit ssh oder per Desktop wird das Passwort abgefragt. Darüber hinaus bei jedem sudo-Kommando das Passwort eingeben zu müssen ist einfach nur lästig. Als Abhilfe editiert man einfach die Datei /etc/sudoers mit einem Texteditor und hängt folgende Zeile an: (tom durch den Benutzernamen ersetzen)

tom ALL=(ALL) NOPASSWD:ALL

4️⃣ Livepatch Service aktivieren

Mit Live Patching können Kernel Security Fixes installiert werden, ohne das der PC neu gestartet werden muß. Somit werden Ausfallzeiten des Homeservers stark reduziert. Bis zu 3 Geräte können kostenlos damit ausgestattet werden.

Auf diesen Link klicken, ein Token erhalten und wie folgt aktivieren:

sudo snap install canonical-livepatch
sudo canonical-livepatch enable [TOKEN]

5️⃣ Software-Pakete installieren

Aus Sicherheitsgründen werden nur die nötigsten Software-Pakete installiert:

sudo apt update
sudo apt upgrade
sudo apt install htop smartmontools samba curl pm-utils hddtemp snap zfsutils-linux zfs-initramfs zip

Und zur Sicherheit gleich Festplatten/SSD's mit S.M.A.R.T überprüfen: (XXX ersetzen)

sudo smartctl --smart=on --nocheck=standby --offlineauto=on -t long /dev/sdXXX

und nach Testende:

sudo smartctl -a /dev/sdXXX

6️⃣ Snaps installieren

Snaps sind Software-Pakete, die völlig isoliert voneinander laufen, alle notwendigen Libraries gleich mitbringen und nur Zugriff auf freigegebene Bereiche haben. Dies zusammen erhöht die System-Stabilität ganz beträchtlich. Für einen Homeserver sind unter anderem folgende Snaps interessant:

  1. MiniDLNA-Server

    MiniDLNA ist ein kompakter DLNA/UPnP Medienserver. Er liefert Mediendateien (Musik, Bilder, Videos) an Smart-TV's, Computer, Laptop, Tables, und Handys im Heim-Netzwerk. Mit dem folgenden Kommando wird der DLNA-Server heruntergeladen und gestartet:

    sudo snap install --classic minidlna-escoand
    

    Die Konfiguration ist unter /var/snap/minidlna-escoand/current/minidlna.conf anzupassen (nur das Media-Verzeichnis). Mit dem Browser erreicht man den Server unter http://<HOSTNAME>:8200 und geloggt wird nach /var/snap/minidlna-escoand/common/minidlna.log.

  2. NextCloud-Server

    sudo snap install nextcloud
    

    Danach kann der NextCloud-Server mit dem Browser unter http://<HOSTNAME> erreicht und eingerichtet werden.

  3. Web-Server

    sudo snap install caddy-hduran
    
  4. openHAB Smart Home Server

    sudo snap install openhab
    

    Unter http://<HOSTNAME>:8080 kann danach der openHAB-Server eingerichtet und genutzt werden.

  5. IPFS-Server

    sudo snap install ipfs
    ipfs init
    ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001
    ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8765
    taskset 0x1 ipfs daemon &
    

    Mit dem Browser erreicht man dann den IPFS-Server unter http://<HOSTNAME>:5001/webui. Eine Port-Weiterleitung für den Router muss noch für Port 4001 eingerichtet werden.

  6. Spreed WebRTC Audio/Video-Anrufe und -Konferenzen

    sudo snap install spreed-webrtc-snap
    

    Danach erreicht man den WebRTC-Server unter http://<HOSTNAME>:8084

  7. PostgreSQL-Server

    sudo snap install postgresql10
    
  8. Jenkins-Server

    sudo snap install jenkins
    

    Danach erreicht man den Jenkins-Server unter http://<HOSTNAME>:8080

  9. Minecraft-Server

    sudo snap install minecraft-server-jdstrand
    sudo minecraft-server-jdstrand.util help     <-- danach den Anweisungen folgen
    

    Und danach noch eine Weiterleitung des Port 25565 beim Router einrichten.

  10. Plex Media Server

sudo snap install plexmediaserver

Unter http://<HOSTNAME>:32400/web kann der Plex Media Server dann eingerichtet und genutzt werden.

  1. tvheadend als digitaler Videorekorder

    sudo snap install tvheadend
    

    Danach erreicht man tvheadend unter http://<HOSTNAME>:9981.

  2. Dashkiosk

    sudo snap install dashkiosk
    

    Den Administrationsbereich erreicht man unter http://<HOSTNAME>:9400/admin und unter http://<HOSTNAME>:9400/receiver läuft dann der eigentliche Dashkiosk.

  3. grafana

    sudo snap install grafana
    

    Danach erreicht man grafana unter http://<HOSTNAME>:3000

Viele weitere Snaps samt Beschreibung finden sich im Snap Store. Generell sind Snaps nach Stabilität in einen der folgenden Channels eingestuft: von edge (brandneu), über beta, candidate bis hin zu stable (stabil). In der Voreinstellung wird nur vom sicheren stable-Channel installiert.

7️⃣ Remote Desktop mit X2Go

Auf dem Homeserver führen Sie bitte aus:

sudo add-apt-repository ppa:x2go/stable
sudo apt update
sudo apt install x2goserver x2goserver-xsession xfce4-session

Danach auf den Windows-PC's den X2Go Client installieren und ausführen (Sitzungsart XFCE wählen)

7️⃣ Health-Check

Dazu in regelmäßigen Abständen das folgende Shell-Script ausführen.

#!/bin/sh
#
# NOTE: to be started as superuser! Requires package hddtemp and smartctl!

echo "\n(1/5) Checking uptime: `uptime --pretty` since `uptime --since`"

echo "\n(2/5) Checking temperature ..."
hddtemp --unit=C /dev/sda /dev/sdb

echo "\n(3/5) Checking HDD/SSD ..."
smartctl --smart=on --nocheck=standby --offlineauto=on --health /dev/sda
smartctl --smart=on --nocheck=standby --offlineauto=on --health /dev/sdb

echo "\n(4/5) Checking filesystem ..."
zpool list
zpool status

echo "\n(5/5) Checking for updates ..."
apt update
apt upgrade
snap refresh

Links