Introduction
mod_musicindex is an Apache modules which allows nice displaying of directories containing MP3, FLAC, Ogg Vorbis or MP4/AAC files. This includes sorting them on various fields, streaming and or downloading them. It can also construct playlists and search them.
mod_musicindex started as a C implementation of the perl module Apache::MP3.
It features a cache system, currently based on mirroring the tree structure handled by the module, storing files data using a flat text file backend. The project plans to support MySQL, PostgreSQL and SQLite backends in future.
If a picture of CD cover is also added in a directory, it will be displayed in the upper left corner of the web page and as a thumbnail in the parent directory. The file name of the picture must match the following scheme:
"(.){cover,folder}.{jpg,png,gif}"
eg: “cover.png” or “.folder.jpg” are valid names.
The musicindex directory (usually found in /var/www/, atleast on Debian and Ubuntu) contains a sample musicindex.css file which can be tailored as per requirement.
Setting up mod_musicindex on Debian
Since Debian provides a package for it, yes in Sarge too, its extremely simple to install:
apt-get install libapache2-mod-musicindex ln -s /etc/apache2/mods-available/musicindex.load musicindex.load
Next comes the configuration. The location of music files in the web-root is a personal choice. If you are running a dedicated music server then perhaps you have a complete document root and a virtual server in place. I setup this on my laptop which is also my development machine. UserDir is configured on my machine so I did the following:
vi /etc/apache2/mods-enabled/userdir.conf
        Alias /songs /home/*/www/songs/
        Options Indexes MultiViews FollowSymlinks
        AllowOverride       Indexes
        MusicLister         On
        MusicSortOrder      album disc track artist title length bitrate freq filet$
        MusicFields            title artist length bitrate
        MusicAllowDownload  Off
        MusicAllowStream    On
        MusicAllowSearch    On
#       MusicRssItems       Off
        MusicPageTitle      home
        MusicCssDefault     musicindex.css
        MusicCachePath      /tmp/musicindex
#       MusicIceServer     [ice.domain.my]:8000
#       MusicCookieLife    300
The advantage of this setup is that the module becomes available to all users in the system if they place all audio files in a directory called songs in their web-roots.
Screenshots
Here are some screenshots from my server:





Leave a Reply