(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?
- Zentraler Datenspeicher für Filme, Fotos, eBooks, Dokumente, etc.
- Zentrales Backup für Dropbox sowie die Daten Ihrer Geräte
- DLNA-Server für Smart-TV's
- Dashkiosk für beliebige Geräte (Digital Signage)
- Digitaler Videorekorder
- Audio/Video-Konferenz-Server
- Game-Server für ARK, Minecraft, etc.
- Web-Server / NextCloud-Server / Git-Server für Software-Projekte / IPFS-Server
- Remote Desktop
- Mit WakeOnLAN den Server wecken / und vieles mehr.
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
- 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.
- 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".
- 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:
-
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 unterhttp://<HOSTNAME>:8200
und geloggt wird nach/var/snap/minidlna-escoand/common/minidlna.log
. -
NextCloud-Server
sudo snap install nextcloud
Danach kann der NextCloud-Server mit dem Browser unter
http://<HOSTNAME>
erreicht und eingerichtet werden. -
Web-Server
sudo snap install caddy-hduran
-
openHAB Smart Home Server
sudo snap install openhab
Unter
http://<HOSTNAME>:8080
kann danach der openHAB-Server eingerichtet und genutzt werden. -
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. -
Spreed WebRTC Audio/Video-Anrufe und -Konferenzen
sudo snap install spreed-webrtc-snap
Danach erreicht man den WebRTC-Server unter
http://<HOSTNAME>:8084
-
PostgreSQL-Server
sudo snap install postgresql10
-
Jenkins-Server
sudo snap install jenkins
Danach erreicht man den Jenkins-Server unter
http://<HOSTNAME>:8080
-
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.
-
Plex Media Server
sudo snap install plexmediaserver
Unter http://<HOSTNAME>:32400/web
kann der Plex Media Server dann eingerichtet und genutzt werden.
-
tvheadend als digitaler Videorekorder
sudo snap install tvheadend
Danach erreicht man tvheadend unter
http://<HOSTNAME>:9981
. -
Dashkiosk
sudo snap install dashkiosk
Den Administrationsbereich erreicht man unter
http://<HOSTNAME>:9400/admin
und unterhttp://<HOSTNAME>:9400/receiver
läuft dann der eigentliche Dashkiosk. -
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