ค้นหาเว็บไซต์

วิธีติดตั้งเซิร์ฟเวอร์วิทยุ SHOUTCast (สตรีมมิ่งสื่อออนไลน์) บน Linux


SHOUTcast เป็นซอฟต์แวร์ลิขสิทธิ์เฉพาะที่ใช้ในการสตรีมสื่อผ่านอินเทอร์เน็ต โดยเฉพาะอย่างยิ่งใช้ในการสตรีมเพลงสดโดยสถานีวิทยุบนอินเทอร์เน็ต และได้รับการพัฒนาโดย Nullsoft พร้อมเวอร์ชันสำหรับแพลตฟอร์มหลักทั้งหมด รวมถึง Linux

บทช่วยสอนนี้จะแนะนำคุณเกี่ยวกับวิธีการติดตั้ง SHOUTcast Distributed Network Audio Server ใน CentOS 8 ด้วยความช่วยเหลือซึ่งคุณสามารถใช้โปรแกรมเล่นสื่อ เช่น Winamp หรือ Mixxx เพื่อเชื่อมต่อกับบริการสตรีมมิ่งและเผยแพร่รายการเพลงของคุณไปยังผู้ฟังทางอินเทอร์เน็ต

แม้ว่าบทช่วยสอนนี้จะครอบคลุมเฉพาะการติดตั้งเซิร์ฟเวอร์ SHOUTcast บนเครื่อง CentOS 8/7 เท่านั้น แต่ขั้นตอนเดียวกันนี้สามารถนำไปใช้กับการกระจาย Linux อื่นๆ เช่น RHEL , Fedora, Ubuntu, Debian, Linux Mint ฯลฯ โดยมีข้อสังเกตว่าคุณต้องปรับคำสั่งไฟร์วอลล์ให้เข้ากับ เหมาะสมกับการกระจาย Linux ของคุณ

ขั้นตอนที่ 1: ดาวน์โหลดและติดตั้งเซิร์ฟเวอร์ SHOUTcast

1. ก่อนที่จะดำเนินการติดตั้งเซิร์ฟเวอร์ SHOUTcast ให้สร้างผู้ใช้ภายในที่คุณจะเรียกใช้เซิร์ฟเวอร์เนื่องจากการเรียกใช้เซิร์ฟเวอร์จากบัญชีรูทอาจทำให้เกิดปัญหาด้านความปลอดภัยที่ร้ายแรง บนระบบของคุณ

ดังนั้น เข้าสู่ระบบของคุณด้วยบัญชีรูท สร้างผู้ใช้ใหม่ที่เรียกว่า วิทยุ หลังจากที่คุณออกจากระบบบัญชีรูทเสร็จแล้ว จากนั้นเข้าสู่ระบบด้วยผู้ใช้ที่สร้างขึ้นใหม่ ต่อไปนี้เป็นคำสั่งที่จำเป็นซึ่งจำเป็นต้องดำเนินการบนเทอร์มินัล

adduser radio
passwd radio
su - radio
pwd 

2. เมื่อเข้าสู่ระบบด้วยบัญชีวิทยุแล้ว ให้สร้างไดเรกทอรีสองชื่อ ดาวน์โหลด และ เซิร์ฟเวอร์ จากนั้นสลับไปที่โฟลเดอร์ดาวน์โหลด

mkdir download
mkdir server
cd download

3. จากนั้น เลือกเวอร์ชันล่าสุดของไฟล์เซิร์ฟเวอร์ SHOUTcast สำหรับ Linux โดยไปที่หน้าดาวน์โหลด Nullsot อย่างเป็นทางการ โดยขึ้นอยู่กับสถาปัตยกรรมระบบของคุณ

  1. 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 และคัดลอกไปยังไดเร็กทอรีการติดตั้งซึ่งอยู่ใน เซิร์ฟเวอร์ จากนั้นย้ายไปยังเส้นทางการติดตั้ง 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

การตั้งค่าสำคัญบางประการที่คุณควรทราบสำหรับไฟล์นี้คือคำสั่ง รหัสผ่าน ซึ่งคุณต้องเปลี่ยนตาม:

  • รหัสผ่านผู้ดูแลระบบ – รหัสผ่านผู้ดูแลระบบที่จำเป็นในการดำเนินการดูแลระบบระยะไกลผ่านทางเว็บอินเตอร์เฟสไปยังเซิร์ฟเวอร์
  • streampassword_1 – รหัสผ่านที่เครื่องเล่นสื่อระยะไกลต้องการเพื่อเชื่อมต่อและสตรีมเนื้อหาสื่อไปยังเซิร์ฟเวอร์

หรืออีกทางหนึ่ง หากคุณต้องการสร้างไฟล์การกำหนดค่าสำหรับเซิร์ฟเวอร์ SHOUTcast คุณสามารถไปที่ไดเรกทอรี ดาวน์โหลด และเรียกใช้ builder.sh หรือ setup.sh สคริปต์

cd ../download/
bash setup.sh

ซึ่งจะช่วยให้คุณสามารถกำหนดค่าเซิร์ฟเวอร์จากเว็บอินเตอร์เฟสที่สามารถเข้าถึงได้จากที่อยู่ต่อไปนี้

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

เมื่อสร้างการกำหนดค่าแล้ว คุณสามารถคัดลอกไปยังไดเร็กทอรีการติดตั้งเซิร์ฟเวอร์ได้

7. ในการเริ่มต้นเซิร์ฟเวอร์ ให้รันไฟล์ sc_serv จากไดเร็กทอรีการทำงานปัจจุบันของคุณ ซึ่งต้องเป็นไดเร็กทอรี เซิร์ฟเวอร์ ให้วางไว้บนพื้นหลังด้วย & bash Operator และนำเบราว์เซอร์ของคุณไปที่ http://localhost-or-IP:8000 URL

นอกจากนี้ ให้ใช้คำสั่ง netstat เพื่อดูว่าเซิร์ฟเวอร์กำลังทำงานอยู่หรือไม่ และเซิร์ฟเวอร์รับฟังหมายเลขพอร์ตใด

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

ขั้นตอนที่ 3: เปิดการเชื่อมต่อไฟร์วอลล์

8. ขณะนี้เซิร์ฟเวอร์ SHOUTcast เปิดใช้งานแล้ว แต่ยังสามารถเข้าถึงได้จากภายนอกเนื่องจากข้อจำกัดของไฟร์วอลล์ CentOS หากต้องการเปิดเซิร์ฟเวอร์เพื่อเชื่อมต่อภายนอกให้เข้าสู่ระบบด้วยบัญชีรูทและเพิ่มกฎที่จะเปิดพอร์ต 8000 TCP

หลังจากเพิ่มกฎแล้ว ให้โหลดไฟร์วอลล์ใหม่เพื่อใช้การเปลี่ยนแปลงและออกจากระบบจากบัญชีรูทของคุณ

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 และสร้างสคริปต์ Daemon

10. คำสั่งที่ใช้จัดการเซิร์ฟเวอร์วิทยุ SHOUTcast คือไฟล์ไบนารีซึ่งจะต้องเรียกใช้จากตำแหน่งเส้นทางการติดตั้งเพื่อที่จะ
สามารถอ่านไฟล์การกำหนดค่าได้ เพื่อรันเซิร์ฟเวอร์เป็น daemon โดยใช้ตัวเลือกคำสั่ง 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 ให้เข้าสู่ระบบในฐานะรูทอีกครั้งและสร้างสคริปต์ปฏิบัติการต่อไปนี้บนเส้นทาง /usr/local/bin/ ดังตัวอย่างด้านล่าง

su -
vi /usr/local/bin/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. หลังจากสร้างไฟล์แล้ว ทำให้สามารถเรียกใช้งานได้ ออกจากบัญชีรูท และคำสั่งใหม่ตะโกนให้พร้อมใช้งานสำหรับการจัดการเซิร์ฟเวอร์วิทยุ SHOUTcast ของคุณ

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

13. ในการจัดการเซิร์ฟเวอร์ต่อจากนี้ไป ให้ใช้คำสั่ง วิทยุ กับสวิตช์ต่อไปนี้

radio start_daemon		## Starts SHOUTcast server as a daemon

radio start                   ## Starts SHOUTcast server in foreground

radio stop                    ## Stops SHOUTcast server

14. หากคุณต้องการสตาร์ทเซิร์ฟเวอร์โดยอัตโนมัติหลังจากรีบูต แต่เฉพาะเมื่อเข้าสู่ระบบของผู้ใช้เท่านั้น (ในกรณีนี้ เซิร์ฟเวอร์ได้รับการติดตั้งบนผู้ใช้ภายในที่ชื่อ วิทยุ) ให้ทำดังนี้ คำสั่งจากโฮมพาธของบัญชีวิทยุ จากนั้นออกจากระบบและเข้าสู่ระบบอีกครั้งเพื่อตรวจสอบการทำงาน ดังที่แสดงในภาพหน้าจอด้านล่าง

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

แค่นั้นแหละ! ขณะนี้ เซิร์ฟเวอร์ SHOUTcast พร้อมที่จะรับเสียงหรือเพลย์ลิสต์จากเครื่องเล่นสื่อระยะไกล เช่น Winamp จาก Windows และ Mixxx จาก Linux และเผยแพร่เนื้อหาเสียงที่ได้รับทั้งหมดผ่านทางอินเทอร์เน็ต