Ubuntu als Homeserver
Ubuntu hat genauso fortschrittliche wie stabile und sichere Distributionen, basiert auf dem Debian System und bietet zudem eine große Community. Ubuntu als Homeserver zu verwenden bietet sich daher an, selbst wenn man nicht unbedingt Linux als Haupt-Betriebssystem einsetzt.
In mehreren Beiträgen wollen wir nun einen Homeserver mit Ubuntu aufsetzen. Je nach Nutzungs-Last des Servers braucht man vorab die Hardware. Auf diese will ich hier nicht weiter eingehen - man kann aus einem Einplatinen-Computer, Micro-Server oder sonst einem ausrangierten PC einen Server hochziehen, wenn man das will. Für die fortschrittlichere Benutzung empfiehlt es sich eher, etwas mehr auszugeben. Prinzipiell empfiehlt es sich, auf das benötigte netzteil zu achten, da starke Netzteile auch schnell die Stromkosten steigen lassen.
Voraussetzungen für den Server
Um einen Server aufzuziehen sollte man vor allem wissen, was der Server im Netzwerk leisten soll. In unserem Beispiel gehen wir von folgenden Grundannahmen aus:
- Wir wollen Dateien über mehrere PC’s/Laptops, Tablets und Smartphones teilen
- Wir wollen Medien wie Musik und Videos über den Server bereitstellen
- Wir wollen unsere Netzwerk-Kameras über den Server einsehen und verwalten können
Um ein paar der Aufgaben zu erleichtern und nicht auf Drittanbieter im Web angewiesen zu sein erweitern wir unseren Server um die folgenden Zusatz-Funktionen:
- Wir ziehen einen eigenen Git Server hoch um potentielle Skripte aus der Smarthome-Region und ähnliche Dateien selber hosten zu können
- Wir setzen einen FTP Server auf, um Dateien einfach übertragen zu können
- Wir wollen unseren Server via SSH konnektieren können
- Wir erstellen einen einfachen Webserver
Verwendete Software
Um die Voraussetzungen zu erfüllen, arbeiten wir mit der folgenden Software:
samba
für die Datei-Freigaben im Netzwerknextcloud
für einfachen Zugriff auf die Dateien im Netzwerk von Windows, Linux, Android usw.jellyfin
als freien Medien-Server ohne Cloud-Zwang (alternativPlex Medien-Server
, aber mit Cloud-Zwang)gitea
als einfache Git Hosting Lösung
Ubuntu Server Installation
Für die Installation kann man die letzte ISO-Datei hier herunterladen. Daraus kann man ein Boot-Medium erstellen und die Installation starten.
Sprache auswählen
Installations-Routine aktualisieren
Dieser Schritt wird optional vorgeschlagen, wenn es seit dem letzten packen der Installations-Datei Änderungen gab und eine neuere Version vorgestellt wurde. Generell ist es empfehlenswert, in diesem Fall die Aktualisierungen direkt herunterzuladen. Unter Umständen sind auch Bugfixes und Verbesserungen der Routine enthalten.
Tastatur-Layout festlegen
Jetzt legen wir das Tastatur-Layout fest. Wer sein Layout nicht kennt, kann den Assistenten (siehe nachfolgende Grafik Punkt 3) verwenden.
Netzwerk konfigurieren
Ubuntu schlägt einem primär DHCP mit der aktuellen IP vor. Hat man DHCP aktiv und der Server ist online, kann man überlegen, die Einstellung zu behalten oder eine statische IP festzulegen. In meinen Beispielen hier konfiguriere ich einen virtuellen PC, wogegen die Server im Regelfall 2 Lan-Anschlüsse besitzen.
Will man, wie bei Servern meistens, die LAN Adressen selber konfigurieren, kann man die folgenden Konfigurations-Schritte per Lan-Anschluss durchführen:
- Das Subnet ist das Basis-Netzwerk, in dem der Server arbeitet. Im Allgemeinen wird dieses durch den Router oder die Firewall festgelegt und ergibt sich damit aus der IP des Routers/der Firewall. Hat der Router die IP-Adresse
192.168.0.1
, ist das Subnet192.168.0.0/24
. - Die gewünschte IP-Adresse des Servers (z.B.
192.168.0.2
für LAN1 und192.168.0.3
für LAN2) - Gateway - meistens die IP-Adresse des Routers/der Firewall. (z.B.
192.168.0.1
) - IP-Adresse(n) der Nameserver. Im Prinzip kann man z.B. die Gateway Adresse eintragen, wie in den Grafiken die
OpenDNS
Server oder auch8.8.8.8
für einen Google Server. - Kann man in gängigen Konfigurationen einfach leer lassen.
Anschließen das Popup durch schließen
abspeichern und übernehmen.
Optional kann man auch einen LAN Bond erstellen für seine LAN Anschlüsse:
Im Heimnetzwerk und insbesondere mit wenig Kenntnissen über Netzwerkkonfigurationen bietet sich hier bei Bond-Mode (Siehe obige Abbildung Punkt 3)
Der Modus balance-alb
an. Hier muss man nicht wissen, für welches Setup die verbauten Netzwerk-Anschlüsse kompatibel sind und der Modus ist generell recht
simpel in der Handhabung. Dennoch würde ich nur empfehlen den Bond einzurichten, wenn man sich selbst als eher Fortschrittlich kennt in Bezug
auf Netzwerke und deren Konfiguration!
Proxy konfigurieren
Hat man einen Proxy konfiguriert, muss man diesen hier eintragen. Im Regelfall geht es direkt weiter zum nächsten Schritt.
Archive Mirror
Ubuntu trägt den entsprechenden Mirror für die eigene Sprache im Regelfall selber ein. Alternativ kann man auch einen Mirror aus einer anderen Sprache setzen:
Festplatte konfigurieren
Will man nur die Festplatte verwenden mit der Standard-Konfiguration von Ubuntu kann man einfach die gewünschte Festplatte wählen und direkt mit dem nächstne Schritt weiter machen.
Alternativ kann man auch, wie im folgenden abgebildet, die Festplatten konfigurieren. Man wählt mit den Pfeil-Tasten die Festplatte. Durch Auswahl (Space) öffnet sich das Flyout-Menu
und man kann Add GPT-Partition
auswählen.
Anschließend erstellt man seine Partitionen mit Einhängepunkten.
Es empfiehlt sich dabei darauf zu achten, dass man Partitionen erstellt, wie man sie später auch entsprechend verwendnet. Im Allgemein eignen sich z.B. der
/var/www
Ordner oder gar der ganze/var
Ordner/home
für die Benutzer-Verzeichnisse/opt
(für eigene Software z.B.)
als Partition oder eigener Einhängepunkt in Form einer eigenen Platte, da diese auf dem Homeserver am meisten eigene Daten enthalten.
Zusätzlich sollte man noch eine 1GB swap
anlegen und ca 20GB für den Root-Pfad (/
).
Ist man fertig, kann man bestätigen und zum nächsten Schritt übergehen. Dabei wird man noch mal gefragt, ob man sich sicher ist, die Festplatte zu formatieren und alte Daten gegebenenfalls zu löschen.
Eigenen Benutzer erstellen
Nun konfiguriert man seinen eigenen Benutzer-Account:
- Name: Deinen Namen eingeben - Kann z.B. auch der volle Name sein
- Name des Servers: z.B.
homeserver
- Benutzername: Dein gewünschter Benutzername
- Passwort: Wähle ein sicheres Passwort.
- Passwort wiederholen: Wiederhole dein zuvor gewähltes Passwort
Anschließend Bestätigen und weiter zum nächsten Schritt:
Openssh installieren
Da wir unseren Homeserver per SSH verwalten wollen und zudem noch Gitea installieren möchten, wählen wir openssh direkt aus:
Anschließend bestätigen und weiter zum nächsten Schritt.
Unterstützte Server-Snaps
Wir installieren die benötigte Software manuell und können diesen Schritt ohne weitere Auswahl bestätigen:
Finale Installation
Ubuntu wird jetzt installiert. Nach Abschluss muss man nur Neustart auswählen:
Anschließend kann man sich mit seinem Benutzernamen einloggen:
Fehlende Grund-Software installieren
Nach dem Login installieren wir vorab ein paar relevante Tools und prüfen auf weiterhin ausstehende Updates:
sudo apt update && sudo apt dist-upgrade
sudo apt install -y vim vim-scripts
sudo apt install -y ntp ntpdate
Zeitzone korrigieren
Anschließend kontrollieren wir zuerst die gesetzte Zeitzone.
sudo vi /etc/timezone
Ändere bei Bedarf die Zeitzone auf deine Zeitzone. (z.B. Europe/Berlin
).