웹사이트 검색

Linux에 SHOUTCast 라디오 서버(온라인 미디어 스트리밍)를 설치하는 방법


SHOUTcast는 인터넷을 통해 미디어를 스트리밍하는 데 사용되는 독점 소프트웨어로, 특히 인터넷 라디오 방송국의 음악 라이브 스트리밍에 사용되며 Linux를 포함한 모든 주요 플랫폼용 버전으로 Nullsoft에서 개발되었습니다.

이 튜토리얼에서는 Winamp와 같은 미디어 플레이어를 사용하여 CentOS 8SHOUTcast 분산 네트워크 오디오 서버를 설치하는 방법을 안내합니다. 또는 Mixxx를 사용하여 스트리밍 서비스에 연결하고 오디오 재생 목록을 인터넷 청취자에게 방송합니다.

이 튜토리얼에서는 CentOS 8/7 시스템의 SHOUTcast 서버 설치에 대해서만 다루지만 RHEL과 같은 다른 Linux 배포판에도 동일한 절차를 적용할 수 있습니다. , Fedora, Ubuntu, Debian, Linux Mint 등에는 방화벽 명령을 적용해야 한다는 설명이 있습니다. Linux 배포판에 적합합니다.

1단계: SHOUTcast 서버 다운로드 및 설치

1. SHOUTcast 서버 설치를 진행하기 전에 루트 계정에서 서버를 실행하면 심각한 보안 문제가 발생할 수 있으므로 서버를 실행할 로컬 사용자를 생성하세요. 귀하의 시스템에서.

따라서 루트 계정으로 시스템에 로그인하고, 루트 계정에서 로그아웃한 후 radio라는 새 사용자를 생성한 다음 새로 생성된 사용자로 로그인하세요. 터미널에서 실행해야 하는 필수 명령은 다음과 같습니다.

adduser radio
passwd radio
su - radio
pwd 

2. 라디오 계정으로 시스템에 로그인한 후 다운로드서버라는 두 개의 디렉터리를 만든 다음 다운로드 폴더로 전환합니다.

mkdir download
mkdir server
cd download

3. 다음으로 공식 Nullsot 다운로드 페이지를 방문하여 시스템 아키텍처에 따라 Linux용 SHOUTcast 서버 아카이브의 마지막 버전을 다운로드하세요.

  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 실행 바이너리 파일을 찾을 디렉터리를 나열한 다음 에 있는 설치 디렉터리에 복사합니다. >server 폴더에서 다음 명령을 실행하여 SHOUTcast 설치 경로로 이동하세요.

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

5. 이제 서버 설치 경로에 위치하므로 controllogs라는 두 개의 디렉터리를 생성하면 실제 설치가 완료됩니다. 프로세스. ls 명령을 사용하여 모든 것이 제자리에 있는지 확인하려면 디렉터리 내용을 나열하십시오.

mkdir control
mkdir logs
ls

2단계: SHOUTcast 구성 파일 생성

6. 서버를 실행하고 운영하기 위해서는 SHOUTcast에 대한 설정 파일을 생성해야 합니다. 즐겨 사용하는 텍스트 편집기를 열고 sc_serv.conf라는 새 파일을 만듭니다.

이 파일이 sc_serve 실행 바이너리 파일이 생성된 경로와 동일한 경로에 생성되었는지 확인하세요. 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

이 파일에 대해 알아야 할 몇 가지 중요한 설정은 비밀번호 문이며 이에 따라 변경해야 합니다.

  • adminpassword – 웹 인터페이스를 통해 서버에 대한 원격 관리를 수행하는 데 필요한 관리자 비밀번호입니다.
  • streampassword_1 – 미디어 콘텐츠를 서버에 연결하고 스트리밍하기 위해 원격 미디어 플레이어에 필요한 비밀번호입니다.

또는 SHOUTcast 서버에 대한 구성 파일을 생성하려면 download 디렉토리로 이동하여 builder.sh 또는 setup.sh를 실행할 수 있습니다. 스크립트.

cd ../download/
bash setup.sh

그러면 다음 주소에서 액세스할 수 있는 웹 인터페이스에서 서버를 구성할 수 있습니다.

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

구성이 생성되면 이를 서버 설치 디렉터리에 복사할 수 있습니다.

7. 서버를 시작하려면 현재 작업 디렉터리(서버 디렉터리여야 함)에서 파일을 sc_serv 실행하고 <를 사용하여 백그라운드에 둡니다.& bash 연산자를 사용하고 브라우저를 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. 그런 다음 원격 시스템에서 브라우저를 열고 URL 필드(http://192.168.1.80:8000)의 포트 8000에 서버 IP 주소를 입력하고 SHOUTcast를 입력합니다. 웹 인터페이스는 아래 스크린샷과 같이 나타나야 하며 라이브 스트림을 사용할 수 없습니다.

4단계: SHOUTcast 서버 관리 및 데몬 스크립트 생성

10. SHOUTcast 라디오 서버를 관리하는 데 사용되는 명령은 바이너리 파일 자체입니다.
구성 파일을 읽을 수 있습니다. 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 명령을 다음 스위치와 함께 사용하세요.

radio start_daemon		## Starts SHOUTcast server as a daemon

radio start                   ## Starts SHOUTcast server in foreground

radio stop                    ## Stops SHOUTcast server

14. 재부팅 후 서버를 자동으로 시작하고 싶지만 사용자 로그인 시에만(이 경우 서버는 radio라는 로컬 사용자에 설치됨) 다음을 실행하십시오. 라디오 계정 홈 경로에서 명령을 내린 다음 로그아웃했다가 다시 로그인하여 아래 스크린샷에 표시된 대로 기능을 확인하세요.

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

그게 다야! 이제 SHOUTcast 서버는 WindowsMixxxWinamp와 같은 원격 미디어 플레이어로부터 사운드나 재생 목록을 수신할 준비가 되었습니다. > Linux에서 수신한 모든 오디오 콘텐츠를 인터넷을 통해 방송합니다.