【Icecast】別ポートでIcecastサーバーを複数起動する
Icecastを複数起動して、管理画面も別のアドレスで参照したかったので設定したメモ。
icecastのインストールの仕方は前の記事を参考に。以下は既にicecastのコンパイルとインストールが終わっている前提。
ポート8001用のicecastにする場合は次のようにする。
プログラムをコピーする    
# cp /usr/local/bin/icecast /usr/local/bin/icecast8001
起動スクリプトをicecast8001用に書き換える
#!/bin/sh
#
# icecast      This shell script takes care of starting and stopping
#              the icecast multimedia streaming systen.
#
# chkconfig: - 85 15
# description: icecast is a multimedia streaming daemon. It is used to \
#              relay and offer multimedia streaming content.
# processname: icecast
# pidfile: /var/run/icecast/icecast.pid
DAEMON=/usr/local/bin/icecast8001
CONFIGFILE="/usr/local/etc/icecast8001.xml"
LOCKFILE="/var/lock/subsys/icecast8001"
PIDNAME=icecast8001
# Source function library.
. /etc/rc.d/init.d/functions
[ -x $DAEMON ] || exit 0
# See how we were called.
case "$1" in
  start)
	# Start daemon.
	echo -n $"Starting $PIDNAME streaming daemon: "
	daemon "$DAEMON -b -c $CONFIGFILE > /dev/null"
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch $LOCKFILE
	;;
  stop)
	# Stop daemon.
	echo -n $"Shutting down $PIDNAME streaming daemon: "
	killproc $PIDNAME
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
	;;
  status)
	status $PIDNAME
	RETVAL=$?
	;;
  restart)
	$0 stop
	$0 start
	;;
  reload)
	echo -n $"Reloading $PIDNAME: "
	killproc $PIDNAME -HUP
	RETVAL=$?
	echo
	;;
  condrestart)
        [ -f $LOCKFILE ] && restart || :
        ;;
  *)
	echo $"Usage: $0 {start|stop|status|restart|reload}"
	RETVAL=1
	;;
esac
exit $RETVAL
このファイルを/etc/rc.d/init.d/に保存する。
設定ファイルをコピーして8001用に編集する
# cp /usr/local/etc/icecast.xml /usr/local/etc/icecast8001.xml 
  
# vi /usr/local/etc/icecast8001.xml
    <listen-socket>
        <port>8001</port>
    </listen-socket>
    <paths>
        <webroot>/usr/local/share/icecast8001/web</webroot>
        <adminroot>/usr/local/share/icecast8001/admin</adminroot>
    </paths>
    <logging>
        <accesslog>access8001.log</accesslog>
        <errorlog>error8001.log</errorlog>
    </logging>管理画面用のXSLTファイルをコピーする。 
  
# cp /usr/local/share/icecast /usr/local/share/icecast8001
起動してみる。 
  
# /etc/rc.d/init.d/icecast8001 start
プロセスを確認してみる。 
  
# ps -A | grep icecast
8001のポートを空けるのを忘れずに。
<関連リンク>