Icecast

  1. Download the latest version of Icecast:

    wget http://downloads.xiph.org/releases/icecast/icecast-2.4.3.tar.gz
    
  2. Untar and configure, make & install:

    tar xvf icecast-*.tar.gz && cd icecast-*
    ./configure --prefix=$HOME
    make && make install
    
  3. Edit the default configuration:

    nano ~/etc/icecast.xml
    
  4. In the authentication section, change all three passwords, and optionally the admin username:

    <authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>SOURCE PASSWORD</source-password>
        <!-- Relays log in with username 'relay' -->
        <relay-password>RELAY PASSWORD</relay-password>
    
        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user>
        <admin-password>ADMIN PASSWORD</admin-password>
    </authentication>
    
  5. Change your <hostname> to be either server.whatbox.ca or another domain you have CNAMEd to your server:

    <hostname>server.whatbox.ca</hostname>
    
  6. In the <listen-socket> section, tell Icecast to use port 31351 (this port has been randomly generated for you):

    <listen-socket>
        <port>31351</port>
    </listen-socket>
    
  7. Optionally, configure mount settings along these lines:

    <mount type="normal">
        <mount-name>/YOUR MOUNT NAME</mount-name>
        <password>YOUR PASSWORD</password>
        <fallback-mount>/FALLBACK MOUNT NAME</fallback-mount>
        <fallback-override>1</fallback-override>
        <fallback-when-full>0</fallback-when-full>
        <hidden>0</hidden>
    <charset>utf-8</charset>
    <stream-name>user's Cool Stream</stream-name>
    <stream-description>You can set this if you want to.</stream-description>
    <stream-url>http://whatbox.ca/</stream-url>
    <genre>Comedy</genre>
    <bitrate>192</bitrate>
    </mount>
    

    Further info on how to configure mounts is available at the Icecast website.

  8. Save the configuration file and quit your editor.

  9. Create Icecast's logging directory:

    mkdir -p ~/var/log/icecast
    
  10. Start Icecast (assuming ~/bin is in your PATH):

    icecast -b -c ~/etc/icecast.xml
    
  11. Optionally, add Icecast to your crontab so it starts on reboot:

    crontab -e
    

    Add the following line:

    @reboot /home/user/bin/icecast -b -c /home/user/etc/icecast.xml