Um auch in der Arbeit ein wenig meiner Musik lauschen zu können habe ich nun auf home.fladi.at den GNUMP3d installiert.
Da ich einige Probleme bekommen würde, wenn jeder frei auf meine Musiksammlung zugreifen könnte, musste natürlich eine Authentifizierung her. GNUMP3d bietet zwar von sich aus eine einfache Anmeldemöglichkeit, jedoch keine Anbindung an LDAP oder PAM. Weiters wollte ich nicht unbedingt einen weiteren Port am öffentlichen Interface lauschen lassen.
Beste Voraussetzungen, mal die Kenntnisse über mod_proxy von Apache aufzufrischen. Als Reverse-Proxy kann man alle Features von Apache, wie Authentifizierung und Caching, nutzen. In meinem Fall habe ich einen Vhost mit dem Namen mp3.fladi.at eingerichtet, der alle Anfragen zuerst gegen LDAP prüft und dann auf den GNUMP3d auf http://localhost:8888/ weiterleitet. Dort sollte für diese Anleitung bereits ein funktionierender GNUMP3d laufen.
Um die Links auf der Weboberfläche von GNUMP3d mit dem Hostnamen des Vhost zu versehen müssen zwei Parameter in der gnump3d.conf geändert werden:
use_client_host = 0 host_rewrite = mp3.fladi.at
Die Proxy-Module sind unter Apache (Debian Sid) standardmäßig nicht aktiv und müssen zuerst aktiviert werden:
a2enmod proxy a2enmod proxy_http
Danach geht es an den Vhost:
<VirtualHost *> DocumentRoot /home/httpd/vhosts/mp3.fladi.at ServerName mp3.fladi.at CustomLog /var/log/apache2/access.log combined ProxyPass / http://localhost:8888/ <Location /> AuthType Basic AuthBasicProvider ldap AuthName "Fladi.at MP3 Streaming" AuthLDAPURL "ldap://127.0.0.1/dc=fladi,dc=at?uid" AuthLDAPGroupAttribute memberUid AuthLDAPGroupAttributeIsDN off Require ldap-group cn=users,ou=groups,dc=fladi,dc=at </Location> </VirtualHost>
Unter Debian Sid ist in der Datei /etc/apache2/mods-available/proxy.conf noch ein "Deny from all" versteckt, welches mit einem Kommentar versehen werden muss um Zugriff über den Reverse-Proxy zu erhalten.
Danach erfolgt ganz einfach der Zugriff über http://mp3.fladi.at/ mittels Browser.