Sie sind hier

Installation Ubuntu 14.04 LTS Trusty Thar Homeserver (NAS)

DruckversionPDF versionEPUB version

Diese Artikel baut auf folgendem Artikel auf:

http://linux.t-tietz.de/Ubuntu_Server_14_04_LTS_Trusty_Installation_webserver

Mindestens der Webserver sollte wie beschrieben eingerichtet sein.

Wir sind als Admin-User  per SSH auf dem Server angemeldet.

Wir richten einen Benutzer ein, unter dessen Namen wir die öffentlichen Daten teilen wollen.

sudo adduser media

ubuntu-trusty-homeserver-01.png

Wir legen eine grundlegende Dateistruktur an:

sudo mkdir -p /home/media/Musik /home/media/Bilder /home/media/Videos

ubuntu-trusty-homeserver-02.png

Wir setzen den Benutzer:

sudo chown -R media /home/media

ubuntu-trusty-homeserver-03.png

Bei Bedarf richten wir weitere Benutzer ein, die ihre Daten nicht öffentlich teilen:

sudo adduser benutzer

ubuntu-trusty-homeserver-04.png

mkdir -p /home/benutzer/Musik /home/benutzer/Bilder /home/benutzer/Videos /home/benutzer/Dokumente

chown -R benutzer /home/benutzer

ubuntu-trusty-homeserver-05.png

Nun sorgen wir dafür , dass die öfftenlichen Medien per HTTP geteilt werden können.

Dafür legen wir eine weitere Konfigurationsdatei an:

sudo nano /etc/apache2/conf-available/media.conf

ubuntu-trusty-homeserver-06.png

Wir tragen ein:

<Directory /home/media >
Require all granted
Options +Indexes
</Directory>

Alias /Musik /home/media/Musik
Alias /Bilder /home/media/Bilder
Alias /Videos /home/media/Videos

ubuntu-trusty-homeserver-07.png

Wir aktiviren die Konfiguration:

sudo a2enconf media

ubuntu-trusty-homeserver-09.png

Wir laden den Webserver neu:

sudo service apache2 reload

ubuntu-trusty-homeserver-10.png

Nun können unter IP/Musik IP/Videos IP/Bilder die Daten im Browser gelesen werden.

ubuntu-trusty-homeserver-11.png

Bis jetzt können die Daten über HTTP nur gelesen werden.

Zum Schreiben gibt es die Erweiterung "Webdav".

Wir aktivieren das Dav-Modul:

sudo a2enmod dav_fs

ubuntu-trusty-homeserver-12.png

In der Datei /etc/apache2/conf-available/media.conf fügen wir die Zeile "Dav on" ein.

ubuntu-trusty-homeserver-13.png

Normalerweise läuft der Webserver unter einen eigenen Benutzeraccount,der Daten des Benutzers "media" zwar lesen aber nicht schreiben kann.

Da unser Sever nicht aus dem Internet erreichbar ist und im Heimnetz hoffentlich nur vertrauliche Leute sind, machen wir den Server etwas unsicherer und lassen den httpd unter den Account "media" laufen.

Dazu editieren wir die Konfiguration:

sudo nano /etc/apache2/envvars

ubuntu-trusty-homeserver-13a.png

 

ubuntu-trusty-homeserver-13b.png

Bei APACHE_RUN_USER und APACHE_RUN_GROUP machen wir aus "www-data" "media"

ubuntu-trusty-homeserver-13c.png

Danach laden wir den Webserver neu:

sudo service apache2 reload

ubuntu-trusty-homeserver-14.png

Nun optimieren wir die Openssh Konfiguration:

sudo nano /etc/ssh/sshd_config

ubuntu-trusty-homeserver-15.png

Wir ändern

Subsystem      sftp    /usr/libexec/openssh/sftp-server

in

 Subsystem       sftp    internal-sftp

Am Ende tragen wir ein:

Match User media
   ChrootDirectory %h
   ForceCommand internal-sftp
   AllowTcpForwarding no
   PermitTunnel no
   X11Forwarding no

Dies kann man für weitere Benutzer wiederholen, oder diese in einer Unix Group zusammenfassen und "Match Group" hier verwenden.

ubuntu-trusty-homeserver-16.png

Wir starten den SSH-Server neu:

sudo servive ssh restart

ubuntu-trusty-homeserver-17.png

Damit ssh-chrooting auch funktioniert muss das Homeverzeichnis des Nutzers "root" gehören:

sudo chown root:root  /home/media

ubuntu-trusty-homeserver-18.png

Viele Linuxclienten sowie Apple Systeme können SFTP-Freigaben mithilfe der Zeroconftechnik finden.

Dazu muss avahi konfiguriert werden.

Wir installieren ihn mit:

sudo apt install avahi-daemon

ubuntu-trusty-homeserver-19.png

Wir kopieren die Konfigurationsdateien ins Avahi Service Verzeichnis:

cp /usr/share/doc/avahi-daemon/examples/ssh-service /usr/share/doc/avahi-daemon/examples/sftp-ssh.service /etc/avahi/services/

ubuntu-trusty-homeserver-20.png

Wir starten den Avahi-Server neu:

sudo service avahi-daemon restart

ubuntu-trusty-homeserver-21.png

Wir installieren den ftp-Server proftpd:

sudo apt install proftpd

ubuntu-trusty-homeserver-22.png

Bei folgender Frage wählen wir "Servermodus" aus.

ubuntu-trusty-homeserver-23.png

Die Standardkonfiguration von proftpd ist für unsere Zwecke so richtig und muss nicht editiert werden.

Wir richten den ftp Dienst in avahi ein:

sudo nano /etc/avahi/services/ftp.service

ubuntu-trusty-homeserver-24.png

Wir tragen ein:

<service-group>

  <name replace-wildcards="yes">%h</name>

  <service>
    <type>_ftp._tcp</type>
    <port>21</port>
  </service>

</service-group>

ubuntu-trusty-homeserver-25.png

Danach starten wir den Avahi-Server neu:

sudo service avahi-daemon restart

Als nächstes installieren wir den Samba Server. Dessen Protokoll wurde für Windowsfreigaben geschaffen. Heute nutzen aber alle Betriebsysteme dises Art von Freigaben.

sudo apt install samba

ubuntu-trusty-homeserver-26.png

Wir editieren die Konfiguration:

sudo nano /etc/samba/smb.conf

ubuntu-trusty-homeserver-27.png

Bei mir im Netz verwenden alle Geräte (u.a. die Fritz.box) die Arbeitsgruppe "Workgroup").

Daher trage ich hier "Workgroup = WORKGROUP" ein.

Außerdem fügen wir ein:

        guest account = media

Dies ist nötig um unsere Medien ohne Passwort beschreibbar freigeben zu können.

ubuntu-trusty-homeserver-28.png

Die Freigaben sehen folgendermaßen aus:

[Bilder]
       comment = öffentliche Bilder
       path = /home/media/Bilder
       public = yes

      writable = yes
       printable = no

 [Videos]
       comment = öffentliche Videos
       path = /home/media/Videos
       public = yes
       writable = yes
       printable = no

[Musik]
       comment = öffentliche Musik
       path = /home/media/Musik
       public = yes
       writable = yes
       printable = no

ubuntu-trusty-homeserver-29.png

wir starten den Sambaserver neu:

sudo service smbd restart

ubuntu-trusty-homeserver-30.png

Wenn wir einen USB-Drucker (Drucker für den Parallelport gehen auch falls noch wer so einen besitzt) im Netzwerk teilen wollen, installieren wir den Druckerserver CUPS.

sudo apt install cups

ubuntu-trusty-homeserver-31.png

Wir editieren die Konfigurationsdatei:

sudo  nano /etc/cups/cupsd.conf

ubuntu-trusty-homeserver-32.png

Hinter Listen muss *:631 stehen:

Listen *:631
Listen /var/run/cups/cups.sock

ubuntu-trusty-homeserver-33.png

Wir geben unseren IP-Bereich frei: (in meinem Netzwerk bekommen alle Geräte eine 192.168.178.xxx IP-Adresse vom Router, dies kann abweichen).

# Restrict access to the server...
<Location />
  Order allow,deny
 Allow 192.168.178.*
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
 Allow 192.168.178.*
</Location>

ubuntu-trusty-homeserver-34.png

Wir starten den Druckerserver neu:

sudo service cups restart

ubuntu-trusty-homeserver-35.png

Der Drucker kann jetzt unter IP:631 konfiguriert werden

ubuntu-trusty-homeserver-36.jpg

Hier muss" Freigeben von Druckern, welche mit dem System verbunden sind" aktiviert werden.

ubuntu-trusty-homeserver-37.jpg

Die SSL-Warnung beim Einloggen erscheint weil CUPS ein selbstsigniertes Zertifikat verwendet.

Hier kann man Ausnahmen hinzufügen.

ubuntu-trusty-homeserver-38.jpg

ubuntu-trusty-homeserver-39.jpg

Als nächstes installieren wir einen nfs-Server.

sudo apt install kernel-nfs-server

ubuntu-trusty-homeserver-40.png

Wir editieren die Freigaben:

sudo nano /etc/exports

 

ubuntu-trusty-homeserver-41.png

/home/media/Musik 192.168.178.0/24(ro,sync,no_subtree_check)

/home/media/Videos 192.168.178.0/24(ro,sync,no_subtree_check)

/home/media/Bilder 192.168.178.0/24(ro,sync,no_subtree_check)

/home/ 192.168.178.0/24(rw,sync,no_root_squash,no_all_squash,no_subtree_check)

ubuntu-trusty-homeserver-42.png

Die Freigabe der Medien ist auf nur lesbar und nicht beschreibbar eingestellt, da nfs verlangt, dass die Benuternummern auf Client und Server indentisch sind was in unseren Fall nicht ist. Das allgemeine Benutzerverzeichnis ist dann unter den oben genannten Bedingungen beschreibbar.

Den Serverstarten wir neu mit:

sudo service nfs-kernel-server restart

ubuntu-trusty-homeserver-43.png

Mediendateien teilt man heutzutage nicht nur mit Computern sondern auch mit Internetfähigen Fernsehern, Internetradios, Smartphones , Tablets und sonstigen.

Hierfür ist das Protokoll UPNP-AV bzw DLNA geschaffen worden.

Der Minidlna Server implentiert das Protokoll:

Wir installieren ihn mit:

sudo apt install minidlna

ubuntu-trusty-homeserver-44.png

Wir editieren die Konfiguration:

sudo nano /etc/minidlna.conf

ubuntu-trusty-homeserver-45.png

Wir tragen ein:

media_dir=A,/home/media/Musik

media_dir=V,/home/media/Videos

media_dir=P,/home/media/Bilder

mit "friendly_name" geben wir dem Server einen Namen.

ubuntu-trusty-homeserver-46.png

Wir starten den Dienst neu:

sudo service minidlna restart

ubuntu-trusty-homeserver-47.png

Nicht alle Mediaplayer können mit dem DLNA etwas anfangen. Es gibt ein weiteres Protokoll namens DAAP. Die wird vor allen von Apple in Itunes, Iphone,Ipad und Ipod verwendet.

Aber auch freie Player wie Banshee, Rythmbox und Amarok unterstützen es.

Für Amarok muss der Quellcode gepatched und neu gebaut werden :

diff -upr forked-daapd-22.1/src/httpd_daap.c forked-daapd-22.1-pached/src/httpd_daap.c
--- forked-daapd-22.1/src/httpd_daap.c    2014-11-22 23:04:22.000000000 +0100
+++ forked-daapd-22.1-pached/src/httpd_daap.c    2014-12-17 22:06:15.717870648 +0100
@@ -251,7 +251,7 @@ daap_session_find(struct evhttp_request
   if (!param)
     {
       DPRINTF(E_WARN, L_DAAP, "No session-id specified in request\n");
-      goto invalid;
+      param = "100";
     }
 
   ret = safe_atoi32(param, &needle.id);

Ansonsten kann man dass offizille Ubuntu-Paket nehmen:

sudo apt install forked-daapd

ubuntu-trusty-homeserver-48.png

Wir editieren die Config:

nano /etc/forked-daapd.conf

ubuntu-trusty-homeserver-49.png

hier muss unter "directories"  "/home/media/Musik" eingetragen werden.

Wir starten den Dienst neu:

sudo service forked-daapd restart

ubuntu-trusty-homeserver-50.png

 

Nun ist der Server einsatzbereit und kann mit Medien gefüttert werden.