Ответ в теме: Установка Icecast2 на Debian стриминг музыки

Главная Форумы SOFTWARE System settings Установка Icecast2 на Debian стриминг музыки Ответ в теме: Установка Icecast2 на Debian стриминг музыки

#1754
E-tec
Хранитель

    Установка Icecast2 на защищенном https протоколе, вариант с ssl сертификатом Let’s Encrypt полученным на основной домен, т.е. этот способ подойдет если у Вас уже есть сайт с сертификатом Let’s Encrypt.

    Установку ОС в этом мануале я пропускаю (смотри ее выше). Предположим у нас есть vds на Debian 10 с панелью управления HestiaCP и сертификат Let’s Encrypt на основном домене.

    Первым делом устанавливаем пакеты которые нам пригодятся:
    # apt update
    # apt install gnupg net-tools ssh nano mc wget

    Далее добавляем Xiph репозиторий в ОС
    # sh -c "echo deb http://download.opensuse.org/repositories/multimedia:/xiph/Debian_10/ ./ >>/etc/apt/sources.list.d/icecast.list"

    Загрузите ключ подписи и добавьте его в apt:
    # wget -qO - http://icecast.org/multimedia-obs.key | apt-key add -

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

    # wget -qO - https://build.opensuse.org/projects/multimedia:libs/public_key | apt-key add -

    Обновим список репозиториев:
    # apt update

    Теперь установим сам пакет icecast2

    # apt install icecast2

    Внимание! Убедитесь что пакет был установлен именно из репозиториев Xiph, те пакеты что в debian не подгружают ssl сертификаты!

    Создаем файл icecast.pem
    # touch /usr/share/icecast2/icecast.pem

    Открываем его и добавляем ssl ключи основного домена, нас интересует только .pem файл
    # nano /usr/share/icecast2/icecast.pem
    Примечание! У HestiaCP, ssl сертификаты хранятся в директории /home/admin/web/YOUR_DOMAIN/private.

    Добавляем права доступа к файлу
    # chmod 666 /usr/share/icecast2/icecast.pem

    На этом установка закончена идем настраивать сам пакет icecast2
    # nano /etc/icecast2/icecast.xml

    Основные настройки смотри в мануале выше, нас же сейчас интересует как запустить все по https протоколу, а для этого нужно изменить пару строк. Ищем раздел, и раскоментируем путь к ssl:
    <ssl-certificate>/usr/share/icecast2/icecast.pem</ssl-certificate>
    Теперь добавьте этот раздел в документ (в корневой узел XML):

    <listen-socket> 
    <port>8001</port>
    <ssl>1</ssl>
    </listen-socket>

    Все готово! Можно перезапустить icecast2
    # service icecast2 restart
    Если что-то не заработало смотрим статус пакета и читаем логи! =) Что получаем в итоге: Доступ к потоку на http по порту 8000 и https по порту 8001 (порты соответственно нужно открыть или пробросить), трансляция музыки будет осуществляться внутри локали по порту 8000 т.е. по http.

    Примечание! При таком раскладе, придется в ручную обновлять ssl сертификаты для страницы статуса айскаста. Чтоб убедиться что установлен нужный пакет с xiph пишем:
    # service icecast2 status
    если Вы все сделали по текущему мануалу и видите ответ со строкой:
    [2021-02-08 12:43:38] INFO connection/get_ssl_certificate No SSL capability
    это значит, что установлен НЕ верный пакет, переустанавливаем на нужный!

    На Debain 10 пакет с xiph не ставится по умолчанию с соурс листа, по этому просто временно комментируем все стандартные дистрибы debian, либо ставим вручную через dpkg файл с оф. сайта xiph! При этом замораживаем пакет, иначе ОС будет пытаться ставить пакет из репозитория где не работает ssl:
    # apt-mark hold icecast2

    Авторизация
    *
    *
    Регистрация
    *
    *
    *
    Пароль не введен
    *
    Генерация пароля