Sådan installeres SHOUTCast Radio Server (Online Media Streaming) på Linux


SHOUTcast er proprietær software, der bruges til at streame medier over Internettet, især brugt i live streaming af musik fra radiostationer på Internettet, og er udviklet af Nullsoft med versioner til alle større platforme, inklusive Linux.

Denne vejledning guider dig om, hvordan du kan installere SHOUTcast Distribueret netværkslydserver i CentOS 8, ved hjælp af hvilken du kan bruge medieafspillere som Winamp eller Mixxx til at oprette forbindelse til streamingtjenesterne og udsende dine lydafspilningslister til internetlyttere.

Selvom denne tutorial kun dækker SHOUTcast serverinstallation på en CentOS 8/7-maskine, kan den samme procedure anvendes til andre Linux-distributioner som RHEL, Fedora, Ubuntu, Debian, Linux Mint osv. Med bemærke, at du skal tilpasse firewall-kommandoer, så de passer til din Linux-distribution.

Trin 1: Download og installer SHOUTcast Server

1. Inden du fortsætter med installationen af SHOUTcast-serveren, skal du oprette en lokal bruger, hvorfra du kører serveren, fordi kørsel af serveren fra rodkontoen kan påføre dit system alvorlige sikkerhedsproblemer.

Log ind på dit system med rodkontoen, opret en ny bruger, kaldet radio , når du er færdig, log ud af rodkontoen, og log derefter ind med din nyoprettede bruger. Her er følgende krævede kommandoer, der skal udføres på terminalen.

# adduser radio
# passwd radio
# su - radio
$ pwd 

2. Når du er logget ind på dit system med radiokontoen, skal du oprette to mapper med navnet download og server og derefter skifte til downloadmappen.

$ mkdir download
$ mkdir server
# cd download

3. Grib derefter den sidste version af SHOUTcast-serverarkivet til Linux afhængigt af din systemarkitektur ved at besøge den officielle Nullsot Download-side.

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

Alternativt kan du bruge følgende wget-værktøj til at downloade arkivet fra kommandolinjen.

--------------- 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. Efter downloadet er udtaget, skal du udpakke arkivfilen, angive en mappe, der skal finde den sc_serv eksekverbare binære fil, og kopiere den til installationsmappen, der ligger i mappen server , flyt derefter til SHOUTcast installationsstien ved at udstede følgende kommandoer.

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

5. Nu hvor du er placeret i serverinstallationsstien, skal du oprette to mapper med navnet kontrol og logfiler , og du er færdig med den aktuelle installationsproces. Skriv dit biblioteksindhold for at kontrollere, om alt er på plads ved hjælp af kommandoen ls.

$ mkdir control
$ mkdir logs
$ ls

Trin 2: Opret en SHOUTcast-konfigurationsfil

6. For at køre og betjene serveren skal du oprette en konfigurationsfil til SHOUTcast. Åbn din foretrukne teksteditor, og opret en ny fil, der hedder sc_serv.conf .

Sørg for, at denne fil oprettes i samme sti som dine sc_serv e eksekverbare binære filer oprettes. Brug af pwd-kommandoen skal vise dig denne absolutte sti - /hjem/radio/server ).

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

Føj følgende udsagn til filen sc_serv.conf (eksempelkonfiguration).

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

Nogle vigtige indstillinger, som du skal være opmærksom på denne fil, er adgangskode udsagn, som du skal ændre i overensstemmelse hermed:

  • adminpassword - Admin-adgangskode kræves for at udføre fjernadministration via webgrænsefladen til serveren.
  • streampassword_1 - Adgangskode kræves af den eksterne medieafspiller for at oprette forbindelse og streame medieindhold til serveren.

Alternativt, hvis du vil oprette en konfigurationsfil til SHOUTcast-serveren, kan du gå til download -mappen og køre builder.sh eller setup.sh scripts.

$ cd ../download/
$ bash setup.sh

som giver dig mulighed for at konfigurere serveren fra en webgrænseflade, der er tilgængelig fra følgende adresse.

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

Når konfigurationen er oprettet, kan du kopiere den til serverinstallationsmappen.

7. For at starte serveren skal du udføre sc_serv filen fra din nuværende arbejdsmappe, som skal være server -mappen, skal du lægge den på baggrund med & bash-operatør, og diriger din browser til http:/localhost-or-IP: 8000 URL.

Brug også kommandoen netstat til at se, om serveren kører, og hvilke portnumre den lytter til.

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

Trin 3: Åbn Firewall-forbindelser

8. Nu er SHOUTcast-serveren i gang, men den kan ikke tilgås endnu fra omverdenen på grund af CentOS Firewall-begrænsninger. For at åbne serveren for eksterne forbindelser skal du logge ind med root-konto og tilføje den regel, der åbner port 8000 TCP.

Når reglen er tilføjet, skal du genindlæse Firewall for at anvende ændringer og logge ud fra din rodkonto.

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

9. Åbn derefter en browser fra en ekstern maskine, og skriv din server IP-adresse på port 8000 på URL gemt - http://192.168.1.80:8000 - og SHOUTcast-webgrænsefladen skal se ud som i skærmbillede nedenfor uden tilgængelige live streams.

Trin 4: Administrer SHOUTcast Server og Opret Daemon-script

10. Den kommando, der bruges til at styre SHOUTcast-radioserveren, er selve den binære fil, som skal køres fra dens installationssti-placering for at være
i stand til at læse konfigurationsfilen. At køre serveren som en dæmon ved hjælp af kommandomuligheden dæmon .

Du kan også instruere serveren om at læse dens konfigurationer fra et andet sted ved at angive, hvor konfigurationsfilen findes, men vær opmærksom på, at brug af denne mulighed kræver oprettelse af logfiler og kontrolmapper, hvilket i praksis kan være forvirrende og kan føre til serverens manglende evne at begynde.

$ 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. Hvis du har brug for en forenklet kommando til at starte eller stoppe SHOUTcast-radioserver, skal du logge ind som root igen og oprette følgende eksekverbare script på /usr/local/bin/ sti som i eksemplet nedenfor.

$ su -
# vi /usr/local/bin/radio

Føj nu følgende uddrag til radio -filen.

#!/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. Når filen er oprettet, skal du gøre den eksekverbar, afslutte root-konto, og en ny kommandoprop være tilgængelig til din SHOUTcast-radioserveradministration.

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

13. For at administrere serveren fra nu af skal du bruge kommandoen radio med følgende kontakter.

$ radio start_daemon		## Starts SHOUTcast server as a daemon

$ radio start                   ## Starts SHOUTcast server in foreground

$ radio stop                    ## Stops SHOUTcast server

14. Hvis du automatisk vil starte serveren efter genstart, men kun ved brugerlogin (i dette tilfælde blev serveren installeret på den lokale bruger ved navn radio ), skal du udstede følgende kommando fra startkoden til radiokontoen, log derefter ud og log ind igen for at kontrollere funktionaliteten, som vist i skærmbilledet nedenfor.

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

Det er det! Nu er SHOUTcast-serveren klar til at modtage lyd eller afspilningslister fra eksterne medieafspillere som Winamp fra Windows og Mixxx fra Linux og udsende alt det modtagne lydindhold over Internettet.