MP3-сервер своими /dev/hands

Xakep, номер #042, стр. 042-052-1


Замути свой музыкальный сервак в локалке!

Andrushock (andrushock@fromru.com)

Привет, друг! На тебя навалился депресняк, потому что число компов в твоей сетке растет темпами, о которых ты раньше и мечтать не мог, а винчестеры распухают от гектаробайт mp3-шек? И все это в то самое время, когда все download-менеджеры забиты очередями за свежим музоном? Припомни еще (если, конечно, сможешь =), у какого числа людей совпадают музыкальные вкусы, и представь, сколько песен просто-напросто дублируется на разных машинах, занимая тем самым драгоценное место! С этим нужно что-то делать, чем мы и займемся в данной статье.

Места много не бывает

Я тут у себя в сетке подбил статистику и просто присел от одного факта: оказалось, что число копий альбомов небезызвестной скрипачки Ванессы Мае составляет более двух десятков! Получается, что вместо положенных 130 метров эта девица суммарно занимает более 3 гектаров места. Ух, как же ее разнесло :о( или :о). В связи с этим созревает вполне здравая идея: создать единое хранилище для всех музыкальных файлов, к которому имели бы доступ все заинтересованные пользователи-меломаны в твоей локальной сети. Согласись, сплошное удобство для mp3-маньяков с маленькими винтами, поэтому с них пиво: и тебе, и мне =). А поможет нам в этом следующая связка: *nix (я тестил на RedHat Linux 7.2) + Apache + mod_mp3 + ftpd (опционально).

Работаем напильником

Перво-наперво необходимо качнуть и поставить индейца, имхо, Apache в позу =). Я использую Russian Apache, забрать который ты можешь с http://apache.lexa.ru/index.html. Для начала распаковываем архив:

tar zxvf apache_1.3.19rusPL30.4.tar.gz

Затем:

cd apache_1.3.19rusPL30.4

./configure --prefix=/opt/apache --enable-module=so --enable-module=rewrite --enable-module=proxy

Тем самым мы указываем, что ставить нужно в /opt/apache с подключением модулей: so нужен для загрузки модулей во время выполнения (для успешного завершения нашей миссии обязателен), rewrite - для сопоставления адресов URL и имен файлов, proxy - для выполнения промежуточного кэширования.

В состав Apache входит несколько интересных модулей: mod_access - управление доступом, mod_auth_digest - возможность авторизации клиентов с помощью MD5, mod_cgi - обработка CGI-сценариев, mod_env - сообщение установок среды CGI-сценариям, mod_log_config - изменение детальности журналирования, mod_mime - определение типа файла по его расширению, mod_mmap_static - кэширование файлов в памяти, mod_spelling - проверка ошибок в адресах, mod_usertrack - слежение за кукисами. Подробнее про эти и другие Apache-модули можно узнать здесь: http://modules.apache.org

Далее все стандартно:

make

make install

Модуль для индейца, отвечающий за поддержку mp3/ogg, забираем с ftp://ftp.tangent.org/pub/apache/mod_mp3-0.35.tar.gz и распаковываем его:

tar zxvf mod_mp3-0.35.tar.gz

Переходим в созданный каталог и не спешим, потому что девелоперы поленились написать нормальную доку по установке сей приблуды. Итак, чтобы все вкусно собралось, выполняем следующие действия:

1) Копируем каталог src как mp3 в /путь/к/сырцам/апача/src/modules:

Содержание  Вперед на стр. 042-052-2