Betriebssysteme, Programme & Web

So kannst du einen einfachen Ubuntu-Fileserver erstellen

Es muss nicht immer NAS sein. Besonders, wer noch alte Hardware besitzt, für die er keine Verwendung hat, kann sich auch mit sehr geringem finanziellem Aufwand einen Netzwerkspeicher erstellen. Einen relativ einfachen und schnellen Weg stellt Linux da. Und in diesem Tutorial erfährst du, wie du einen einfachen Fileserver auf Ubuntu-Basis konfigurierst.

Anmerkung: Ein Fileserver ersetzt natürlich keine Datensicherung, die z. B. durch ein NAS oder die Cloud erfolgen sollte! Gleichwohl übernehmen weder Basic Tutorials noch der Autor dieses Artikels Haftung für verlorengegangene oder beschädigte Daten, die durch den Fileserver entstehen könnten.

Schritt 1: Die Installation von Ubuntu Server

Zuallererst lädst du eine Version von Ubuntu Server herunter. Empfehlenswert ist hierbei eine LTS-Version, da diese für fünf Jahre lang mit Sicherheitsupdates versorgt wird.

Nun kümmern wir uns um die Installation. Nach der Auswahl der Sprache und des Tastaturlayouts erscheint der Screen für die Netzwerkkonfiguration.

Hier solltest du unbedingt eine statische IP-Adresse vergeben. Dazu wählst du den ersten Netzwerkadapter aus. Dann markierst du „Edit IPv4“. Ändere die IPv4-Method auf „manual“.
In der Zeile Subnet gibst du deine Netzwerkadresse mit einer Subnetz-Maske an, zum Beispiel 192.168.100.0/24. „/24“ steht hierbei für die Subnetz-Maske 255.255.255.0. Beachte, dass das „/“-Zeichen hier auf der „-„-Taste liegt.
In der nächsten Zeile gibst du die IP-Adresse ein, die du deinem Server zuweisen möchtest. Anschließend benennst du das Standard-Gateway deines Netzwerks. Die letzte für uns relevante Zeile wird mit den DNS-Servern gefüllt. Die im Beispiel verwendeten Servern gehören zu Google (8.8.8.8) und Cloudflare (1.1.1.1).

Falls du einen Proxy nutzt, kannst du dessen Adresse auf dem nächsten Screen angeben.

Nun ist es an der Zeit, das Dateisystem einzurichten. Der Einfachheit halber werden wir in diesem Tutorial eine gesamte Festplatte nutzen. Dazu aktivierst du „Use an entire disk“ und im nächsten Schritt wählst du die Festplatte aus. Ubuntu zeigt dir dann an, welche Partitionen erstellt werden. Bist du damit einverstanden, so wählst du „Done“. Ubuntu beginnt nun schonmal mit der Installation.

Während & nach der Installation

Der Screen mit dem Profilsetup erscheint. Als erstes gibst du deinen Namen an. Nun folgt der Name, den dein Server erhalten soll. Daraufhin gibst du deinem Account einen Namen und ein Passwort.

Die nächsten beiden Seiten erhalten einige Programme, die du, bei Bedarf, mitinstallieren kannst. Für dieses Tutorial verzichten wir aber darauf.

Nun wird die Installation fertig gestellt. Anschließend startest du den Server neu und entfernst das Installations-Medium.

Ist der Neustart abgeschlossen, prüfst du, ob du den Server von deinem PC aus anpingen kannst. Dazu gibst du Ping xxx.xxx.xxx.xxx (xxx sollte durch die IP-Adresse deines Servers ersetzt werden) in die Kommandozeile deines PCs ein. Klappt der Ping, bist du bereit für den nächsten Schritt.

Schritt 2: Die Installation von Samba & Anlegen von Usern

Zuallererst aktualisierst du das Betriebssystem, und zwar mit dem Befehl sudo apt-get update && sudo apt-get dist-upgrade -y. Der Parameter „-y“ verhindert dabei, dass dich Ubuntu vor der Installation der Updates fragt, ob du diese nun applizieren möchtest.

Sobald die Updates durchgelaufen sind, was normalerweise keinen anschließenden Neustart erfordert, geht es mit der Samba-Installation weiter. Samba, welches SMB für die Datenübertragung in Netzwerken verwendet, wird mit folgendem Befehl installiert: sudo apt-get install samba -y. Nach kurzer Zeit ist Samba installiert und kann verwendet werden.

Nun legst du deine Samba-User an. Diesen Usern können dann eigene Ordner auf dem Fileserver zugeordnet werden.

Einen neuen User legst du mit dem Befehl sudo adduser --no-create-home --disabled-login --shell /bin/false hans an. Anstelle von „hans“ kannst du natürlich auch einen anderen Usernamen vergeben; wichtig ist nur, dass er mit einem kleinen Buchstaben beginnt. Anschließend wirst du darum gebeten, dem User einige Daten zuzuordnen.

Wenn du dies nicht tun möchtest, drückst du einfach die Enter-Taste. Durch die Parameter des oberen Befehls verhinderst du, dass der gerade erstellte User sich an der Oberfläche deines Servers anmelden kann. Durch den Befehl sudo smbpasswd -a deinUser vergibst du dem User, den du anstelle von deinUser angibst, ein Passwort. Dieses Passwort muss er eingeben, wenn er auf seine Netzfreigabe zugreifen möchte.

Nun erstellst du die Ordner, die du freigeben möchtest. Dazu legst du ein neues Verzeichnis in einem Pfad deiner Wahl an. Der korrespondierende Befehl lautet sudo mkdir /pfad/zum/ordner/ordnername, im Beispiel sudo mkdir /mnt/shares. Dann wechselst du in den frisch erstellten Ordner: cd /mnt/shares. sudo mkdir audio video erstellt dir dann in deinem Ordner die Unterordner audio und video. Wenn die Erstellung erfolgreich war, werden dir die Ordner angezeigt, nachdem du den Befehl ls eingegeben hast. Durch den Befehl sudo chown -R hans: /mnt/shares änderst du den Besitzer des Ordners und deren Unterordner auf den User hans.

Schritt 3: Die Konfiguration von Samba

Jetzt konfigurierst du Samba. Die Konfigurations-Datei befindet sich unter /etc/samba/smb.conf. Du bearbeitest sie mittels sudo nano /etc/samba/smb.conf. Im Samba-Konfigurations-File scrollst du bis ganz nach unten. Nun wollen wir die vorhin angelegten Ordner über das Netzwerk verfügbar machen.

Dazu schreiben wir folgende Zeilen:

[name des Ordners]
comment = Audio Ein Kommentar, z.B. den Ordnername
path = /mnt/shares/audio Der Pfad zum Ordner, den du freigeben willst
write list = hans Der User, dem der Ordner gehört
valid users = hans,manfred Die User, die Zugriff auf den Ordner haben sollen
force user = hans Der User, dem der Ordner gehört

Im Beispiel sieht das dann wie folgt aus:

Durch die Tastenkombination Strg + O kannst du die Datei abspeichern. Anschließend muss der Samba-Dienst neu gestartet werden. Dies geschieht mit der Eingabe von sudo systemctl restart smbd.service.

Nun steht einem Test nichts mehr im Wege. Dazu öffnest du den Explorer auf deinem PC und gibst in die Adresszeile den Befehl \\192.168.100.200 ein (ersetze sie natürlich durch die IP, die du deinem Server gegeben hast). Prompt sollte dich ein Fenster begrüßen, dass dich um die Eingabe deiner Login-Daten bittet. Gib nun die Anmeldedaten von einem deiner Samba-User ein. Du solltest nun Zugriff auf den oder die geteilten Ordner haben.

Dann kannst du eine Test-Datei erstellen. In diesem Falle greifst du am besten auf eine .txt-Datei zurück. Nach dem Anlegen der Test-Datei navigierst du mittels cd auf deinem Linux-Server zum Ordner, indem du das Text-File kreirt hast. Nach Eingabe des Befehls ls sollte deine Datei auftauchen. Mittels sudo nano Test.txt kannst du sie auch öffnen und abändern.

Wenn soweit alles funktioniert, bist du für den finalen Schritt bereit.

Schritt 4: Die automatische Update-Installation

Zur automatischen Update-Installation schreibst du ein kleines Script und legst anschließend einen sogenannten Cronjob an. Der Cronjob ist sozusagen das Linux-Äquivalent der Windows-Aufgabenverwaltung.

Aber beginnen wir mit dem Script. Dazu erstellst du einen Ordner, um im diesem dein Script (und eventuell folgende Scripte) abzulegen. Dazu greifst du wieder auf den Befehl mkdir zurück, z.B. mkdir ~/Skripte. Da nun ein Ordner erstellt wurde, kann das Script erstellt werden.

Dazu gibst du sudo nano ~/Skripte/update.sh ein. Der Editor nano erstellt nun im gewählten Verzeichnis die Datei update.sh und öffnet diese.

In die erste Zeile des Scripts schreibst du #!/bin/bash. Dieser Pfad gibt dem Betriebssystem an, welcher Interpreter das Script ausführen soll, in diesem Fall bash.
In die nächste Zeile schreibst du folgenden Befehl: sudo apt-get update && sudo apt-get dist-upgrade -y.

Update prüft, ob neue Updates für das System verfügbar sind. Anschließend installiert Dist-upgrade diese Updates.

Somit ist das Script fertig; die Tastenkombination Strg + O speichert die Änderungen und durch Strg + X wird nano verlassen.

Im nächsten Schritt musst du das Script ausführbar machen. Dazu gibst du sudo chmod +x ~/Skripte/update.sh ein.

Anschließend erstellst du einen neuen Crontab mittels sudo crontab -e. Es folgt die Abfrage, welchen Editor du nutzen möchtest. Als Anfänger bietet sich nano (Nummer 1) an.

Nun erstellst du den Crontab. Zuerst gibst du an, zu welchem Zeitpunkt dieser Crontab ausgeführt werden soll. Dies geschieht nach folgendem Muster: Minute Stunde Tag Monat Wochentag. Ein „*“ steht hierbei für „zu jeder“. Danach gibst du den Pfad zum Script an.

Das Updatescript solltest du am besten nachts laufen lassen, da du den Fileserver um diese Zeit vermutlich nicht benutzen wirst. Im Crontab sieht das dann so aus: 0 2 * * 0 bash ~/Skripte/update.sh .

Das Script wird nun jeden Sonntag um 2 Uhr nachts ausgeführt. Nach dem Abspeichern mit Strg + O sollte die Meldung „installing new crontab“ erfolgen. Fertig ist der Update-Cronjob! Selbstverständlich solltest du gelegentlich manuell prüfen, ob Updates ausstehen, falls der Cronjob einmal fehlschlagen sollte.

Fazit

Glückwunsch, du hast nun einen einfachen Ubuntu-Fileserver konfiguriert! Natürlich kannst du diesen Server problemlos um zusätzliche Ordner erweitern, sofern du über ausreichend Speicherplatz verfügst.

Wenn du noch nicht genug von der Linux-Welt bekommen hast, kannst du dir gerne noch die restlichen Linux-Tutorials anschauen.

Thomas Stoffel

Seit über 8 Jahren beschäftige ich mich nun mit Hard- und Software - sowohl in meiner Freizeit als auch beruflich.

Ähnliche Artikel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Schaltfläche "Zurück zum Anfang"