CentovaCast

How to Install Icecast-KH on a Centova Cast Server

Build the latest Icecast-KH (kh22) from source on Debian or Ubuntu and switch Centova Cast v3 to it with one command. Includes how to check and roll back.

Icecast is a free streaming server for internet radio. Icecast-KH is a popular version of it, maintained by Karl Heyes, with extra features and fixes that many radio hosts prefer. Centova Cast can install the standard Icecast for you, but not Icecast-KH. This guide shows how to build Icecast-KH yourself on a Debian or Ubuntu server and tell Centova Cast to use it.

Quick answer

  1. Install the build tools and libraries with apt.
  2. Download Icecast-KH kh22, then run ./configure, make and make install.
  3. Register it with Centova Cast: /usr/local/centovacast/sbin/enable_package ICECAST /usr/local/bin/icecast.
  4. Restart each Icecast stream in Centova Cast so it starts using the new version.

What you need: root SSH access to the Centova Cast server (Debian or Ubuntu), and about 10 minutes. Streams keep running during the build; each one only stops briefly when you restart it at the end.

1. Install the build tools

Update the server, then install the compiler and the libraries Icecast-KH needs:

apt update && apt upgrade -y
apt install -y build-essential pkg-config libxml2-dev libxslt1-dev libogg-dev libvorbis-dev libssl-dev libcurl4-openssl-dev

libcurl4-openssl-dev matters: without it, Icecast-KH still builds but cannot list your stations in public directories. libssl-dev adds HTTPS support.

2. Download Icecast-KH

The latest release is icecast-2.4.0-kh22. Icecast-KH releases

cd /usr/local/src
wget https://github.com/karlheyes/icecast-kh/archive/refs/tags/icecast-2.4.0-kh22.tar.gz
tar -xzf icecast-2.4.0-kh22.tar.gz
cd icecast-kh-icecast-2.4.0-kh22

The folder name starts with icecast-kh- because that is how GitHub names unpacked release archives.

3. Build and install

./configure
make
make install

./configure checks that everything from step 1 is present. Near the end of its output, look for curl and SSL being found. If it stops with an error, the message names the missing library; install its -dev package and run ./configure again.

make install puts the program at /usr/local/bin/icecast. Check it:

/usr/local/bin/icecast -v

The version it prints should include 2.4.0-kh22.

4. Switch Centova Cast to Icecast-KH

Tell Centova Cast to use the new program. This is Centova's documented command for software you have built yourself: Centova Cast manual

/usr/local/centovacast/sbin/enable_package ICECAST /usr/local/bin/icecast

Centova Cast now uses Icecast-KH for every Icecast station on this server. Stations that are already running keep the old version until they restart: in Centova Cast, stop and start each Icecast stream, or restart them all from the admin area at a quiet time.

To confirm a stream runs the new version, open its status page (http://your-server:port/): the server version shown at the bottom should include kh22.

Updating later

When a new Icecast-KH release comes out, repeat steps 2 and 3 with the new version number, then restart the streams. You do not need to run enable_package again, because the program stays at /usr/local/bin/icecast.

Going back to the standard Icecast

If you need to return to the Icecast that Centova Cast installs itself, run Centova's installer for it:

/usr/local/centovacast/sbin/update --add icecast

Then restart the Icecast streams again. Centova Cast manual

Sources

  1. Icecast-KH releases on GitHub
  2. Centova Cast manual: Adding Additional Software

Written by Tharanga. Commands and procedures depend on your system and software version.

How we approach technical guides →
FOLLOW THE THREAD

Keep exploring

All guides
Linux1 min read

How to Check Disk Space in Linux

See how much disk space is free on a Linux server and find the folders using the most space, with two beginner-friendly commands: df and du.