Hast du auch ein Heim-Netz und teilst deine Musiksammlung mit dem Rest der Familie oder setzt verschiedene Clients ein, um über diese deine Musik abzuspielen? Dann bietet es sich oft an, eine zentrale Instanz zu installieren, auf der die Daten gesammelt werden. Sicherlich lässt sich dies sehr einfach über Samba bewerkstelligen, wenn du allerdings iTunes als MediaPlayer einsetzt, bietet sich eine interessante Ergänzung an: ein iTunes-Server. Wir setzen hierfür FireFly ein, der aktiv entwickelt wird, wenngleich er noch nicht 100% stable wirkt.

  1. Zu allererst überlegen wir uns, wo wir FireFly installieren wollen. Gerade weil FireFly noch nicht stable ist und einige Abhängigkeit besitzt, schlage ich wie immer vor, wir installieren ihn in einer Jail. Hierfür ist allerdings eines zu beachten:

    Wenn wir bisher eine Jail erstellt haben, haben wir ein 10.0.0.X-Netz verwendet. In meinem Fall liegt das Heimnetz in einem anderen IP-Netz, nämlich 192.169.X.X. Trotz NAT versucht iTunes allerdings auf die 10.0.0.X zuzugreifen. Daher: Wir müssen eine IP vergeben, die im Netzbereich der Clients liegt.

  2. Wenn wir also eine Jail mit passeneder IP-Adresse angelegt haben - ich verwende mal die 192.168.0.100 - können wir uns daran machen, den entsprechenden Port zu installieren:

    # cd /usr/ports/audio/firefly/ && make install clean

  3. Bei der Auswahl der PlugIns habe ich einfach alle ausgewählt. Mehr ist mehr. Das kompilieren wird ziemlich lange dauern, da einige Abhängigkeiten aufgelöst werden müssen. Wenn das aber mal erledigt ist, können wir uns an die Konfiguration des Servers machen.

  4. Im Ordner '/usr/local/etc/' ist eine Beispielkonfiguration hinterlegt (mt-daad.conf.sample). Du wunderst dich jetzt vielleicht warum da nicht FireFly sondern mt-daad steht, nun FireFly hiess früher mt-daad, jetzt heisst er FireFly. Wie auch immer, wir kopieren uns die Beispielkonfiguration und passen folgende Parameter an:

    web_root /usr/local/share/mt-daapd/admin-root
    Dies ist das Standardverzeichnis für die Administrationsoberfläche. Dieses musst du eigentlich ändern, ausser du verschiebst diesen Ordner.

    port 3689
    Das ist der Standardport auf dem der iTunes-Server läuft. Ich würde ihn nicht ändern, habe es auch nicht ausprobiert was passiert (ob iTunes ihn nicht mehr findet bspw)

    admin_pw
    Hier kommt das Administratorpasswort hin. Einfach dahinter schreiben, ohne '=' oder ähnliches, wie bei den anderen Parametern auch. Über die Adresse "http://192.168.0.100:3689" kannst du später die Web-Oberfläche erreichen. Benutzername ist "admin", das Passwort das welches du hier einträgst.

    db_dir /usr/local/var/mt-daapd/db
    Das ist der Pfad zur SQLite-Datenbank. Den brauchst du eigentlich auch nicht zu ändern.

    mp3_dir /dein/Musik/Verzeichnis
    Hier trägst du den Pfad ein, unter dem du die MP3-Files hinterlegen willst. Ich nutze hier ein NULLFS-Mount um die Daten des Samba-Shares in die iTunes-Jail zu mounten. Funktioniert bestens.

    servername Mein iTunes-Server
    Das ist der iTunes-Server-Name, der in iTunes unter "Freigaben" erscheint.

    runas daapd
    Das ist der Benutzer unter dem der Server läuft. Hier sollte auch die Standardvorgabe ausreichen.

    password DeinPasswort
    Es kann sein, dass du deinen iTunes-Server mit einem Passwort schützen möchtest, dann ist das hier der richtige Parameter um ein Passwort zu setzen (nicht zu verwechseln mit dem Admin-Passwort!)

    extensions .mp3,.m4a,.m4p,.m4v
    Dies sind die Dateierweiterungen, die der iTunes-Server berücksichten soll. Ich habe nicht ausprobiert was passiert, wenn man hier Video-Dateien ablegt...

    logfile /var/log/mt-daapd.log
    Unter diesem Pfad liegt das Logfile des iTunes-Servers. Das ist sehr nützlich. iTunes unterstützt einige Debug-Level, die bei der Fehlersuche helfen, falls Probleme auftreten.

  5. Sobald die Konfiguration angelegt ist, müssen wir noch die Ports freigeben. Einerseites TCP 3689 und UDP 5353. Auf dem UDP-Port broadcastet der Server seinen Share.

  6. Es gibt übrigens noch die Möglichkeit Playlists anzulegen. Hierbei ist zu beachten, dass es nur ein Playlistfile gibt, welches über den Parameter playlist /pfad/zur/Playlist/daapd.playlist gesetzt wird.

    Eine Sektion in dieser Playlist hat das folgende Format:

    "Rock" {
    genre includes "Rock"
    }

  7. Jetzt tragen wir noch den obligatorischen Flag firefly_enable="YES" in die /etc/rc.conf ein. Danach können wir den Server starten:

    # /usr/local/etc/rc.d/mt-daapd start

  8. Wenn wir jetzt iTunes starten, sollte auf der linken Seite dein Server unter "Freigaben" erscheinen. Bearbeiten der Files geht über iTunes natürlich nicht, daher empfehle ich hier Samba als Ergänzung.