Как установить радиосервер SHOUTCast (потоковое онлайн-медиа) в Linux
SHOUTcast — это проприетарное программное обеспечение, используемое для потоковой передачи мультимедиа через Интернет, особенно используемое при потоковой передаче музыки радиостанциями в Интернете. Оно разработано Nullsoft и имеет версии для всех основных платформ, включая Linux.
Из этого руководства вы узнаете, как установить Распределенный сетевой аудиосервер SHOUTcast в CentOS 8, с помощью которого вы сможете использовать медиаплееры, такие как Winamp. или Mixxx, чтобы подключиться к службам потоковой передачи и транслировать свои аудиоплейлисты интернет-слушателям.
Хотя в этом руководстве рассматривается только установка сервера SHOUTcast на компьютере с CentOS 8/7, ту же процедуру можно применить и к другим дистрибутивам Linux, таким как RHEL. , Fedora, Ubuntu, Debian, Linux Mint и т. д. с пометкой, что вам необходимо адаптировать команды брандмауэра для подходит для вашего дистрибутива Linux.
Шаг 1. Загрузите и установите сервер SHOUTcast
1. Прежде чем приступить к установке сервера SHOUTcast, создайте локального пользователя, от которого вы будете запускать сервер, поскольку запуск сервера из-под учетной записи root может создать серьезные проблемы с безопасностью. в вашей системе.
Итак, войдите в свою систему с учетной записью root, создайте нового пользователя с именем radio, после завершения выйдите из учетной записи root, а затем войдите в систему с вновь созданным пользователем. Вот следующие обязательные команды, которые необходимо выполнить на терминале.
adduser radio
passwd radio
su - radio
pwd
2. После входа в систему с учетной записью радио создайте два каталога с именами download и server, а затем переключитесь на папку загрузки.
mkdir download
mkdir server
cd download
3. Затем скачайте последнюю версию архива сервера SHOUTcast для Linux, в зависимости от архитектуры вашей системы, посетив официальную страницу загрузки Nullsot.
- http://download.nullsoft.com/shoutcast/tools
Альтернативно используйте следующую утилиту wget для загрузки архива из командной строки.
--------------- On 64-bit ---------------
wget http://download.nullsoft.com/shoutcast/tools/sc_serv2_linux_x64-latest.tar.gz
--------------- On 32-bit ---------------
wget http://download.nullsoft.com/shoutcast/tools/sc_serv2_linux-latest.tar.gz
4. После завершения загрузки извлеките архивный файл, укажите каталог, в котором находится исполняемый двоичный файл sc_serv, и скопируйте его в каталог установки, расположенный в server, затем перейдите к пути установки SHOUTcast, выполнив следующие команды.
tar xfz sc_serv2_linux_x64-latest.tar.gz
ls
cp sc_serv ../server/
cd ../server/
ls
5. Теперь, когда вы находитесь в пути установки сервера, создайте два каталога с именами control и logs, и фактическая установка завершена. процесс. Перечислите содержимое вашего каталога, чтобы проверить, все ли на месте, с помощью команды ls.
mkdir control
mkdir logs
ls
Шаг 2. Создайте файл конфигурации SHOUTcast
6. Для запуска и работы сервера вам необходимо создать файл конфигурации для SHOUTcast. Откройте свой любимый текстовый редактор и создайте новый файл с именем sc_serv.conf.
Убедитесь, что этот файл создается по тому же пути, что и ваши исполняемые двоичные файлы sc_serv e. Использование команды pwd должно показать вам этот абсолютный путь — /home/radio/server).
cd /home/radio/server/
pwd
vi sc_serv.conf
Добавьте следующие инструкции в файл sc_serv.conf (пример конфигурации).
adminpassword=password
password=password1
requirestreamconfigs=1
streamadminpassword_1=password2
streamid_1=1
streampassword_1=password3
streampath_1=http://radio-server.lan:8000
logfile=logs/sc_serv.log
w3clog=logs/sc_w3c.log
banfile=control/sc_serv.ban
ripfile=control/sc_serv.rip
Некоторые важные настройки этого файла, о которых вам следует знать, — это операторы пароля, которые необходимо соответствующим образом изменить:
- adminpassword – пароль администратора, необходимый для удаленного администрирования через веб-интерфейс сервера.
- streampassword_1 – пароль, необходимый удаленному медиаплееру для подключения и потоковой передачи медиаконтента на сервер.
Альтернативно, если вы хотите создать файл конфигурации для сервера SHOUTcast, вы можете перейти в каталог download и запустить builder.sh или setup.sh. сценарии.
cd ../download/
bash setup.sh
который позволит вам настроить сервер через веб-интерфейс, доступ к которому можно получить по следующему адресу.
http://localhost:8000
OR
http://ipaddress:8000
После создания конфигурации вы можете скопировать ее в каталог установки сервера.
7. Чтобы запустить сервер, выполните sc_serv
файл из вашего текущего рабочего каталога, который должен быть каталогом server, поместите его в фоновый режим с помощью 7.& bash и направьте браузер на URL-адрес http://localhost-or-IP:8000.
Кроме того, используйте команду netstat, чтобы узнать, работает ли сервер и какие номера портов он прослушивает.
chmod +x sc_serv
./sc_serv &
netstat -tulpn | grep sc_serv
Шаг 3. Откройте подключения брандмауэра
8. Теперь сервер SHOUTcast запущен и работает, но доступ к нему из внешнего мира пока недоступен из-за ограничений брандмауэра CentOS. Чтобы открыть сервер для внешних подключений, войдите в систему под учетной записью root и добавьте правило, которое будет открывать порт 8000 TCP.
После добавления правила перезагрузите брандмауэр, чтобы применить изменения, и выйдите из своей учетной записи root.
su -
firewall-cmd --add-port=8000/tcp --permanent
firewall-cmd --reload
exit
9. Затем откройте браузер на удаленном компьютере и введите IP-адрес вашего сервера на порту 8000 в поле URL – http://192.168.1.80:8000 – и SHOUTcast. веб-интерфейс должен выглядеть, как на скриншоте ниже, без доступных прямых трансляций.
Шаг 4. Управление сервером SHOUTcast и создание сценария демона
10. Команда, используемая для управления радиосервером SHOUTcast, представляет собой сам двоичный файл, который необходимо запустить из пути установки, чтобы
способен прочитать файл конфигурации. Чтобы запустить сервер в качестве демона, используйте параметр команды daemon.
Вы также можете поручить серверу читать свои конфигурации из другого места, указав, где находится файл конфигурации, но имейте в виду, что использование этой опции требует создания журналов и каталогов управления, что на практике может сбить с толку и привести к неработоспособности сервера. начать.
pwd ## Assure that you are in the right installation directory - /home/radio/server
./sc_serv ## Start the server in foreground – Hit Ctrl + c to stop
./sc_serv daemon ## Start the server as a daemon
ps aux | grep sc_serv ## Get Server PID
killall sc_serv ## Stop server daemon
11. Если вам нужна упрощенная команда для запуска или остановки радиосервера SHOUTcast, снова войдите в систему как пользователь root и создайте следующий исполняемый сценарий по пути /usr/local/bin/. как в примере ниже.
su -
vi /usr/local/bin/radio
Теперь добавьте следующий отрывок в файл radio.
#!/bin/bash
case $1 in
start)
cd /home/radio/server/
./sc_serv &
;;
stop)
killall sc_serv
;;
start_daemon)
cd /home/radio/server/
./sc_serv daemon
;;
*)
echo "Usage radio start|stop"
;;
esac
12. После создания файла сделайте его исполняемым, выйдите из учетной записи root, и для управления радиосервером SHOUTcast станет доступен новый командный крик.
chmod +x /usr/local/bin/radio
exit
13. Для управления сервером теперь используйте команду radio со следующими переключателями.
radio start_daemon ## Starts SHOUTcast server as a daemon
radio start ## Starts SHOUTcast server in foreground
radio stop ## Stops SHOUTcast server
14. Если вы хотите автоматически запускать сервер после перезагрузки, но только при входе пользователя в систему (в этом случае сервер был установлен у локального пользователя с именем radio), выполните следующую команду. команду из домашнего пути учетной записи радио, затем выйдите из системы и войдите снова, чтобы проверить функциональность, как показано на снимке экрана ниже.
whoami
echo “radio start_daemon” >> ~/.bashrc
Вот и все! Теперь сервер SHOUTcast готов принимать звук или плейлисты от удаленных медиаплееров, таких как Winamp, из Windows и Mixxx из Linux и транслировать весь полученный аудиоконтент через Интернет.