Installationsdoku: Serviio für die DS209 - ab DSM Version 3.1

Status
Für weitere Antworten geschlossen.

snuggles

Benutzer
Mitglied seit
26. Sep 2010
Beiträge
41
Punkte für Reaktionen
0
Punkte
8
Hallo Leute,
es gibt ja so einige Informationen und ich hab ne halbe Nacht verbracht um alles zum Laufen zu bringen.
Hier meine kurze Installationsreihenfolge bzw. was alles gebraucht wird.
Ich beginne wirklich von Null. Quellenangaben sind am Schluss zu finden :)

Wir loggen uns in die DS über Telnet (Putty) als "root" ein! Dazu verwendet man das Passwort vom "Admin"-Benutzer

1. Schritt - Freischaltung des SFTP-Zugangs (wird nicht unbedingt benötigt!)
Editieren der Datei:
Rich (BBCode):
/etc/ssh/sshd_config
ich habe das mit dem vorhanden VI-Editor gemacht. Das geht wie folgt:
Rich (BBCode):
vi /etc/ssh/sshd_config (Eingabetaste drücken)
man sucht nach dem Begriff: override
das geht am schnellsten mit dem vi-Suchen-Befehl
Rich (BBCode):
:/override
und ändert dann die Daten wie folgt:

Rich (BBCode):
# override default of no subsystems
#Subsystem      sftp    /usr/libexec/sftp-server
Subsystem       sftp    internal-sftp
mit dem vi-Befehl für Speichern/Beenden schliessen wir das ganze ab
:wq (Eingabetaste drücken)

Dann testen wir den Zugriff über SFTP. (WINSCP) Wenn eine Fehlermeldung kommt, kann sich hier nochmal schlau machen:
http://www.synology-wiki.de/index.php/SFTP_SCP


2. Schritt
Ich hab bei mir alle Daten auf mein Public-Verzeichnis gelegt.
Verzeichniswechsel mit

Rich (BBCode):
cd /volume1/public

Installation des IPKG-Paketes.

Rich (BBCode):
wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/syno-mvkw-bootstrap_1.2-7_arm.xsh
Skript starten mit
sh syno-mvkw-bootstrap_1.2-7_arm.xsh
Danach wechselt man in das Verzeichnis:
cd bootstrap
Skript starten mit
sh bootstrap.sh

Wenn die nachfolgende Meldung erscheint...Backup your configuration settings, then type:......dann bitte folgendes durchführen!
Rich (BBCode):
rm -rf /volume1/@optware
rm -rf /usr/lib/ipkg

Jezt die DS neustarten, einfach in die Console "reboot" eingeben.

Nach dem erfolgten Reboot:
Rich (BBCode):
ipkg update

3. Schritt - optware + WGET-SSL

Rich (BBCode):
ipkg install optware-devel

Es wird während des Installierens einen Fehler geben wegen WGET-SSL. Dies wird durch
die nachfolgenden Schritte behoben.

Rich (BBCode):
ipkg remove wget
cp /usr/syno/bin/wget /opt/bin

Jetzt folgende Pakete herunterladen: Libidn und WGET: ( bin immer noch im public-Verzeichnis)

Rich (BBCode):
wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libidn_1.19-1_arm.ipk
wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/wget-ssl_1.12-2_arm.ipk

ipkg install libidn_1.19-1_arm.ipk
ipkg install wget-ssl_1.12-2_arm.ipk

Jetzt sollte alles funktioniert haben.
Nochmal das Optware-Paket ausführen, danach Lame installieren

Rich (BBCode):
ipkg install optware-devel
ipkg install lame

Ohne Java läuft ja nichts:
Ich hab mir ein Verzeichnis "java" unter /usr/ eingerichtet

Rich (BBCode):
mkdir /usr/java

Wir brauchen die Embedded Version:

http://www.oracle.com/technetwork/java/embedded/overview/getstarted/index.html (für den Download muss man sich registrieren)
Unbedingt die folgende Variante nehmen!
Java SE for Embedded 6 Update 25 (Build 6) ARMv5 Linux - Headless, EABI, Soft Float, Little-Endian

Die Datei dann mit "tar -xvzf Dateiname" entpacken.
Das war bei mir:
Rich (BBCode):
tar -xvzf ejre-1_6_0_25-fcs-b06-linux-arm-sflt-eabi-headless-14_apr_2011.tar.gz

Entpackt wird das ganze als:
ejre1.6.0_25

Die Dateien aus dem Verzeichnis "ejre1.6.0_25" dann nach /usr/java/ verschieben (kann man auch mit WINSCP machen!)
Rich (BBCode):
mv ejre1.6.0_25/*.* /usr/java/

Das ergibt im Verzeichnis /usr/java folgende Struktur
usr/java/
bin
lib
Wichtig: es muss auf der Datei "java" im Verzeichnis
/usr/java/bin
unbedingt Schreibrechte vorhanden sein!

Das geht wie folgt: (oder über WINSCP)

Rich (BBCode):
chmod +r+w /usr/java/bin java


Zum Abschluss muss die folgende Datei erweitert werden: (ich verwende den VI-Editor)

Rich (BBCode):
vi /etc/profile
neu Hinzufügen:
Rich (BBCode):
export JAVA_HOME=/usr/java
nachfolgende Zeile anpassen: vorher ohne java / dann mit java
Rich (BBCode):
PATH=/opt/bin:/opt/sbin:$PATH 
PATH=/opt/bin:/opt/sbin:/usr/java/bin:$PATH

den Editor beenden mit Speichern:
:wq

Einmal mit Putty(telnet) abmelden und wieder anmelden.

Testen, wass Java meldet:
Rich (BBCode):
java -version
wenn eine Fehlermeldung erscheint, z.B.: Permission Denied, fehlen die Schreibrechte.
Es sollte folgende Meldung kommen:

java version "1.6.0_25"
Java(TM) 2 Runtime Environment, Standard Edition for Embedded (build 1.6.0_25-b06, headless)
Java HotSpot(TM) Client VM (build 20.0-b11, mixed mode)

4. Schritt - Installation Serviio
Ich gehe wie üblich in mein public-Verzeichnis

Rich (BBCode):
cd /volume1/public

Datei runterladen, entpacken und ins Verzeichnis /opt/serviio verschieben.

Rich (BBCode):
wget http://download.serviio.org/releases/serviio-0.5.2-linux.tar.gz
tar xvzf serviio-0.5.2-linux.tar.gz
mv serviio-0.5.2 /opt/serviio

4.1 Installation des Control-Panels
Um das Control-Panel für Serviio auf der DS nutzen zu können muss die Webstation aktiv sein!

Rich (BBCode):
wget http://labs.softjourn.com/attachments/download/67/serviio-0.5.2.1b.zip
unzip serviio-0.5.2.1b.zip
mv serviio-0.5.2 /volume1/web/serviio

Jetzt steht die Weboberfläche bereit unter:

Rich (BBCode):
http://meine-IP.de/serviio
oder
http://mein-name-der-diskstation/serviio

Es erscheint ein rotes X, Serviio ist noch nicht gestartet!

4.2 Control-Panel über das Bedienfeld der DS zur Verfügung stellen (das ist OPTIONAL!)

Ins Verzeichnis für Drittanbieter wechseln:
Rich (BBCode):
cd /usr/syno/synoman/webman/3rdparty

Erweiterung herunterladen/Entpacken/ Zip- Entfernen:

Rich (BBCode):
wget http://dl.dropbox.com/u/1188556/blog/serviio_syno_DSM.zip
unzip serviio_syno_DSM.zip
rm serviio_syno_DSM.zip

Die Konfiguration muss noch auf die eigene IP-Adresse angepasst werden:
Rich (BBCode):
vi serviio/config
den Eintrag URL anpassen
Rich (BBCode):
"url": "http://meine IP eintragen/serviio/index.php"

Einmal ausloggen und wieder einloggen in die Bedienoberfläche.
Über den Auswahlbutton kann eine Verknüpfung auf den DSM-Desktop abgelegt werden.

5. Schritt FFMPEG - Verschiedene Pakete installieren - dauert eine gute Stunde!

Zum einen muss noch FFmpeg installiert werden, dass auf die Bibliotheken libbz2 und zlib aufbaut.
Die Bibliotheken sind bereits mit dem optware-devl paket installiert worden. Deshalb werden jetzt nur zwei
"Soft-Links" (==>Referenzierung, die Datei an sich gibt es nur einmal) zugewiesen.

Rich (BBCode):
cp /opt/lib/libbz2.so.1.0 /lib
cp /opt/lib/libz.so.1 /lib

Wir brauchen jetzt noch das FFmpeg-Paket (wie üblich ins Public-Verzeichnis)

Rich (BBCode):
cd /volume1/public
wget http://download.serviio.org/opensource/ffmpeg-26303.tar.gz
tar xvzf ffmpeg-26303.tar.gz
cd ffmpeg
./configure --arch=arm --enable-armv5te --prefix=/opt --extra-cflags='-I/opt/include' --extra-ldflags='-L/opt/lib' --enable-static --disable-shared --disable-ffplay --disable-ffserver --enable-libmp3lame

Der nachfolgende make-Befehl dauert ein bisschen, könnt Euch schonmal einen Kaffee machen :)
make

..... wenns mal wieder ein bisschen länger dauert.........
..... wenn fertig, dann installieren.......

Rich (BBCode):
make install

jetzt abfragen, welche Version installiert ist:
Rich (BBCode):
ffmpeg -version

die version sollte unbedingt von "UNKNOWN" 2000-2011 sein!

FFmpeg version UNKNOWN, Copyright (c) 2000-2011 the FFmpeg developers
built on Aug 6 2011 16:15:09 with gcc 4.2.3
configuration: --arch=arm --enable-armv5te --prefix=/opt --extra-cflags=-I/opt/include --extra-ldflags=-L/opt/lib --enable-static --disable-shared --disable-ffplay --disable-ffserver --enable-libmp3lame
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 0 / 0.16. 0
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.92. 0 / 52.92. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.72. 0 / 1.72. 0
libswscale 0.12. 0 / 0.12. 0
FFmpeg UNKNOWN
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 0 / 0.16. 0
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.92. 0 / 52.92. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.72. 0 / 1.72. 0
libswscale 0.12. 0 / 0.12. 0


Wenn dass passt, kommen wir zur Schlußrunde....
 
Zuletzt bearbeitet:

snuggles

Benutzer
Mitglied seit
26. Sep 2010
Beiträge
41
Punkte für Reaktionen
0
Punkte
8
6. Schritt - Serviio Konfiguration

Wir legen einen eigenen Benutzer "serviio" in der DSM an. Dieser bekommt mind. Leserechte z.B. auf music, video, photo.
Dann auf Benutzer-Home klicken und den "Benutzer-Home-Dienst" aktivieren!

Unser Benutzer braucht noch Zugriffsrechte auf die Shell.
Dazu editieren wir den folgenden Pfad: (Achtung: eine korrupte-Datei kann den Zugriff auf die DS verhindern!)

Rich (BBCode):
vi /etc/passwd

Wir ändern jetzt den Benutzer serviio:

der Eintrag: sbin/nologin wird zu ->>> zu bin/sh

Beispiel:
Rich (BBCode):
serviio:x:1029:100:"hier steht evtl. die benuzter-beschreibung" serviio:/var/services/homes/serviio:/sbin/nologin

und ändern diese in:

serviio:x:1029:100:"hier steht evtl. die benuzter-beschreibung" serviio:/var/services/homes/serviio:/bin/sh

Jetzt Speichern.
Damit unser Serviio automatisch starten kann, richten wir noch ein Start-Skript ein.

Dazu wechseln wir ins Start-Verzeichnis:

Rich (BBCode):
cd /opt/etc/init.d

Hier legen wir eine neue Datei an:
Rich (BBCode):
touch start-serviio.sh

Dann editieren:

Rich (BBCode):
vi /opt/etc/init.d/start-serviio.sh

folgenden Inhalt reinkopieren:

Rich (BBCode):
#!/bin/sh

User=serviio

case "$1" in

stop)
        echo "Stop Serviio..."
        su -l $User -c "/opt/serviio/bin/serviio.sh -stop" > /dev/null 2>&1 &
        ;;

start)
        # start Serviio in background mode
        su -l $User -c "/opt/serviio/bin/serviio.sh" > /dev/null 2>&1 &
        echo "Start Serviio..."

        #check libs FFmpeg depends on (in case DSM was upgraded)
        if [ ! -f /lib/libbz2.so.1.0 ]; then
                cp /opt/lib/libbz2.so.1.0 /lib
        fi
        if [ ! -f /lib/libz.so.1 ]; then
                cp /opt/lib/libz.so.1 /lib
        fi
        ;;

restart)
        $0 stop
        sleep 1
        $0 start
        ;;
*)
        echo "usage: $0 { start | stop | restart}" >&2
        exit 1
        ;;

esac

Über "start | stop | restart" kann das Skript auch manuell gesteuert werden.

Wir benötigen noch Ausführungsrechte auf das Skript und unser Serviio-Verzeichnis:

Rich (BBCode):
chmod +x /opt/etc/init.d/start-serviio.sh
chown -R serviio /opt/serviio


Jetzt ein Test, ob das Skript funktioniert:
Rich (BBCode):
/opt/etc/init.d/start-serviio.sh

Überprüfen ob auch wirklich ein Prozess gestartet wurde.

Rich (BBCode):
ps | grep serviio

PS -> zeigt die Prozesse auf der Diskstation an
grep -> eingrenzen der Prozesse auf den user: serviio

Es sollten folgende Prozesse angezeigt werden:

Rich (BBCode):
 3873 serviio   2924 S    -sh -c /opt/serviio/bin/start-serviio.sh
 3886 serviio   2924 S    /bin/sh /opt/serviio/bin/start-serviio.sh
 3899 serviio   523m S    /usr/java/bin/java -Xmx384M -Djava.net.preferIPv4Stack=true -Dderby.system.home=/o

Das Skript stoppen wir über

Rich (BBCode):
/opt/etc/init.d/start-serviio.sh stop

mit ps | grep serviio nochmal die Prozesse überprüfen, ob auch wirklich alles gestoppt wurde.

Jetzt einen Reboot der Diskstation durchführen.
Nach erfolgten Neustart, kann man das Control-Panel ausführen. Entweder über das Web-Verzeichnis
oder wer die Erweiterung für die DSM installiert hat, kann dies auch im DSM-Bedienfeld direkt aufrufen.

Im Control-Panel selbst, wird über den Punkt "library" die Verzeichnisse der Diskstation zugeordnet. z.B.

Rich (BBCode):
/volume1/music/
/volume1/video/
usw.....

Änderungen "Speichern".

Wer die Log-Einträge genauer verfolgen möchten, soll sich mal den Punkt "7.2" erweitertes Debug aktivieren ansehen.


7. Tipps/Fehlermeldung Serviio:

7.1
Wenn beim Speichern innerhalb der Konsole eine Fehlermeldung auftaucht z.B. can not put in repository, dann liegt dass an
fehlenden Rechten auf dem serviio-verzeichnis! Unter Windows kommt kein Fehler, ist aber die gleiche Ursache! (Bei Windows
sieht man nur am Reset/Speichern-Button dass der Focus sich nicht ändert, bzw. wenn korrekt gespeichert wurde, sind beide Buttons
nicht mehr aktiv/hervorgehoben)

7.2
erweitertes Debug bzw. Loggin aktivieren.

im Verzeichnis
Rich (BBCode):
cd /opt/serviio/config
befindet sich die Datei log4j.xml
Den nachfolgenden Eintrag von "info" auf "debug" umstellen, für ein genaueres Protokoll.

Rich (BBCode):
vi log4j.xml
<param name="Threshold" value="DEBUG"/>

Danach ist ein Restart des Serviio-Dienstes notwendig!
Im Serviio-Log-Verzeichnis liegen mehrere Log-dateien. Die aktuellste ist immer ohne Nummerierung:
Rich (BBCode):
cd /opt/serviio/log/
Damit kann man sehr schön verfolgen, welche Dateien zur Bibliothek hinzugefügt werden.

8. Optional
Control-Panel für den Windows-Zugriff installieren. (OPTIONAL)
Hinweis: Die nachfolgende Konfiguration schaltet dann aber den Zugriff über die DS ab. Es kann nur einen GEBEN :)

Bei der Installation von "serviio-0.5.2-win-setup.exe" muss nur das Control-Panel installiert werden!
Damit Serviio weiss, dass der Zugriff Remote erfolgt, wird folgende Datei unter Windows angepasst:

z.B.:
Rich (BBCode):
C:\Programme\Serviio\bin\ServiioConsole.exe.vmoptions
Mit dem Eintrag erweitern: (Datei ist wahrscheinlich leer)
Rich (BBCode):
-Dserviio.remoteHost=192.168.0.17

Wenn die Windows-Konsole verwendet wird, muss natürlich auch hier bei zusätzlichen Pfadangaben
in der Library dies über z.B. /volume1/music erfolgen!

So, ich hoffe dass ist einigermaßen verständlichen gewesen.
Viel Spass mit Serviio..... :)

Ich finde die Performance eigentlich ganz OK. Ein Vergleich mit einem WHS2003 (alter bzw. erster Intel P4 3,06Ghz mit HT) steht noch aus :)

Verwendete Quellen:
SFTP:
http://forum.synology.com/wiki/index.php/How_to_setup_a_sftp-server

IPKG:
http://www.synology-wiki.de/index.php/IPKG

Allgemein
http://forum.synology.com/wiki/

Serviio-Installation:
http://pcloadletter.co.uk/2011/02/07/serviio-on-synology-nas-with-arm-cpu/
 
Zuletzt bearbeitet:

snuggles

Benutzer
Mitglied seit
26. Sep 2010
Beiträge
41
Punkte für Reaktionen
0
Punkte
8
kurzer Nachtrag:

zu Punkt 4:
Das entpackete serviio-Verzeichnis, braucht die Rechte vom Benutzer serviio! (nicht vom Root)
 

adg82439

Benutzer
Mitglied seit
12. Apr 2014
Beiträge
54
Punkte für Reaktionen
0
Punkte
0
Stichwort USER-HOME-SERVICE bei der SERVIIO Installation oder

Benutzer Home Dienst


hab mir n Wolf gesucht und nach STUNDEN endlich


im DSM 5 Systemsteuerung / Benutzer / erweitert / Benutzerbasis / BENUTZER-HOME-Dienst aktivieren

gefunden.


Serviio läuft laut Anzeige, Serviio WEB UI PHP auch,

leider kommt nur ne weisse Seite ( blank Window)

und das Log sagt "Please browse to http://yourhostname/serviioweb/index.php to finish installation"

der Browser meldet " Die Seite wurde nicht gefunden" wobei die die IP der DS eingegeben habe für yourhostname

:-(

Weiß wer Hilfe?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat