Achtung: Diese Artikelreihe basiert auf Ubuntu Server 18.04. Es existiert eine neuere und komplett überarbeitete Version auf Basis von Ubuntu 20.04 unter:
Übersicht: Ubuntu 20.04 Homeserver/NAS, Teil 1
Dieser Artikel ist Teil der Reihe selbstgebauter Homeserver/Nas mit Ubuntu 18.04
Im letzten Teil der Reihe Selbstgebauter Homeserver/NAS auf Basis von Ubuntu Server 18.04 wurde das Betriebssystem installiert. Bevor mit der Einrichtung der verschiedenen Dienste die unser Homeserver zur Verfügung stellen soll begonnen wird, möchte ich diesen Artikel einschieben. Hier geht es um die Grundkonfiguration des Systems bzw. um grundlegendes zur Administration unseres Homeservers.
Das System aktuell halten
Nur ein aktuelles System ist auch ein sicheres System. Das System wurde im letzten Teil zwar so konfiguriert dass Sicherheitsupdates in regelmäßigen Abständen automatisch eingespielt werden, alle anderen Updates müssen aber manuell vorgenommen werden. Außerdem ist es von Zeit zu Zeit nötig das System neu zu starten, damit alle Updates angewendet werden.
Ob Updates zur Verfügung stehen, bzw. ob ein Neustart nötig ist erfährt man wenn man sich wie im letzten Teil beschrieben via SSH auf dem Server einloggt. In diesem Fall stehen nach der Installation Updates für über 100 Pakete bereit.
Mit folgendem Befehl kann man das System updaten.
sudo apt update && sudo apt upgrade
Das vorangestellte sudo führt dazu dass der Befehl mit erhöhten Rechten (Rootrechte) ausgeführt wird, da ansonsten keine Systemdateien verändert werden dürfen. Apt ist das Programm welches für die Paketverwaltung und damit für die Aktualisierung zuständig ist. Der erste Teil des Befehls (vor dem &&) sorgt dafür dass die Paketquellen auf Aktualisierungen überprüft werden. Der zweite Teil spielt diese ein.
Nach dem Einspielen einer Vielzahl von Updates ist es wahrscheinlich dass das System einen Neustart benötigt. Auch hierüber wird man nach dem Login informiert. Also melden wir uns zuerst mit dem Befehl
exit
vom System ab, um uns anschließend direkt neu zu verbinden. Tatsächlich weist uns das System darauf hin dass ein Neustart nötig ist.
Einen Neustart führen wir mit dem Befehl
sudo reboot
aus. Wenn das System nur heruntergefahren werden soll, ohne neu zu starten wird folgender Befehl verwendet:
sudo shutdown -h now
Homeserver mit DynDNS aus dem Internet erreichbar machen
Damit wir auch unterwegs über Nextcloud Zugriff auf unsere Daten bekommen, bzw unsere Kontakte und Termine mit Nextcloud synchronisieren können oder Medien via Plex streamen, müssen wir das System über das Internet erreichbar machen. Das Problem sind hier einerseits die wechselnden IP-Adressen am DSL-Anschluss, andererseits will sich auch niemand eine IP-Adresse merken.
Damit der hier beschrieben Zugriff aus dem Internet funktioniert, muss der Internetanschluss – wie in der Einleitung beschrieben – über eine öffentliche IP-Adresse verfügen. Bei einem DSL-Anschluss sollte das normalerweise der Fall sein. Bei einem Kabelanschluss mit DS-Lite funktioniert der Zugang über Internet auf das Heimnetz leider nicht.
Die wohl bekannte Lösung um den DSL-Anschluss aus dem Internet erreichbar zu machen ist DynDNS. Ein System dass die hinter einem Domainnamen stehende IP-Adresse bei jeder Änderung aktualisiert. Somit ist der Homeserver von unterwegs immer über eine leicht zu merkende Internetadresse erreichbar.
Es gibt eine Vielzahl von DynDNS Anbietern, die z.B. auch direkt von der Fritzbox unterstützt werden, so dass nur Benutzername, Passwort und Domainname angegeben werden muss. Ich bin schon seit längerem zufriedener Nutzer des Dienstes Feste-IP.net, welchen ich aus diesem Grunde gerne hier erwähnen möchte. Allerdings ist der Dienst kostenpflichtig (was ich zwar als Vorteil sehe [der Kunde bin ich, nicht ein Werbepartner], allerdings die Einstiegshürde für die Umsetzung dieser Anleitung hochsetzten würde.). Auch der Webhoster Strato unterstützt DynDNS. Wer dort Kunde ist, kann mit einer „richtigen“ Internetadresse auf seinen Homeserver zugreifen. Also z.B. meinname.de anstatt meinname.ddns.net
Um die Einstiegshürde niedrig zu halten zeige ich die Einrichtung in diesem Artikel anhand des kostenlosen Anbieters No-IP.com, welcher außerdem direkt von der Fritzbox unterstützt wird.
DynDNS mit No-IP.com
Zuerst muss man sich einen Account bei No-IP.com anlegen. Nach dem Login kann der Domainname angelegt werden. Hierzu geht man links im Menü auf Dynamic DNS und anschließend auf Create Hostname.
Dann kann man sich einen Hostnamen und eine Domain wählen. Daraus setzt sich dann die Adresse zusammen unter der der Homeserver später erreichbar sein wird. im Beispiel ist das https://mimashome.ddns.net. Alle anderen Felder können ignoriert werden bzw. müssen nicht verändert werden. Angelegt wird die Adresse mit einem Klick auf “Create Host”
DynDNS Dienst in der FritzBox aktivieren
Da No-IP in der Fritzbox standardmäßig bereits vorkonfiguriert ist, ist die Konfiguration schnell erledigt.
Die Einstellungen hierzu findet man unter Internet -> Freigaben -> DynDNS
Hier gibt man seine gerade gewählte Internetadresse sowie seinen Benutzernamen und sein Passwort von No-IP an.
Nach einem Klick auf “Übernehmen” meldet die Fritzbox bei No-IP an und Informiert den Anbieter jedes Mal wenn sich die IP Adresse ändert. Somit funktioniert die Adresse auch dann wenn sich die IP-Adresse am Internetanschluss ändert.
Portfreigabe für den Zugriff auf den Homeserver einrichten
Grundsätzlich ist das Heimnetzwerk damit aus dem Internet erreichbar. Der Versuch über die oben vergebene Adresse auf das Heimnetz zuzugreifen scheitert jedoch an der Fritzbox, die Standardmäßig alle Zugriffe auf das Heimnetz blockt. Damit Zugriffe auf den Homeserver möglich werden muss eine Portfreigabe eingerichtet werden. Auf der Fritzbox findet man die Einstellungen hierzu unter
Internet -> Freigaben -> Portfreigaben. Dort wählt man dann den Button “Gerät für Freigabe hinzufügen”
Im Dropdownmenü sollte unser Homeserver mit dem Namen Mimas bereits vorhanden sein und kann ausgewählt werden. Fall das Gerät fehlt, den Homeserver einmal neu starten. Nachdem der Rechner gestartet ist muss die Konfigurationsoberfläche im Browser neu geladen werden. Dann sollte das Gerät erscheinen.
Im unteren Bereich muss zum Erstellen einer Portfreigabe noch der Button “Neue Freigabe” gedrückt werden. Im neuen Fenster wird als Anwendung “HTTPS-Server” ausgewählt, wodurch alle weiteren Felder automatisch ausgefüllt werden. Fall der eigene Router das automatische Ausfüllen nicht anbietet, muss als Portnummer sowohl für interne als auch externe Ports die Nummer 443 angegeben werden.
Mit einem Klick auf “OK” wird der Homeserver wirklich über das Internet erreichbar.
Diesen Schritt muss für die Portnummern 80 sowie 32400 wiederholt werden. Port 80 für unverschlüsselte http-Verbindungen wird benötigt um das Let’s Encrypt Zertifikat für die verschlüsselte https-Verbindung auszustellen. Port 32400 wird für das Streaming von Musik und Videos mit Plex verwendet. Für die Freigabe des Ports 32400 wird im Menü bei Anwendung „Andere Anwendung“ ausgewählt.
Nach dem Speichern der angelegten Freigaben sieht die Übersicht in der Fritzbox folgendermaßen aus:
Wie man sieht sind folgende Ports freigegeben
- 80
- 443
- 32400
Homeserver/NAS mit Ubuntu 18.04: Teil 1, Einleitung, Hardware und Kosten
Homeserver/NAS mit Ubuntu 18.04: Teil 2, Systeminstallation
Homeserver/NAS mit Ubuntu 18.04: Teil 3, Grundkonfiguration
Homeserver/NAS mit Ubuntu 18.04: Teil 4, Dateifreigaben im Heimnetz
Homeserver/NAS mit Ubuntu 18.04: Teil 5, Nextcloud
Homeserver/NAS mit Ubuntu 18.04: Teil 6, Media Streaming mit Plex
Homeserver/NAS mit Ubuntu 18.04: Teil 7, Backups mit Duplicati und Rsnapshot
9 Comments
Hey Hey super geiles tut. Ich habe nur eine kurze Frage zu den Portfreigaben. Wird beim 32400 port auch das tcp Protokoll verwendet?
mfg fabi
Hallo Fabi,
Ja, ist auch TCP.
Danke, ich habe mittlerweile ein anderes Problem ^^, und zwar ist es mir nicht möglich bei nextcloud über die seite die Einrichtung abzuschließen er nörgelt immer folgendes:“ Das Datenverzeichnis /media/benutzer/NAS/nextcloud kann nicht erstellt oder es kann darin nicht geschrieben werden. “
hast du dafür zufällig auch eine Lösung perat?
Der Fehler deutet darauf hin dass der Benutzer des Webservers (www-data) das Verzeichnis nicht anlegen kann, da die Rechte im Dateisystem nicht passen. Dass musst du korrigieren wie in Teil 5 beschrieben.
sudo mkdir -p /media/benutzer/NAS/nextcloud
sudo chown -R www-data:www-data /media/benutzer/NAS/nextcloud
Dann sollte es passen.
Das habe ich ja gemacht aber es funktioniert trotzdem nicht die rechte sind www-data aber wie gesagt gehts trotzdem nicht.
Seltsam. Möglicherweise stimmen schon die Lese-/Schreibrechte des übergeordneten Ordners nicht. Dein Pfad sieht nach einer externen Festplatte aus, nutzt du das? Die wird vielleicht mit den Rechten eines anderen Benutzers gemountet.
Evtl. spuckt auch das Apache Logfile etwas aus.
also ne externe ist es nicht habe die festplatte nur in 2 partitionen aufgeteilt die andere ist auch regulär unter mnt gemountet. tatsächlich hats mich auch gewundert das die nicht unter mnt sondern unter media gemountet ist. grade ist mir noch aufgefallen das er jetzt nach dem neustart die partition bei mnt eingehängt hat wo ichs ihm im nachhienein gesagt habe, hat aber nichts gebracht. wo genau ist die log datei? die die ich gefunden hab, war leer.
Hallo Niko!
Ich habe einen A1 Router und bei mir schaut die Portfreigabe etwas anders aus
Es heißt Port Forwarding
Und dort kann ich zb nicht HTTPS-Server auswählen.
es steht dort folgendes
Name
Protocol: TCP and UDP oder eines von beiden
WAN Host IP Range
LAN Host IP Address
WAN Port Range
LAN Host Port Range
Ich habe Name, TCP sowie WAN Port Range und LAN Host Port Range ausgefüllt jedoch konnte ich nicht zugreifen..
LG
Hallöchen,
ich habe als ich damals mit meinem Homeserver angefangen sehr aufmerksam deine Tutorials gelesen und verinnerlicht. Auch wenn ich als Linux Affiner User das wohl im Grunde selbst hinbekommen hätte war es beruhigend zu sehen das der Plan den man im Kopf hatte von jemanden anderen sowohl bereits umgesetzt als auch niedergeschrieben wurde.
Aktuell passiert es jedoch immer häufiger das Nutzer von ihren ISP´s hinter eine cgnat gesteckt werden so das der klassische Aufbau über das DynDNS gerade im Zusammenhang mit LE Zertifikaten nicht mehr funktioniert. Ich selbst war ebenfalls davon betroffen und musste mir eine Alternative überlegen da eine statische Adresse nicht mehr zu bekommen ist als Privatanwender ohne weiteres. Meine Lösung war nun ein „Internet-Facing-Server“ vor den Homeserver zu schalten über einen WireguardVPN Tunnel und auf dem IFS Nginx als Reverse Proxy einzusetzen.
Worauf möchte ich nun hinaus, naja ich würde mir vielleicht einen Optionalen weiteren Beitrag zur Tutorial Serie wünschen die diesen Lösungsweg beschreibt für die Leute ebenfalls in diese Problematik geraten, da wie ich denke dein Blog mit dieser Tutorialserie doch einige Menschen erreicht würde ich mir erweiterndes Wissen genau hier platziert wünschen.
Vielen Dank für deine Arbeit, damals, heute und in Zukunft.
Mit besten Grüßen
Christopher