Установка и настройка icecast на FreeBSD 13

Инструкция по настройки потокового сервера на базе icecast

icecast работает как на Linux/Unix, так и на Windows. Файл конфигурации iceceast.xml, по структуре, единый для всех систем, отличие будет только в пути рабочих каталогов (в зависимости от системы).

Для начала обновим коллекцию портов. Если вы portsnap запускаете впервые, то выполним:

Обновим:

В FreeBSD iceceast находится в /usr/ports/audio/icecast  Так же можно поискать другие версии. Для этого переходим в порты cd /usr/ports/  и выполним поиск:

На момент написания инструкции, нашлось два порта: 

С icecast-kh можно ознакомится на их странице, последний релиз на github от 1.07.20. Советую эту версию установить для ознакомления.

Установка

BATCH="yes"  Этот параметр позволяет избавиться от дополнительных окон, которые могут появляться при установки пакета.

Настройка

В начале создадим файл iceceast.xml путем копирования icecast.xml.sample

Редактируем icecast.xml

Пойдем сверху вниз 🙂  Буду затрагивать только минимальные настройки, необходимые для запуска icecast сервера.

Секция  <authentication>

Если вы планируете передавать свой поток на icecast, то вам нужно изменить секцию <source-password>hackme</source-password> . Установите свой пароль. Список популярных программ, выполняющие роль источника, можете глянуть здесь

<relay-password>hackme</relay-password>  Здесь вы устанавливает пароль сервера источника, если этот сервер требует пароль. В основном, когда вы берете поток из свободного доступа, этот параметр не важен.

Этот параметр отвечает за доступ к веб панели вашего icecast сервера.

Секция <hostname>

В <hostname> пропишите ip или DNS имя вашего icecast сервера

Секция <listen-socket>

Здесь мы указываем порт трансляции, по умолчанию стоит 8000.

Секция <relay>

Приведу пример этой секции на примере радиостанции потока https://radio.ddr64.link/potok/europapluslight/, который мы хоти ретранслировать на своем icecast сервере.

После такой настройки, новый адрес будет http://<icecastserver>:8000/europa  

<on-demand>0</on-demand>  эта секция отвечает за то, будет ли постоянное обращение к потоку или по запросу. “0” – отключено

<relay-shoutcast-metadata>1</relay-shoutcast-metadata> эта секция отвечает за ретрансляцию метаданных (название песни, исполнителя). “1” – включено

Секция <paths>

В секции <paths> нужно обратить внимание на секцию <logdir>

По умолчанию директории /var/log/icecast не существует, её нужно будет создать (см. ниже)

Секция <security>

Секция <security> отвечает за то, от какого пользователя будет запускаться сервис icecast. Рекомендуется создать отдельного пользователя и группу. В моем случае, я создал пользователя и группу icecast и убрал комментарии.

<chroot>0</chroot>  эта секция отвечает, разрешить или запретить запуск от root, “0” – запретить

Описание остальных настроек, можете глянуть на сайте

Далее создадим пользователя icecast и добавим его в группу icecast:

Создаём папку для log-файлов:

Создадим лог файлы:

Дадим права на папку /var/log/icecast/ и всего содержимого в этой папке, для пользователя и группы icecast:

Добавим icecast в /etc/rc.conf для автозагрузки:

Запускаем icecast:

Скорее всего, у вас возникнет предупреждение, но сервис благополучно запуститься и всё будет работать.

WARN fserve/fserve_recheck_mime_types Cannot open mime types file /etc/mime.types 

Дело в том, что сервер Icecast должен иметь возможность читать основной файл типов mime Unix/Linux, расположенный в /etc/mime.types, и если этого файла нет или он есть, но нет к нему доступа, тогда нужно предоставить доступ.
В моем случае, файла mime.types не было, поэтому я его создал и поместил в /etc. Можете скачать готовый вариант и дать доступ lcecast

Перезапустим сервис:

Всё! 🙂 

 

(2 оценок)
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x