1. Download the latest version of Icecast:

  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:

        <!-- 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-password>ADMIN PASSWORD</admin-password>
  5. Change your <hostname> to be either or another domain you have CNAMEd to your server:

  6. In the <listen-socket> section, tell Icecast to use port 30178 (this port has been randomly generated for you):

  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>
    <stream-name>user's Cool Stream</stream-name>
    <stream-description>You can set this if you want to.</stream-description>

    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