|

MP3-сервер своими /dev/hands
Xakep, номер #042, стр. 042-052-3
</VirtualHost>
</IfModule>
При большой нагрузке тебе, возможно, понадобятся еще две директивы: MP3Cache On и MP3LimitPlayConnections Х, первая служит для включения режима кэширования, вторая - для ограничения числа коннектов к твоему mp3-серверу.
Теперь заливаем все mp3-шки в /opt/apache/www/mp3, добавляем запись с альясами в /etc/hosts у себя и клиентских компов, если нет в локалке своего DNS:
192.168.5.21 midian mp3.midian.net
Наступила пора повесить в память нашего индейца:
/opt/apache/bin/apachectl start
Увидим мессагу:
/opt/apache/bin/apachectl start: httpd started
Если выскочили какие-либо ошибки, подправляем, естественно, конфиги и пробуем заново.
И, на всякий случай, проверим:
netstat -na --inet | grep 80
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
Внимание! Если у тебя Апаче подвис только на 80 порт, тогда проблема может заключаться в том, что ты включил в httpd.conf директиву AddModule для разрешения использования скомпилированных модулей. Для разрешения этой проблемы можно воспользоваться двумя способами: либо закомментировать везде AddModule что-то_там.c, либо добавить строчку ниже и перезапустить Apache:
AddModule mod_mp3.c
По ту сторону баррикад
Пришло время переместиться на сторону клиента, кто, собственно, и будет использовать все нашаманенное нами. Открываем на клиентской машине браузер и вводим адрес:
http://hostname_of_mp3_server:порт/?op=rss
В моем случае: http://mp3.midian.net:8000/?op=rss - и получаем список всех файлов (каждый из которых будет обладать уникальным идентификатором), лежащих в /opt/apache/www/mp3 или том каталоге, который ты указал в конфиге.
Для создания единого плэй-листа для всех mp3-шек можно воспользоваться следующим запросом:
http://hostname_of_mp3_server:порт/?op=m3u
Но этот вариант будет пригоден либо для радиостанции, либо для того момента, когда тебе музыка нужна как background на долгое время, либо просто лень скармливать плееру плэй-листы. С кем не бывает? =) Поэтому лучше в каждой поддиректории создавать их вручную, а если коллекция чересчур большая, то без написания скрипта для автоматизации процесса никак не обойтись.
К моему огромному сожалению, протестированные мною *nix'овые mp3-плееры: FreeAmp, mp3blaster, mpg123, lmp, xmms - вели себя просто неадекватно с нашей схемой Apache+mod_mp3 и плэй-листами. Глючили, повисали etc, хотя последний из них выгодно отличался от аналогов. С винампом же особых проблем замечено не было.
Обратная связь
Уверен, что после определенного срока тебе самому лень или не досуг будет выкладывать свежие mp3-хи, поэтому нужно наладить обратную связь с твоими сетевыми меломанами, т.е. предоставить им возможность закачивать музыку на поднятый тобой mp3-сервак. Так что лучше заранее позаботься о поднятии и FTP-шника. Думаю, для тебя это не будет особой проблемой =).
Подведем итог
Естественно, существуют и альтернативы mod_mp3, например, shoutcast и icecast. В дополнение (если с MySQL общаешься на "ты") можно воспользоваться тулзами типа ampache или netjuke, обеспечивающими стильный дизигн для твоего проекта и доступ к базе данных коллекции. Все эти приблуды можно отыскать на свежемясе - http://freshmeat.net
Назад на стр. 042-052-2 Содержание Вперед на стр. 042-052-4
|