Pesquisa de site

Como instalar o servidor SHOUTCast Radio (streaming de mídia online) no Linux


SHOUTcast é um software proprietário usado para transmitir mídia pela Internet, especialmente usado em streaming de música ao vivo pelas estações de rádio na Internet, e é desenvolvido pela Nullsoft com versões para todas as principais plataformas, incluindo Linux.

Este tutorial irá guiá-lo sobre como instalar o SHOUTcast Distributed Network Audio Server no CentOS 8, com a ajuda do qual você pode usar reprodutores de mídia, como o Winamp ou Mixxx para conectar-se aos serviços de streaming e transmitir suas listas de reprodução de áudio para ouvintes da Internet.

Embora este tutorial cubra apenas a instalação do servidor SHOUTcast em uma máquina CentOS 8/7, o mesmo procedimento pode ser aplicado a outras distribuições Linux, como RHEL , Fedora, Ubuntu, Debian, Linux Mint, etc. com a observação de que você deve adaptar os comandos do firewall para adequado à sua distribuição Linux.

Etapa 1: Baixe e instale o servidor SHOUTcast

1. Antes de prosseguir com a instalação do servidor SHOUTcast, crie um usuário local a partir do qual você executará o servidor, pois executar o servidor a partir da conta root pode impor sérios problemas de segurança em seu sistema.

Então, faça login em seu sistema com a conta root, crie um novo usuário, chamado radio, depois de terminar, faça logout da conta root e, em seguida, faça login com seu usuário recém-criado. Aqui estão os seguintes comandos necessários que precisam ser executados no terminal.

adduser radio
passwd radio
su - radio
pwd 

2. Uma vez logado em seu sistema com a conta de rádio, crie dois diretórios chamados download e server, depois mude para a pasta de download.

mkdir download
mkdir server
cd download

3. Em seguida, pegue a última versão do arquivo do servidor SHOUTcast para Linux, dependendo da arquitetura do seu sistema, visitando a página oficial de download do Nullsot.

  1. http://download.nullsoft.com/shoutcast/tools

Alternativamente, use o seguinte utilitário wget para baixar o arquivo da linha de comando.

--------------- 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. Após a conclusão do download, extraia o arquivo compactado, liste o diretório para localizar o arquivo binário executável sc_serv e copie-o para o diretório de instalação, localizado em server e vá para o caminho de instalação do SHOUTcast, emitindo os seguintes comandos.

tar xfz sc_serv2_linux_x64-latest.tar.gz
ls
cp  sc_serv  ../server/
cd  ../server/
ls

5. Agora que você está localizado no caminho de instalação do servidor, crie dois diretórios chamados control e logs e a instalação propriamente dita estará concluída. processo. Liste o conteúdo do seu diretório para verificar se tudo está em ordem usando o comando ls.

mkdir control
mkdir logs
ls

Etapa 2: Crie um arquivo de configuração SHOUTcast

6. Para executar e operar o servidor, você precisa criar um arquivo de configuração para o SHOUTcast. Abra seu editor de texto favorito e crie um novo arquivo chamado sc_serv.conf.

Certifique-se de que este arquivo seja criado no mesmo caminho em que seus arquivos binários executáveis sc_serv e são criados. O uso do comando pwd deve mostrar este caminho absoluto – /home/radio/server).

cd /home/radio/server/
pwd
vi sc_serv.conf

Adicione as seguintes instruções ao arquivo sc_serv.conf (exemplo de configuração).

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

Algumas configurações importantes que você deve conhecer neste arquivo são as instruções de senha, que devem ser alteradas de acordo:

  • adminpassword – Senha de administrador necessária para realizar administração remota através da interface web para o servidor.
  • streampassword_1 – Senha exigida pelo reprodutor de mídia remoto para conectar e transmitir conteúdo de mídia para o servidor.

Alternativamente, se você deseja criar um arquivo de configuração para o servidor SHOUTcast, você pode ir ao diretório download e executar builder.sh ou setup.sh roteiros.

cd ../download/
bash setup.sh

que permitirá configurar o servidor a partir de uma interface web que pode ser acessada no seguinte endereço.

http://localhost:8000
OR
http://ipaddress:8000

Depois que a configuração for criada, você poderá copiá-la para o diretório de instalação do servidor.

7. Para iniciar o servidor execute sc_serv o arquivo do seu diretório de trabalho atual, que deve ser o diretório server, coloque-o em segundo plano com & operador bash e direcione seu navegador para o URL http://localhost-or-IP:8000.

Além disso, use o comando netstat para ver se o servidor está em execução e em quais números de porta ele escuta.

chmod +x sc_serv
./sc_serv &
netstat -tulpn | grep sc_serv

Etapa 3: abrir conexões de firewall

8. Agora o servidor SHOUTcast está instalado e funcionando, mas ainda não pode ser acessado do mundo externo devido às restrições do Firewall CentOS. Para abrir o servidor para conexões externas faça login com conta root e adicione a regra que abrirá a porta 8000 TCP.

Depois que a regra for adicionada, recarregue o Firewall para aplicar as alterações e sair da sua conta root.

su -
firewall-cmd --add-port=8000/tcp --permanent
firewall-cmd --reload
exit

9. Em seguida, abra um navegador em uma máquina remota e digite o endereço IP do seu servidor na porta 8000 no URL arquivado – http://192.168.1.80:8000 – e o SHOUTcast a interface da web deve aparecer como na imagem abaixo, sem transmissões ao vivo disponíveis.

Etapa 4: gerenciar o servidor SHOUTcast e criar o script Daemon

10. O comando utilizado para gerenciar o servidor de rádio SHOUTcast é o próprio arquivo binário, que deve ser executado a partir do local do caminho de instalação para ser
capaz de ler o arquivo de configuração. Para executar o servidor como um daemon usando a opção de comando daemon.

Você também pode instruir o servidor a ler suas configurações de um local diferente, indicando onde reside o arquivo de configuração, mas esteja ciente de que o uso desta opção requer a criação de logs e diretórios de controle, o que pode ser confuso na prática e pode levar à incapacidade do servidor para iniciar.

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. Se você precisar de um comando simplificado para iniciar ou parar o servidor de rádio SHOUTcast, faça login como root novamente e crie o seguinte script executável no caminho /usr/local/bin/ como no exemplo abaixo.

su -
vi /usr/local/bin/radio

Agora adicione o seguinte trecho ao arquivo 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. Após a criação do arquivo, torne-o executável, saia da conta root e um novo comando estará disponível para o gerenciamento do servidor de rádio SHOUTcast.

chmod +x /usr/local/bin/radio
exit

13. Para gerenciar o servidor a partir de agora, use o comando radio com as seguintes opções.

radio start_daemon		## Starts SHOUTcast server as a daemon

radio start                   ## Starts SHOUTcast server in foreground

radio stop                    ## Stops SHOUTcast server

14. Se você deseja iniciar automaticamente o servidor após a reinicialização, mas apenas no login do usuário (neste caso o servidor foi instalado no usuário local chamado radio) emita o seguinte comando do caminho inicial da conta de rádio, efetue logout e login novamente para verificar a funcionalidade, conforme apresentado na imagem abaixo.

whoami  
echo “radio start_daemon” >> ~/.bashrc

É isso! Agora, o servidor SHOUTcast está pronto para receber som ou playlists de reprodutores de mídia remotos, como Winamp do Windows e Mixxx do Linux e transmitir todo o conteúdo de áudio recebido pela Internet.