Устанавливаем Icecast2 и выносим его на HTTPS.
Тиорин ХабаровВсем плед, дорогие друзья, сегодня мы поговорим о том, как можно установить Icecast2 и вынести его на HTTPS, для того, чтобы куда-нибудь потом можно было потоки расшарить - ведь практически все каталоги радиостанций требуют защищенные потоки.
Начнем.
Первым делом устанавливаем сам Icecast2
sudo apt install icecast2
Во время установки нас попросит сконфигурировать все это дело - задаем естественно пароли для администрирования и потоков "зеркала" и "основного" и затем дожидаемся конца установки, теперь нам надо настроить так Icecast, чтобы не светить незащищенным портом, для этого нам надо зайти в файл конфигурации Icecast
sudo nano /etc/icecast2/icecast.xml
здесь нам необходимо спуститься до графы
<hostname>localhost</hostname>
и прописать
<local-mount>127.0.0.1</local-mount>
Сохраняемся и выходим ...
Теперь нам необходимо перезапустить сервис icecast и включить его, выполняем
sudo service icecast2 restart && sudo systemctl enable icecast2
вот теперь у нас есть рабочий Icecast2, но не забывайте, что нам его необходимо пробросить на внешку, так как сейчас порт 8000 у нас работает только в пределах нашей VDS, так как мы прописали в параметре "Local-mount" ip локалки, и сейчас у нас работает только незащищенная морда, вот сейчас мы как раз займемся защищенной.
Для этого нам нужна утилита Stunnel4 - устанавливаем :
sudo apt install stunnel4
Ну что ж, чудно, мы установили прокси, который будет как раз таки пробрасывать незащищенный порт на внешку и защищать его через SSL, но тут до конца еще рано - нам нужно иметь сертификат иначе ничего не получится, для этого можно использовать Certbot (Let's Encrypt) или иметь самозаверенный. Так как я использую тестовую машину - то самозаверенного хватит
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/stunnel/stunnel4-selfsigned.key -out /etc/stunnel/stunnel4-selfsigned.crt
Вот теперь создаем конфиг stunnel
sudo nano /etc/stunnel/stunnel.conf
Содержание файла должно быть примерно следующим :
запускаем
sudo stunnel4 /etc/stunnel/stunnel.conf
После того, как убедились, что у нас все работает, можно переходить к следующему шагу.
Если все таки не заработало меняем
connect=127.0.0.1:8000
на
connect=localhost:8000
Теперь нам необходимо сделать так - чтобы морда, которая висит на 8443 порту не отваливалась при каждом перезапуске, для этого нам нужен crontab, те у кого его нет можно установить коммандой
sudo apt install crontab
в моем же случае - он установлен, потому прописываю
crontab -e
содержание доkжно быть следующим :
Готово. Все должно работать, также у меня сделано и на моем основном сервере, где эта вся схема успешно бесперебойно работает.
А на этом все. Удачного вещания.