Home > Uncategorized > How to Create an Internet Radio Station

How to Create an Internet Radio Station

This tutorial will help you set up an Internet Radio station on your server. You can create the content and then provide it for your listeners. The example uses an Ubuntu server for the set up.

Step #1: Download the Shoutcast Server (latest version):


Copy it to the /usr directory and create a folder called shout:

sudo cp sc_serv_1.9.8_Linux.tar.gz

sudo mkdir shout

cd /usr/shout

tar zxvf sc_serv_1.9.8_Linux.tar.gz

chmod 755 sc_serv

Edit the config File:
vim sc_serv.conf

Be sure you document your password for the furture.

Start the Server:


You should see that it is running.

Step #2: Create a way to feed Music Into the Server
This will use ices0.4 so you will be able to use mp3s.


Save the file to the /usr directory.

tar -zxvf ices-0.4.tar.gz

This will create a folder called ices-0.4. Move into this folder.

cd ices-0.4

Make sure your /etc/apt/sources.lst has these sources as you will need them to download the files you need. Use all of the usual sources but be sure these three are included so you can draw from them.

backports main restricted universe multiverse
free non-free

sudo apt-get update

sudo apt-get install libshout3 libshout3-dev liblame-dev libxml-dev

Make sure you have a compiler.

sudo apt-get install gcc g++ make

Compile ices
Move into the directory that you created.

cd /usr/ices-0.4

./configure –with-lame

If you do not have errors then continue, if you do have errors then download the needed dependencies.


sudo make install

Step #3: Create a mp3 Directory
You can create the directory anywhere but one good location might be /mp3.

sudo mkdir /mp3

Copy your mp3s into that location.

find /mp3 -type f -name “*.mp3” > /mp3/playlist.txt

Now edit your config file for ices.

sudo vim /usr/local/etc/ices.conf.dist

Change the Playlist to /mp3

Change the Hostname

Change the Password

Change Protocol to icy

ices -c /usr/local/etc/ices.conf.dist

Typically the port to connect to the radio station is port 8000 but you can change that in the config.

  1. Marco
    August 16, 2008 at 11:24 am

    After “cd /usr/ices-0.4

    ./configure –with-lame”

    I get the following result:

    checking for C compiler default output file name… a.out
    checking whether the C compiler works… yes
    checking whether we are cross compiling… no
    checking for suffix of executables…
    checking for suffix of object files… o
    checking whether we are using the GNU C compiler… yes
    checking whether gcc accepts -g… yes
    checking for gcc option to accept ANSI C… none needed
    checking for a BSD-compatible install… /usr/bin/install -c
    checking whether make sets $(MAKE)… yes
    checking build system type… Invalid configuration `–with-lame’: machine `–with’ not recognized
    configure: error: /bin/bash ./config.sub –with-lame failed

    I am not sure what to do now. Any help would be greatly appreciated.

  2. Marco
    August 16, 2008 at 11:26 am

    Oeps, seem to have lost the first few lines:

    marco@marco-desktop:~$ cd /usr/ices-0.4/
    marco@marco-desktop:/usr/ices-0.4$ ./configure –with-lame
    configure: WARNING: you should use –build, –host, –target
    configure: WARNING: invalid host type: –with-lame
    checking for –with-lame-gcc… no
    checking for gcc… gcc
    checking for C compiler default output file name… a.out

  3. November 2, 2008 at 5:05 pm

    I am currently broadcasting at http://www.pirateradionetwork.com with Windows XP on the radio destiny broadcaster. It works great but I hate Windows. I have Ubuntu 8.2 now on an extra hard drive. Do I need my own server and the Sam2 broadcaster to use shoutcast or icecast? I can always get these programs for free from Ares file sharing. Most important, is this buffering audio or a webstream? I have webstream now, its great. I hope a windows emulator will work on Ubuntu for my clipstream broacast.

  4. actimel
    November 28, 2008 at 7:41 am

    I dont understand why need shoutcast?

  5. dovnix
    September 9, 2009 at 11:57 pm

    nice ,
    I did this several years ago on my own with ices0 and icecaster streaming .ogg , and has been streaming audio over ip as an
    “STL” -> (Station To Transmitter Link)
    for my leagal FM RADIO Station KTRT 97.5 in Winthrop WA,
    running rivendell radio station automation system
    on ubuntu ,,,(what was suse 10)
    now ubuntu 8.04,
    lots of work,
    but it runs great and saves me thousands upon thousands
    we now have 4 terabytes of audio

    i need to update the streamer to somthing that will do mp3 streames soon and put it on a public access server , i am thinking to use fluendo streaming server, i guess its just a plugin to gstreamer in ubuntu

  6. bob
    January 18, 2010 at 8:07 pm

    i got this error when i run ./configure -with-lame

    checking for pkg-config… /usr/local/bin/pkg-config
    configure: /usr/local/bin/pkg-config couldn’t find libshout. Try adjusting PKG_CONFIG_PATH.
    checking for shout-config… no
    configure: error: Could not find a usable libshout

  7. Kaan
    February 21, 2010 at 9:04 am

    Guys, how other people can connect to my radio via internet???
    I didn’t understand that part.

  8. Founasse
    October 23, 2010 at 8:07 pm

    Très simple tu leur donne ton ip (ip du serveur) et ensuite ils ouvrent lecteur windows média ou vlc ou winamp après il clique sur ouvrir url et là ils mettent l’ip du serveur tout simplement.

  9. lunex
    March 31, 2011 at 8:19 pm

    Hi, what links must i set in source.list?

    because when i use sudo apt-get install libshout3 libshout3-dev liblame-dev libxml-dev
    it says that the files not found in list..
    sry for my bad english.. pls help me!

  10. Ron Hyatt
    September 25, 2011 at 12:49 am

    Better off with something like ustream.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: