SHOUTcast è un software proprietario utilizzato per lo streaming di media su Internet, in particolare utilizzato in musica in diretta streaming dalle stazioni radio su Internet, ed è sviluppato da Nullsoft con versioni per tutte le principali piattaforme, tra cui Linux.
Questo tutorial ti guiderà su come installare SHOUTcast Distributed Network Audio Server in CentOS 8, con l’aiuto del quale puoi utilizzare lettori multimediali, come Winamp o Mixxx per connetterti ai servizi di streaming e trasmettere le tue playlist audio agli ascoltatori di Internet.
Anche se questo tutorial copre solo l’installazione del server SHOUTcast su una macchina CentOS 8/7, la stessa procedura può essere applicata ad altre distribuzioni Linux come RHEL, Fedora, Ubuntu, Debian, Linux Mint, ecc. con l’osservazione che è necessario adattare i comandi del firewall per soddisfare la vostra distribuzione Linux.
Passo 1: Scaricare e installare SHOUTcast Server
1. Prima di procedere con l’installazione del server SHOUTcast, creare un utente locale da cui verrà eseguito il server perché l’esecuzione del server dall’account root può imporre gravi problemi di sicurezza sul sistema.
Quindi, accedi al tuo sistema con l’account root, crea un nuovo utente, chiamato radio, dopo aver terminato il logout dall’account root e, quindi, accedi con l’utente appena creato. Ecco i seguenti comandi richiesti che devono essere eseguiti sul terminale.
# adduser radio# passwd radio# su - radio$ pwd
2. Una volta effettuato l’accesso al sistema con l’account radio, creare due directory denominate download e server, quindi passare alla cartella download.
$ mkdir download$ mkdir server# cd download
3. Quindi, prendi l’ultima versione dell’archivio SHOUTcast server per Linux, a seconda dell’architettura di sistema, visitando la pagina di download ufficiale di Nullsot.
- http://download.nullsoft.com/shoutcast/tools
In alternativa, utilizzare la seguente utility wget per scaricare l’archivio dalla riga di 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. Al termine del download, estrarre il file di archivio, elencare la directory in cui individuare il file binario eseguibile sc_serv e copiarlo nella directory di installazione, situata nella cartella del server, quindi passare al percorso di installazione di SHOUTcast, emettendo i seguenti comandi.
$ tar xfz sc_serv2_linux_x64-latest.tar.gz$ ls$ cp sc_serv ../server/$ cd ../server/$ ls
5. Ora che ci si trova nel percorso di installazione del server, creare due directory denominate control e logs e il gioco è fatto con il processo di installazione effettivo. Elenca il contenuto della directory per verificare se tutto è a posto usando il comando ls.
$ mkdir control$ mkdir logs$ ls
Passaggio 2: creare un file di configurazione SHOUTcast
6. Per eseguire e far funzionare il server, è necessario creare un file di configurazione per SHOUTcast. Apri il tuo editor di testo preferito e crea un nuovo file, chiamato sc_serv.conf.
Assicurati che questo file sia creato nello stesso percorso in cui vengono creati i file binari eseguibili di sc_serv e. L’uso del comando pwd dovrebbe mostrare questo percorso assoluto – /home/radio / server).
$ cd /home/radio/server/$ pwd$ vi sc_serv.conf
Aggiungi le seguenti istruzioni a sc_serv.file conf (esempio di configurazione).
adminpassword=passwordpassword=password1requirestreamconfigs=1streamadminpassword_1=password2streamid_1=1streampassword_1=password3streampath_1=http://radio-server.lan:8000logfile=logs/sc_serv.logw3clog=logs/sc_w3c.logbanfile=control/sc_serv.banripfile=control/sc_serv.rip
Alcune impostazioni importanti di cui dovresti essere a conoscenza di questo file sono le istruzioni password, che devi modificare di conseguenza:
- adminpassword – Password di amministratore necessaria per eseguire l’amministrazione remota tramite l’interfaccia web al server.
- streampassword_1-Password richiesta dal lettore multimediale remoto per la connessione e lo streaming di contenuti multimediali al server.
In alternativa, se si desidera creare un file di configurazione per il server SHOUTcast è possibile andare alla directory download ed eseguire builder.sh oppure setup.sh copioni.
$ cd ../download/$ bash setup.sh
che consente di configurare il server da un’interfaccia web accessibile dal seguente indirizzo.
http://localhost:8000ORhttp://ipaddress:8000
Una volta creata la configurazione, è possibile copiarla nella directory di installazione del server.
7. Per avviare il server eseguire sc_serv
il file dalla directory di lavoro corrente, che deve essere la directory del server, metterlo in background con l’operatore bash &
e indirizzare il browser all’URL http://localhost-or-IP:8000.
Inoltre, usa il comando netstat per vedere se il server è in esecuzione e su quali numeri di porta ascolta.
$ chmod +x sc_serv$ ./sc_serv &$ netstat -tulpn | grep sc_serv
Passo 3: Aprire le connessioni firewall
8. Ora il server SHOUTcast è attivo e funzionante, ma non è ancora possibile accedervi dal mondo esterno a causa delle restrizioni del firewall di CentOS. Per aprire il server a connessioni esterne accedere con account root e aggiungere la regola che aprirà la porta 8000 TCP.
Dopo che la regola è stata aggiunta, ricaricare il firewall per applicare le modifiche e disconnettersi dal proprio account root.
$ su -# firewall-cmd --add-port=8000/tcp --permanent# firewall-cmd --reload# exit
9. Quindi apri un browser da una macchina remota e digita il tuo indirizzo IP del server sulla porta 8000 su URL archiviato – http://192.168.1.80:8000 – e l’interfaccia web SHOUTcast dovrebbe apparire come nello screenshot qui sotto, senza flussi live disponibili.
Passaggio 4: Gestione del server SHOUTcast e creazione di script daemon
10. Il comando utilizzato per gestire il server radio SHOUTcast è il file binario stesso, che deve essere eseguito dalla sua posizione del percorso di installazione per essere
in grado di leggere il file di configurazione. Per eseguire il server come demone utilizzando l’opzione comando demone.
È anche possibile istruire il server a leggere le sue configurazioni da una posizione diversa indicando dove risiede il file di configurazione, ma si noti che l’utilizzo di questa opzione richiede la creazione di registri e directory di controllo, il che può essere fonte di confusione nella pratica e può portare all’impossibilità di avvio del server.
$ 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 hai bisogno di un comando semplificato per avviare o arrestare SHOUTcast radio server, accedi nuovamente come root e crea il seguente script eseguibile su /usr/local/bin/ path come nell’esempio seguente.
$ su -# vi /usr/local/bin/radio
Ora aggiungi il seguente estratto al file radio.
#!/bin/bashcase 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. Dopo che il file è stato creato, renderlo eseguibile, uscire account root, e un nuovo comando shout essere disponibile per la gestione del server SHOUTcast radio.
# chmod +x /usr/local/bin/radio# exit
13. Per gestire il server da ora in poi, utilizzare il comando radio con le seguenti opzioni.
$ radio start_daemon## Starts SHOUTcast server as a daemon$ radio start ## Starts SHOUTcast server in foreground$ radio stop ## Stops SHOUTcast server
14. Se si desidera avviare automaticamente il server dopo il riavvio, ma solo al login utente (in questo caso il server è stato installato sull’utente locale denominato radio) emettere il seguente comando dal percorso home account radio, quindi disconnettersi e accedere di nuovo per verificare la funzionalità, come presentato nello screenshot qui sotto.
$ whoami $ echo "radio start_daemon" >> ~/.bashrc
Il gioco è fatto! Ora, il server SHOUTcast è pronto a ricevere audio o playlist da lettori multimediali remoti come Winamp da Windows e Mixxx da Linux e trasmettere tutti i contenuti audio ricevuti su Internet.