Installer SHOUTCast serveur

On va installer SHOUTCast sur un serveur Ubuntu 16.04 afin de pouvoir faire un relai de streaming.

On va créer le répertoire qui va bien

mkdir /opt/shoutcast

On va dans le répertoire qui va bien

cd /opt/shoutcast

On récupère l’exécutable compilé pour linux x64 (d’autres versions sont disponibles pour ARM…)

wget wget http://download.nullsoft.com/shoutcast/tools/sc_serv2_linux_x64-latest.tar.gz

On extrait les données

tar xfz sc_serv2_linux_x64-latest.tar.gz

On va créer un fichier de configuration

nano /opt/shoutcast/server.conf

Avec comme paramètres

adminpassword=AAAAAA
password=BBBBBB
requirestreamconfigs=1
streamadminpassword_1=CCCCCC
streamid_1=1
streampassword_1=DDDDDD
streampath_1=http://_domain_or_IP_:8000
logfile=logs/sc_serv.log
w3clog=logs/sc_w3c.log
banfile=control/sc_serv.ban
ripfile=control/sc_serv.rip

Remplacez _domain_or_IP_ par ce qui va bien sur votre serveur. De même, changez le port par une donnée moins critique. Changez également les mots de passe.

On va créer un fichier de lancement automatique afin d’avoir un joli daemon

nano /etc/init.d/shoutcast.sh

On colle ceci

#!/bin/sh

### BEGIN INIT INFO
# Provides: shoutcast
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SHOUTCast daemon
# Description: SHOUTCast daemon
### END INIT INFO
 
DIR=/opt/shoutcast
DAEMON="/opt/shoutcast/sc_serv"
DAEMON_NAME=shoutcast
DAEMON_OPTS="daemon /opt/shoutcast/server.conf"
DAEMON_USER=root
 
# The process ID of the script when it runs is stored here:
PIDFILE=/var/run/$DAEMON_NAME.pid
 
. /lib/lsb/init-functions
 
do_start () {
  log_daemon_msg "Starting system $DAEMON_NAME daemon"
  $DAEMON $DAEMON_OPTS
  log_end_msg $?
}
do_stop () {
  log_daemon_msg "Stopping system $DAEMON_NAME daemon"
  killall sc_serv
  log_end_msg $?
}
 
case "$1" in
 
  start|stop)
    do_${1}
    ;;
 
  restart|reload|force-reload)
    do_stop
    do_start
    ;;
 
  status)
    status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $?
    ;;
 
  *)
    echo "Usage: /etc/init.d/$DAEMON_NAME {start|stop|restart|status}"
    exit 1
    ;;
 
esac
exit 0

On rend le script exécutable et on configure les options de démarrage

chmod +x /etc/init.d/shoutcast.sh
update-rc.d shoutcast.sh defaults

On lance notre daemon

/etc/init.d/shoutcast.sh start

Et voilà

Connectez vous à http://_domain_or_IP_:8000 pour voir vos flux. Utilisez un logiciel de streaming pour envoyer les flux à la même adresse (http://_domain_or_IP_:8000), le mot de passe à utiliser est celui indiqué pour streampassword_1