Swisscenter auf Diskstation installieren

Aus Synology Wiki
Wechseln zu: Navigation, Suche
Achtung! mit aktueller Firmware DSM 3.1 Stand 28.04.2011 folgende Felermeldung : Warning: exec(): PHP exec disable. in /volume1/web/swisscenter/base/server.php on line 329 !
getestet auf DS 411+ / exec Befehl wurde in PHP anscheinend von Synology deaktiviert. Wenn andere Erkenntnisse bitte PM im Forum an Wessix.

What's that?

Swisscenter ist ein Multimediaserver, der auf PHP und MySql basiert. Der Code ist quelloffen und frei zugänglich. Um Spenden wird jedoch gebeten. Der entscheidende Vorteil von Swisscenter gegenüber anderen Lösungen wie z.B. Twonkymedia ist, dass der Code nicht vom Prozessortyp abhängig ist. Es wird kein spezielles Paktet pro Prozessorarchitektur vorausgesetzt. Durch die Scriptsprache PHP ist das Ganze praktisch plattformunabhängig.

Ein weiterer Vorteil ist es, dass das ganze komplett browserbasiert ablaufen kann. Swisscenter stellt dazu je nach Auswahl des Clients Playlisten zur Verfügung, welche die Clients dann abarbeiten. Die Playlisten sind standartkonform: Entweder m3u oder pls. Der Hammer ist jedoch, dass bestimmte hardware Clients direkt unterstützt werden. Bei meinem Syabas Popcorn Hour A-100 kann ich die Webseite von Swisscenter komplett via Fernbedienung steuern.

Unterstützte hardware Medienclients

Liste mit Hardware Clients

Direkt unterstützt werden die folgenden Medienclients:

  • ADS Media Link
  • Buffalo LinkTheater
  • Elgato Eyehome
  • H&B DNX 8620
  • IO-Data Linkplayer und Linkplayer2
  • Lite-On 2010
  • Momistu V880N
  • Netgear EVA700
  • Neuston Virtuoso MC-500
  • Pinnacle Showcenter 1000, 200 und 250HD
  • Snazio 1300, 1310 und 1350
  • Syabas Popcorn Hour A-100
  • Zensonic Z400

Desweiteren werden folgende Clients als unterstützt gemeldet:

  • Gateway ADC-320
  • Go Video D2740
  • Go Video D2730
  • Kenwood NHT-S815DV
  • Kenwood NHT-S810DV
  • Kenwood VRS-N8100
  • KISS DP-1504
  • Redbell DVHD100

Wichtig scheint zu sein, dass die Clients einen Medienchipsatz von Sigma Designs haben.

Systemvoraussetzungen

Für die Installation auf einer Diskstation sind der User Apache und das default PHP resp MySql vollkommen ausreichend. Es müssen keine weiteren Pakete via ipkg installiert werden.

Betriebssysteme

Swisscenter gibt es für Windows, Mac OS X und Linux. Die Installation unterscheidet sich nicht großartig.

Servervoraussetzungen

Swisscenter sollte auf so ziemlich jedem Webserver laufen. Als Minimalvoraussetzungen gelten:

  • PHP >=5
  • MySql >= 4

Installation

Die Installation von Swisscenter gestaltet sich erstaunlich einfach.

Virtueller Host statt Document Root

Leider setzt Swisscenter voraus, dass es direkt im Document Root des Webservers läuft. Eine Installation in ein Unterverzeichnis ist so nicht möglich. Glücklicherweise bietet der Apache die Möglichkeit über virtuelle Hosts dies trotzdem zu erreichen. Dazu erstmal im DSM (Diskstation Manager) unter Webdienste einen weiteren Port für den User Apache hinzufügen

Im DSM einfach einen zusätzlichen Port für den Apache Server hinzufügen

Dann im Webordner einen Unterverzeichnis z.B. swisscenter erstellen und alle Dateien und Verzeichnisse von Swisscenter dort reinverschieben/kopieren. Jetzt muss noch die Config des Apache angepasst werden, damit dieser auch auf dem gewünschten Port lauscht und ein spezielles DocRoot Verzeichnis verwendet. Dazu muss man die Datei /usr/syno/apache/conf/httpd.conf-user um einen VirtualHost eintrag ergänzen. Ich habe den Eintrag bei mir ganz am Ende der Datei engefügt

<VirtualHost *:8099>
ServerName IP_DER_DS
ServerAlias name1 name2 name3
DocumentRoot /volume1/web/swisscenter
</VirtualHost>

Nach einem Neustart der User Apache oder der ganzen DS sollte sich dann Swisscenter so http://IP_DER_DS:8099 aufrufen lassen und ganz normal arbeiten. Der Vorteil dabei ist, dass die Dateien sauber in einem Unterverzeichnis liegen. Da jetzt aber der Ordner swisscenter auch über den "alten" Port mit Angabe des Verzeichnisses erreicht werden könnte, sollte man gegen solche direkten Aufrufe noch eine .htaccess Datei mit einer bedingten mod_rewrite Anweisung ins Verzeichnis web legen

Zum erstmaligen Einrichten von Swisscenter müssen sich die Dateien direkt im Document Root befinden. Das Eintrichten der DB klappt nämlich nicht in einer Subdomain. Nachdem die DB eingerichtet ist, kann man die Files auf den virtuellen Host verschieben und von da an nutzen

Quelle herunterladen und entpacken

Zuerst muss man sich mal die Quelle von http://www.swisscenter.co.uk/ herunterladen. Das ganze ist ein zip Archiv und muss erst noch entpackt werden.

$ wget www.swisscenter.co.uk/downloads/swisscenter.zip
$ chown -R nobody:nobody /volume1/web/swisscenter

Das Verzeichnis muss nobody gehören, sonst sieht man nur eine leere weisse Seite beim Aufruf. Zum Entpacken kann man die Datei entweder auf Windows mit einem Programm wie z.B. 7-zip entpacken und dann via Samba oder FTP auf den Server schieben. Über ipkg lässt sich jedoch auch eine Zip-Unterstützung für die DS erreichen. Damit könnte man die Files auch direkt auf der DS entpacken.

MySql Datenbank erstellen

Unter Installation den Punkt Datenbank erstellen wählen und die benötigten Angaben eingeben. Der einzige Punkt ist ein allfällig vorhandenes Passwort für root, das vorgegeben werden muss (falls vorhanden). Nachdem die DB erstellt wurde geht es mit dem nächsten Schritt weiter. Die Konfigseite ist unter http://IP_DER_DS/config zu erreichen

Konfiguration

Bei der Konfiguration gibt es eigentlich nicht viel zu machen. Zuerst einfach mal http://IP_DER_DS/config aufrufen, um die Konfig-Seite zu erreichen. Danch sind es eigentlich nur zwei Schritte welche notwendig sind:

Medienverzeichnisse definieren

Das Hinzufügen von Medienverzeichnissen gestaltet sich sehr einfach

Damit Swisscenter überhaupt weiß, wo es nach Mediendateien suchen soll, müssen die Medienverzeichnisse hinzugefügt werden. Dazu unter Konfiguration den Unterpunkt Medienordner wählen und die benötigten Angaben machen. Folgende Angaben sind zwingend:

  • Ort --> Pfad zum Medienverzeichnis
  • Medientyp --> über den Medientyp wird Swisscenter mitgeteilt um was für Dateien es sich in dem entsprechenden Verzeichnis handelt
  • Standartzertifikat --> damit wird jeder Datei im Verzeichnis ein Default Zertifikat für die Altersfreigabe hinzugefügt

Nach einem Klick auf Ordner hinzufügen sollte das Verzeichnis aufgenommen sein.




Es könnte möglich sein das es zu folgendem Fehler kommt:

  • Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/volume1/web/jinzandy/../../mainfile.php) is not within the allowed path(s): (/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/volume1/@tmp/php:/var/services/web:/var/services/music:/volume1/web/jinzandy/photo:/var/services/blog:/var/services/homes:/var/packages/MailStation/target/roundcubemail) in /volume1/web/jinzandy/index.php on line 72

In diesem fall ist noch eine Anpassung in der PHP config auf der DS nötig.

/usr/syno/etc/php.ini

Hier kommentieren wir folgende Zeilen mit einem ; am anfang der Zeile aus oder erweitern diese nach Wunsch.

  • safe_mode_exec_dir = /usr/syno/bin
  • open_basedir = /etc:/tmp:/usr/bin/php:/usr/syno/synoman:/var/run:/var/services/

wird zu

  •  ;safe_mode_exec_dir = /usr/syno/bin
  •  ;open_basedir = /etc:/tmp:/usr/bin/php:/usr/syno/synoman:/var/run:/var/services/

nach einem Neustart des Apaches sollte alles funktionieren.

  • /usr/syno/etc/rc.d/S97apache-user.sh restart

Suchlauf starten

Nachdem die Verzeichnisse definiert wurden, muss man den ersten Suchlauf für Mediendateien anwerfen. Unter Medienverwaltung gibt es zwar einen Punkt Suche nach neuen Medien, der den Suchlauf anstossen sollte. Dieser funzt aber irgendwie nicht. Denn ein htop zeigt keinen laufenden Prozess für die Suche. Wenn man die Suche jedoch manuell anstösst, dann läuft das wunderprächtig. Dazu einfach im Browser:

http://IP_DER_DS/media_search.php

eingeben und der Suchlauf startet. Je nach Umfang der Mediensammlung kann es Stunden dauern bis der erste Durchlauf abgeschlossen ist. Weitere Durchläufe gehen dann aber entscheidend schneller vonstatten. Der Verlauf der Suche kann z.B. mittels htop oder top beobachtet werden. Wenn man genau wissen will in welchem Verzeichnis der Suchlauf gerade ist, kann man auch das Logfile bemühen, welche per default unter /log/support.log liegen sollte. Um das ganz in Echtzeit zu verfolgen bietet sich die Verwendung von screen an

$ screen
$ tail -f /volume1/web/log/support.log

Benutzen von Swisscenter

Nach erfolgreichem Durchlauf der Mediensuche kann man das Frontend von Swisscenter via

http://IP_DER_DS

aufgerufen und benutzt werden. Die einzelnen Menupunkte sollte eigentlich selbsterklärend sein.

Frontend von Swisscenter im Browser

Links

Hier findest du diverse Links zur Software (Swisscenter), aber auch Links zu "Konkurrenzprodukten"