Obtaining the Source

The most recent icecast1 release is version 1.3.12. Prior versions are not recommended due to security issues. Download the source code from the Icecast Project page: http://www.icecast.org/download.php. Other versions of icecast are located here as well.

This site contains only the source code version. A binary version of icecast-1.3.12 is available elsewhere through the provided links. There are many who provide RPM releases of icecast for use with such Linux distributions such as Red Hat, SUSE and Mandrake. Downloading and using these releases may work, but be aware that this older release may not work on the latest Linux distributions.

There are many adminstrators, however, who do not recommend the use of binary releases. Compile the source yourself; you will better understand the icecast dependencies, be able to view the source code and experience a sense of accomplishment. Also, you can add patches, tweaks and modifications to suit your own needs when compiling from scratch.

Installing from RPMs

Though RPM releases are no becoming harder to come by for this older release of icecast, there are still a few places on the Internet where you can download an icecast1 RPM. A copy is available on http://rpm.pbone.net/ for the SUSE release. Though it had been built for SuSE 8.x it installed on my SUSE 9.3 Professional machine with no problem.

If you do decide to install icecast1 using RPMs, the standard format is to install all configuration files in the /etc/icecast directory while placing all templates and HTML files in /usr/share/icecast/templates. The binary is placed in /usr/sbin/ and is labeled icecast. Use the standard rpm command to install the binary:

# ls
icecast-1.3.12-114.i586.rpm
# rpm -ivh icecast-1.3.12-114.i586.rpm
Preparing...             ########################################### [100%]
   1:icecast             ########################################### [100%]

Edit the icecast.conf file to your specifications. A sample configuration file is provided in the next section for demonstration purposes.

Compiling the Code

If you decide instead to use the recommended method of installing icecast by compiling the code from source, download the compressed icecast source to a standard location. For ease and standardization in compiling use something akin to the /usr/local/src directory. Uncompress the source code and use the standard compilation and installation commands:

# gunzip -c icecast-1.3.12.tar.gz | tar xvf -
# cd icecast-1.3.12/
# ./configure && make && make install

By default, icecast installs all binaries and configuration files to the /usr/local/icecast directory. The configuration options available using the commands ./configure --help assist in modifying default parameters. Enable the options --with-libwrap and --with-crypt when configuring for added security. This latter option is enabled to prevent blatant password sniffing.

Default Settings

Modify the basic configuration included with the icecast installation. The icecast.conf file located in the /usr/local/icecast/conf directory is well commented and should be no problem when customizing to suit. If you decide to use the --with-crypt option, encrypt your plain-text password using the mkpasswd command and place the encrypted text in the password fields of the configuration file. If security is not an issue, or if you simply do not care, use plain-text passwords.

Never run icecast server 1.3.x as the root user. Instead, create a generic user such as "iceuser" or "icecast" and define the directory /usr/local/icecast as the default. When dealing with icecast version 1.3.x, I typically create an "icecast" user as follows:

# useradd -d /usr/local/icecast icecast
# chown -R icecast.icecast /usr/local/icecast
# su - icecast