Kako instalirati SHOUTCast Radio Server (Online Media Streaming) na Linux


SHOUTcast je vlasnički softver koji se koristi za striming medija preko Interneta, a posebno se koristi za prijenos muzike uživo na radio stanicama na Internetu, a razvio ga je Nullsoft sa verzijama za sve glavne platforme, uključujući Linux.

Ovaj vodič će vas uputiti kako možete instalirati SHOUTcast Distributed Network Audio Server u CentOS 8, uz pomoć kojeg možete koristiti media playere, kao što je Winamp ili Mixxx da se povežete na usluge striminga i emitujete svoje audio liste za reprodukciju internet slušaocima.

Iako ovaj vodič pokriva samo instalaciju SHOUTcast servera na CentOS 8/7 mašini, isti postupak se može primijeniti na druge Linux distribucije kao što je RHEL , Fedora, Ubuntu, Debian, Linux Mint, itd. s napomenom da morate prilagoditi naredbe zaštitnog zida da odgovara vašoj Linux distribuciji.

Korak 1: Preuzmite i instalirajte SHOUTcast Server

1. Prije nego što nastavite s instalacijom SHOUTcast servera, kreirajte lokalnog korisnika od kojeg ćete pokrenuti server jer pokretanje servera sa root naloga može nametnuti ozbiljne sigurnosne probleme na vašem sistemu.

Dakle, prijavite se na svoj sistem sa root nalogom, kreirajte novog korisnika pod nazivom radio, nakon što završite, odjavite se sa root naloga, a zatim se prijavite sa svojim novokreiranim korisnikom. Evo sljedećih potrebnih naredbi koje treba izvršiti na terminalu.

adduser radio
passwd radio
su - radio
pwd 

2. Nakon što se prijavite na svoj sistem sa radio računom, kreirajte dva direktorija pod nazivom download i server, a zatim se prebacite na folder za preuzimanje.

mkdir download
mkdir server
cd download

3. Zatim preuzmite posljednju verziju arhive SHOUTcast servera za Linux, ovisno o arhitekturi vašeg sistema, posjetom službenoj stranici za preuzimanje Nullsot.

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

Alternativno, koristite sljedeći wget uslužni program da preuzmete arhivu sa komandne linije.

--------------- 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. Nakon što se preuzimanje završi, raspakirajte arhivsku datoteku, navedite direktorij za lociranje sc_serv izvršne binarne datoteke i kopirajte je u instalacijski direktorij, koji se nalazi u >server folder, a zatim prijeđite na SHOUTcast instalacijsku putanju, izdavanjem sljedećih naredbi.

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

5. Sada kada ste locirani na stazi instalacije servera, kreirajte dva direktorija pod nazivom control i logs i završili ste sa stvarnom instalacijom proces. Navedite sadržaj svog direktorija kako biste provjerili da li je sve na svom mjestu pomoću naredbe ls.

mkdir control
mkdir logs
ls

Korak 2: Kreirajte SHOUTcast konfiguracijski fajl

6. Da biste pokrenuli i radili sa serverom, trebate kreirati konfiguracijski fajl za SHOUTcast. Otvorite svoj omiljeni uređivač teksta i kreirajte novi fajl pod nazivom sc_serv.conf.

Uvjerite se da je ova datoteka kreirana na istoj putanji na kojoj su kreirane vaše sc_serv e izvršne binarne datoteke. Korišćenje naredbe pwd bi trebalo da vam pokaže ovu apsolutnu putanju – /home/radio/server).

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

Dodajte sljedeće izjave u datoteku sc_serv.conf (primjer konfiguracije).

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

Neke važne postavke kojih biste trebali biti svjesni ove datoteke su izjave lozinke, koje morate u skladu s tim promijeniti:

  • adminpassword – Lozinka administratora potrebna za obavljanje udaljene administracije preko web interfejsa na server.
  • streampassword_1 – Lozinka potrebna udaljenom medijskom plejeru za povezivanje i strimovanje medijskog sadržaja na server.

Alternativno, ako želite kreirati konfiguracijsku datoteku za SHOUTcast server, možete otići u download direktorij i pokrenuti builder.sh ili setup.sh skripte.

cd ../download/
bash setup.sh

koji će vam omogućiti da konfigurišete server sa web interfejsa kojem se može pristupiti sa sledeće adrese.

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

Nakon što je konfiguracija kreirana, možete je kopirati u instalacijski direktorij poslužitelja.

7. Da pokrenete server, izvršite sc_serv datoteku iz vašeg trenutnog radnog direktorija, koji mora biti server direktorij, stavite ga u pozadinu sa & bash operator i usmjerite svoj pretraživač na http://localhost-or-IP:8000 URL.

Takođe, koristite netstat komandu da vidite da li server radi i na kojim brojevima portova sluša.

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

Korak 3: Otvorite Firewall Connections

8. Sada je SHOUTcast server pokrenut i radi, ali mu se još ne može pristupiti iz vanjskog svijeta zbog ograničenja CentOS Firewall-a. Da otvorite server za eksterne veze, prijavite se sa root nalogom i dodajte pravilo koje će otvoriti port 8000 TCP.

Nakon što je pravilo dodano, ponovo učitajte zaštitni zid da biste primijenili promjene i odjavili se sa vašeg root naloga.

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

9. Zatim otvorite pretraživač sa udaljene mašine i ukucajte IP adresu vašeg servera na portu 8000 na URL fajlu – http://192.168.1.80:8000 – i SHOUTcast web interfejs bi trebao izgledati kao na slici ispod, bez dostupnih prijenosa uživo.

Korak 4: Upravljajte SHOUTcast serverom i kreirajte Daemon skriptu

10. Komanda koja se koristi za upravljanje SHOUTcast radio serverom je sam binarni fajl, koji se mora pokrenuti sa njegove lokacije na putu instalacije da bi bio
može čitati konfiguracijski fajl. Za pokretanje servera kao demona koristeći komandnu opciju daemon.

Također možete naložiti poslužitelju da čita svoje konfiguracije s druge lokacije navodeći gdje se nalazi konfiguracijski fajl, ali imajte na umu da korištenje ove opcije zahtijeva kreiranje dnevnika i kontrolnih direktorija, što može biti zbunjujuće u praksi i može dovesti do nesposobnosti servera početi.

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. Ako vam je potrebna pojednostavljena naredba za pokretanje ili zaustavljanje SHOUTcast radio servera, ponovo se prijavite kao root i kreirajte sljedeću izvršnu skriptu na /usr/local/bin/ stazi kao u primjeru ispod.

su -
vi /usr/local/bin/radio

Sada dodajte sljedeći izvod u radio datoteku.

#!/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. Nakon što je fajl kreiran, učinite ga izvršnim, izađite iz root naloga i nova komanda shout će biti dostupna za upravljanje vašim SHOUTcast radio serverom.

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

13. Za upravljanje serverom od sada, koristite radio komandu sa sljedećim prekidačima.

radio start_daemon		## Starts SHOUTcast server as a daemon

radio start                   ## Starts SHOUTcast server in foreground

radio stop                    ## Stops SHOUTcast server

14. Ako želite automatski pokrenuti server nakon ponovnog pokretanja, ali samo nakon prijave korisnika (u ovom slučaju server je instaliran na lokalnom korisniku pod imenom radio), izdajte sljedeće komandu sa početne putanje radio naloga, zatim se odjavite i ponovo prijavite da biste potvrdili funkcionalnost, kao što je prikazano na slici ispod.

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

To je to! Sada, SHOUTcast server je spreman za primanje zvuka ili plejlista sa udaljenih media playera kao što su Winamp iz Windows i Mixxx iz Linuxa i emitovati sav primljeni audio sadržaj preko Interneta.