Samstag, 18. September 2010

Ubuntu Home Server mit NFS Netzwerkfreigabe und UPNP Media-Server

Um unter Ubuntu Server 14.04 eine NFS Netzwerkfreigabe zu erstellen, muss zuerst bei der Installation der SSH Server installiert werden. Nachdem der Server läuft über die Konsole oder Putty mit dem Server verbinden:

ssh Benutzername@IP-VOM-SERVER

Nun braucht man den NFS Server:

sudo apt-get install nfs-kernel-server

Dem Server sollte jetzt eine feste IP Adresse verpasst werden:

sudo nano /etc/network/interfaces

Dann die Datei interfaces z.B. ändern in:

auto eth0
iface eth0 inet static
address 192.168.XXX.XXX
netmask 255.255.255.0
gateway 192.168.XXX.XXX

dns-nameservers 192.168.XXX.XXX

Damit der Server seinen Namen auch dem lokalen DHCP bekannt macht,  sucht man in der Datei

nano /etc/dhcp3/dhclient.conf

nach dem Eintrag

send host-name "";

und ändert diesen in den entsprechenden Wert ab, z.B.

send host-name "server";

Die Einstellungen sofort übernehmen mit:

sudo service networking restart

Es muss sich erneut unter der neuen IP-Adresse angemeldet werden!
Jetzt den Freigabeordner anlegen und allgemeine Zugriffsrechte setzen.
In diesem Fall bekommt JEDER Vollzugriff auf das Netzlaufwerk. 

mkdir /home/netzlaufwerk

In /etc die Datei exports bearbeiten und festlegen wer auf die Freigabe zugreifen darf:

sudo nano /etc/exports

Sollen alle im Netzwerk auf die Freigabe zugreifen können, dann folgende Zeile eintragen:

/home/netzlaufwerk 192.168.XXX.0/255.255.255.0(rw,async,insecure,no_root_squash)

Jetzt sollte der NFS Server laufen. Um sicher zu gehen, startet man den NFS Server neu mit:

sudo service nfs-kernel-server restart

Damit man den Server auch mit dem Power Knopf ein- und ausschalten kann, muss noch das Paket acpid installiert werden:

sudo apt-get install acpid

Jetzt auf dem lokalen Ubuntu PC noch ein Mountverzeichnis anlegen:

sudo mkdir /media/server

Nun kann man auf dem lokalen Ubuntu PC die Netzfreigabe mounten mit:

sudo mount 192.168.XXX.XXX:/home/netzlaufwerk /media/server

Will man schnell auf die Freigabe zugreifen können, dann kann man das Ganze auch in die fstab Datei eintragen:

sudo nano /etc/fstab

Dort am Ende der Datei folgendes eintragen:

192.168.XXX.XXX:/home/netzlaufwerk /media/server nfs noauto,users,rw,async,atime,vers=3 0 0

Jetzt kann jeder Benutzer ohne Rootrechte die Freigabe ein- und aushängen, und auch Dateien in der Freigabe speichern und löschen!

Ist man Besitzer einer PS3 oder XBox, so kann man auf dem Ubuntu Server noch einen UPNP Server installieren.
Somit kann man seine Filme, Musik und Bilder usw auf die Spielekonsole streamen.
Dazu muss man auf dem Server das Paket Mediatomb installieren:

sudo apt-get install mediatomb

Zuerst muss der UPNP Server konfiguriert werden mit:

sudo nano /etc/mediatomb/config.xml

Dort sucht man nach dem Eintrag ui enable="no" und ändert es ab in ui enable="yes"

Des weiteren können noch Benutzername und Passwort für das Webinterface festgelegt werden, und auch der Servername abgeänert werden.

Danach muss man Mediatomb einmal neustarten:

sudo service mediatomb restart

Nun müssen die Freigaben noch konfiguriert werden.
Dazu öffnet man einen Browser und gibt als URL ein:

http://192.168.XXX.XXX:49152

Auf der Konfigurationsseite kann man nun die Verzeichnisse auswählen die freigegeben werden sollen, und diese automatisch auf Änderungen überwachen lassen.

Jetzt sollte alles laufen und man hat einen super schnellen Ubuntu Home Server Zuhause. Mein Kubuntu 14.04 zeigt mir in meinem Gigabit-LAN eine Übertragungsgeschwindigkeit von 90-100 MB/s an.

Möchte man auch noch die Freigabe per Zeroconf (Avahi) im Netzwerk bekannt machen, so muss man zunächst auf dem Server den Avahi-Daemon installieren.

sudo apt-get install avahi-daemon

Nun erstellt man unter /etc/avahi/services/ eine Datei namens nfs.service

sudo touch /etc/avahi/services/nfs.service

und fügt dann folgenden Inhalt mit einem Editor ein:

<service-group>
  <name replace-wildcards="yes">%h</name>
  <service>
    <type>_nfs._tcp</type>
    <port>2049</port>   
    <txt-record>path=/home/netzlaufwerk/</txt-record>
  </service>
</service-group>


Im Anschluss muss der Avahi-Dienst neu gestartet werden mit:

sudo service avahi-daemon restart

Ab jetzt wird die Freigabe automatisch im Netzwerk bekanntgegeben.