Sie befinden sich hier: Hilfe / Howtos / Allgemein / Netjuke auf Eisfair
Deutsch
2014-07-31

Content

Netjuke auf Eisfair

Vorbereitungen:

 

Folgende Pakete sollten installiert sein und funktionieren:

* eisfair (alter Kernel)

* apache (nicht die Version 2)

* PHP

* MySQL

* Sound (läuft zur Zeit nicht auf dem neuen Kernel)

 

Download der Netjuke Software (http://www.netjuke.org)

 

I: Testen der Server-Side (funktioniert die Soundausgabe auf dem Server?)

 

Um die Soundausgabe auf dem Server zu testen, schiebt man zunächst eine test-mp3 Datei auf den Server (z.B. nach /tmp). Danach in das Verzeichnis wechseln und durch Eingabe von ,,mpg123 titelname.mp3" den MP3-Player testen. Diesen Test sollte man ruhig einmal als user ,,wwwrun" durchführen. Sollte eine ,,lib"-Datei fehlen, kann die mit einem anderen Paket nachinstalliert werden (dazu später mehr). Sollte der Player mit dem wwwrun nicht funktionieren wollen, müssen die Berechtigungen auf ,,/dev/dsp" überprüft werden, da hier ,,von Haus aus" nur der root dieses Device benutzen darf. Also chmod und Rechte ändern. ACHTUNG: Da später der Apache-Benutzer (wwwrun) auf der Server-Seite Musik machen will, muss er auch die Berechtigung habe!!! Auch zu ,,/dev/dsp" später mehr!

 

II. Netjuke runtergeladen ­ was nun?

 

a) Zunächst muss das Verzeichnis entpackt und in den Ordner ,,var/www/htdocs" kopiert, bzw. verschoben werden. Man hat also einen Pfad ,,/var/www/htdocs/netjuke" zur Verfügung.

 

--------------------------------------------------------------------------------

 

b) Jetzt benötigt die Jukebox eine Datenbank, in der sie Tabellen anlegen + Daten lesen und schreiben kann. Der Datenbankname, Username und das Passwort für die SQL können frei gewählt werden ­ gerne wird hier einfach ,,netjuke" für die Datenbank und

den username verwendet. Es ist wichtig, dass es sich beim Benutzer nicht um einen Netzbenutzer handelt (z.B. netjuke@192.168.1.%), sondern um einen SQL-User auf dem Server (z.B. netjuke@localhost), da nur dieser die erforderlichen

Zugriffsberechtigungen bekommt.

 

Wie sooft, führen auch hier verschiedene Wege zum Ziel (in diesem Fall zur Datenbank mit Benutzer ):

 

1.) Direkt über die Kommandozeile per MySQL-Aufruf:

 

Also bei MySQL einloggen:

 

shell> mysql -h host -u user -p

Enter password: ********

 

******** steht für Ihr Passwort. Geben Sie es ein, wenn mysql Enter password: anzeigt ­ und: Diese Passwort besteht nicht aus acht Sternchen ­ echt nicht!

 

Datenbank anlegen:

 

mysql> CREATE DATABASE netjuke;

 

wobei das Semikolon (;) wichtig ist, da es den SQL-Befehl immer abschließt (sonst passiert beim ENTER-Drücken nämlich nix ­ ausser einem Zeilenwechsel).

 

Wenn man gerne mal in die neue Datenbank wechseln möchte, kann man das mit

 

mysql> USE netjuke

database changed

 

tun ­ es ist aber momentan nicht soooo furchtbar spannend. Um direkt von der Shell aus in die Datenbank zu wechseln, kann man das mit

 

shell> mysql -h host -u user -p netjuke

Enter password: ********

 

tun. ACHTUNG: ,,netjuke" ist hier nicht das Passwort ­ das wird später abgefragt. Will man es direkt mit übergeben, muss man das Passwort direkt an das ,,-p" hängen (z.B. mysql ­h host ­u user ­ppasswort netjuke).

 

--------------------------------------------------------------------------------

 

Jetzt brauchts noch den Datenbankbenutzer für Netjuke:

 

shell> mysql --user=root mysql

mysql> GRANT ALL PRIVILEGES ON *.* TO netjuke@localhost

IDENTIFIED BY 'ein_passwort' WITH GRANT OPTION;

 

Alles nachzulesen unter: www.mysql.com/doc/de/index.html

 

2.) Das MySQL-Control Center

 

Auf der MySQL-Homepage gibt es das ,,MySQL-Control Center" zum Download. Das ist ein grafisches SQL-Tool, dass auf einem Client ausgeführt wird. So kann man mit einem Windows-Client die Datenbanken und Benutzer auf einem MySQL-Server (in diesem Falle ein eisfair) anlegen. Diese Tool gestaltet die Datenbankverwaltung für SQL-Anfänger auf jeden Fall einfacher. Man sollte jedoch auch hier darauf achten, dass man den user für die Netjuke als netjuke@localhost anlegt. Um entfernten Zugriff zu erhalten, muss man einen Datenbankbenutzer für das lokale Netz anlegen ­ entweder als user@192.168.1.3 für den Client mit der entsprechenden IP. Man kann auch einen Datenbankuser anlegen, der aus dem gesamten Netzwerk direkten Zugriff auf die Datenbanken hat. Dazu setzt man einen ,,Joker" ans Ende: user@192.168.1.%

 

3.) PhpMyAdmin

 

Es gibt ein Paket namens ,,phpMyAdmin". Wenn der Apache läuft und die MySQL ihren Dienst aufgenommen hat, kann man schlicht und ergreifend diese Paket installieren und dann über einen Browser per eisfairserver/phpMyAdmin/ die Administrationsoberfläche aufrufen. Nun hat man auch hier die (grafische) Möglichkeit eine Datenbank und den passenden User anzulegen.

 

III. Installation und Inbetriebnahme

 

Jetzt ist es an der Zeit die Installationsroutine für die Netjuke aufzurufen. Mit diesem Vorgang teilt man Netjuke mit, mit welchem Benutzernamen und mit welcher Datenbank die Jukebox verbunden werden soll. Ferner sind dort noch einige andere Angaben zu machen (z.B. über den Player mgp123). Die Oberfläche erreicht man von einem Client aus über den Browser: eisfairserver/netjuke/installer/installer.php. Nach Eingabe der Daten wird man aufgefordert eine Date namens ,,inc-prefs.php" zu speichern. Achtung: Je nach Windows-Konstellation, wird der Dateiname nach ,,inc- prefs.php.HTM" geändert. Dann muss die Datei natürlich wieder umbenannt werden. Diese Datei kopiert man nun auf den eisserver nach ,,/var/www/htdocs/netjuke/etc" . Schon wieder eine ,,Rechtefalle" ;-) Die kopierte Date und das Verzeichnis ,,.../netjuke/var/data" müssen in den Besitz des Webserver-Benutzers (wwwrun) übergehen (mit chown) ­ oder man gibt diese Daten für alle frei (world-writeable), was allerdings sehr zu Lasten der Systemsicherheit geht und daher nur für private Kleinnetzwerke ohne permanente Internetanbindung zu empfehlen ist.

 

 

--------------------------------------------------------------------------------

IV. Die Netjuke läuft ... was jetzt?

 

Jetzt ist die Installation der Netjuke abgeschlossen. Ruft man sie jetzt vom Client aus auf (http://eisfairserver/netjuke/index.php), erhält man die Netjuke-Oberfläche. Allerdings ist die Datenbank jetzt noch komplett leer. Um die Datenbank mit Inhalt zu füllen, ist es wichtig zu wissen, wo die Netjuke nach Musikdateien sucht. Das Musikverzeichnis ist ,,/var/www/htdocs/netjuke/var/music/". Also schiebt man nun mal eine Testdatei in dieses Verzeichnis: cp /tmp/testdatei.mp3 /var/www/htdocs/netjuke/var/music/testdatei.mp3 Begibt man sich nun in der Netjuke-Oberfläche in den Administrationsteil, kann man das Musikverzeichnis nach Titeln untersuchen lassen. Wird die Netjuke fündig, werden die

Musikdateien aus dem Ordner ,,music" in die Datenbank übernommen. In der Übersicht der Netjuke sollte also beim erneuten Aufruf die Testdatei zu sehen sein. Achtung! Die Netjuke liest bei der Neuaufnahme von Titeln in der Datenbank die ID-Tags der

mp3-Dateien aus und überträgt diese Informationen in die Tabellen. Steht also unter Album ,,Müll" oder ,,Ripped bei Doofmann", dann taucht das in der Netjuke-Datenbank auf. Am besten ist es, wenn man sich die ID-Tags vorher anschaut und anpasst. Tools dazu gibt es sowohl für Linux, als auch für Windows. Die Informationen zu bereits aufgenommenen Titeln kann man auch direkt über die Netjuke bearbeiten. Eine falsche Information ist also kein Beinbruch. Wichtig ist hierbei, dass der user

,,wwwrun" mal wieder die entsprechenden Berechtigungen auf die Musikdaten hat. Verfügt der eisfair-Server über genügend freien Plattenplatz, kann man nun seine Musikdaten in das Verzeichnis schieben.

 

V. Abspielen von nah und fern ...

 

a) ServerSide

Von Haus aus ist die Netjuke ein Music-Streaming-Server, also für das Abspielen der Musik auf Clients ausgelegt. Allerdings kann man ­ vorausgesetzt das Soundpaket ist installiert und läuft ­ einzelne Titel zu sogenannten Playlists hinzufügen, die man dann direkt auf dem Server abspielen kann (daher ServerSide). Sollte der Client die Meldung bekommen, dass die ,,Jukelist gestartet" ist, ohne dass Musik zu hören ist, sollte man die Berechtigungen auf ,,/dev/dsp" überprüfen (schließlich ist man ja als Apache-User unterwegs).

 

b) Client

Vom Client aus sucht man sich in der Netjuke einen Titel aus und klickt auf ,,Abspielen" (das Notensymbol). Voraussetzung für das Abspielen auf dem Client ist ein Programm, dass mit dem Dateiformat ,,m3u" (Playlist-Format) umgehen kann. Bei Linux ist das z.B. Xmms ­ bei Windows z.B. der Windows Media Player oder Winamp (die Light-Version ist ausreichend). Jeder Netjuke-Benutzer kann sich auch Playlists zusammenstellen, die er dann über den Client abspielen kann. Diese Playlists kann er nur für sich ­ oder auch für alle Netjuke-Benutzer ablegen.

 

--------------------------------------------------------------------------------

 

Anmerkung zu SuSE 9.0 und KDE:

Auf einem SuSE 9.0 Client hat sich die Voreinstellung der Dateizuordnungen als störend erwiesen. So versuchte das System die m3u-Anfrage über den Kaffeeine-Player abzuspielen, der allerdings das Abspielen der Playlist verweigerte. Also musste zunächst die Dateizuordnung des Systems angepasst werden. Konqueror -> Einstellungen -> Dateizuordnungen -> oben im Leerfeld ,,m3u" eingeben und Kaffeeine auf Platz zwei hinter Xmms setzen. Jetzt öffnet KDE bei einer Musikauswahl in Netjuke den Xmms-Player und spielt den Titel ab.

 

VI. Allgemeines und Tips

 

 

- Apache 2

Der Apache 2 für den eis unterstützt derzeit noch kein PHP, also ist der neue Indianer für die Netjuke derzeit noch nicht zu gebrauchen.

 

-Netzlaufwerke einbinden

Die Netjuke sucht die Musikdateien in ihrem Musikverzeichnis ,,/var/www/htdocs/ netjuke/var/music". Was also tun, wenn man auf dem eis keinen Platz mehr hat ­ oder die Musik eigentlich schon komplett auf einem anderen Server liegt und man die Daten nicht doppelt halten will? Vor dem zweiten Problem stand ich: Die Musik lag auf meinem Suse-Server und die Netjuke

sollte aber auf dem eisserver laufen. Die Lösung ist recht simpel. Alles was man braucht, ist zunächst einmal ein Mountpoint auf

dem eisserver, der auf die Dateien des entfernten Servers verweist (also ein Fall für NFS oder Samba ­ je nach entferntem Server).

Liegen die Daten auf einem Linux-Server (wie bei mir) kann man das Verzeichnis mit dem NFS-Client-Paket mounten.

Im Beispiel heißt der Mountpoint sinnigerweise ,,/nfs". Nun legt man einfach einen Softlink (quasi eine Verknüpfung) ins ,,music"-Verzeichnis der Netjuke:

 

Eisserver> cd /var/www/htdocs/netjuke/var/music

Eisserver> ln ­s /nfs servmusic

 

Jetzt sieht man im Verzeichnis "music" einen Eintrag namens "servmusic", der sich wie ein lokaler Ordner verwenden lässt.

Bei Samba-Verzeichnissen geht man entsprechend vor.

 

Soundprobleme?

Wenn der Server beharrlich schweigt, sollte man die Berechtigungen bei ,,/dev/dsp" und ,,/dev/mixer" überprüfen, denn ursprünglich hat hier nur der ,,root" das Recht auf diese Devices. Kommt beim Starten von ,,mpg123" eine Meldung, dass eine Library fehlt, hilft eine Paketinstallation weiter: Das Paket 0.95.2 MidnightCommander mit unzip von home.arcor.de/jsffm/eisfair/eis- list.txt Das Paket enthält die fehlende lib ­ und den mc kann man ja eh immer mal gebrauchen

;-)

 

--------------------------------------------------------------------------------

 

Verzerrter Sound?

Klingt die Soundkarte verzerrt und übersteuert?

Gelegentlich sind im Mixer zu hohe Werte eingestellt (da gehen die Möglichkeiten der Soundkarte und der Boxen getrennte Wege *grins). Diese Werte kann man über die Konsole durch den Aufruf von ,,aumix" nachregeln, allerdings müsste man das dann immer nachregeln. Besser ist es, die Werte dauerhaft einzustellen, indem man die Datei ,,/etc/rc2.d/S50sound" in

der Zeile 74 anpasst, z.B.:

 

Original:

/usr/local/bin/aumix ­v 100

Angepasst:

/usr/local/bin aumix ­v 95 (den Wert halt entsprechend anpassen)

 

ServerSide Jukebox zu laut/leise?

Es kann sich als praktisch erweisen, wenn man vom Client aus die Lautstärke auf dem Server anpassen kann.

Variante1: Verbinden des Clients mit dem Server per Putty und ausführen von aumix auf der Konsole. Dann hat man den kompletten Mixer im Zugriff.

 

Variante2: Von der Putty-Downloadseite das Programm ,,plink" auf den Client downloaden und eine Batch-Datei erzeugen (laut.bat). Dort trägt man folgende Zeile ein:

 

plink ­ssh ­pw passwort root@eisfair aumix ­v -1

 

Damit kann man den Server um einen ,,Tick" leiser machen. Man sollte natürlich einen anderen Benutzer dazu verwenden.

Das Ganze funktioniert auch mit ­b für Bass und ­t für Treble. Das Minus vor dem ,,v" ist übrigens wichtig ­ da der Mixer ansonsten sehr schweigsam wird. Die Lautstärke lässt sich so auch auf einen festen Wert einstellen, wobei man dann z.B.

,,aumix ­v 70" einträgt. Die Werte für den Mixer liegen übrigens zwischen 0 und 100.

 

Viel Spass mit der Netjuke wünscht

Peter Maier

 

An dieser Stelle noch mal Danke an Andreas Zemke, der mir mit seinen Erfahrungen mit der JukeBox bei der Erstellung des HowTos geholfen hat.

 

CU

Pete