Setting Up Your Own Station: A Free Radio Under Linux HowTo

1. Introduction

So, you want to create your own radio station, don’t you? This manual will help you become a DJ.


2. System Requirements

Minimal requirements for radio broadcasting through your own computer, most of which you are already aware of:

  • 150 MHz processor, or better

  • 32 MB RAM

  • cable, DSL, or any other kind of broadband internet

and a little free hard disk space for mp3s (which you are going to play).



  • Some up-to-date Linux distribution, kernel 2.2 or newer.



If using Debian, you can also use:

apt-get install xmms icecast-server

to install xmms and Icecast server. According to LAME, you can use a program called Alien, to convert RPM pack into Debian pack. All you have to do is:

apt-get install alien

and then, as root:

alien package.rpm

to create .deb which you can install, using

dpkg –i

where the name of the Debian package is.


3. Installation

The installation should be rather right-minded. You already should have all packages you need, in order to make things work. If compiling from source, then you should compile and install the software as it is described in its documentation.

If using RedHat, or any of its relative ones you can search for RPM, and download and install it by

rpm –Uvh

where the name of the RPM, which you use is.

If using Debian, just write

apt-get install xmms


to install xmms and Icecast server. According to LAME, you can use a program called Alien, to convert RPM package into Debian package. Install it:

apt-get install alien

then you can use it as root:

alien package.rpm

and the packages can be installed by using

dpkg –i

followed by the package’s name. For example:

dpkg -i <packet-to-install>.deb

And don’t forget that you should be root to do most of the above. And now, after the installation of all programs you need we have to set them in order to work properly.


4. Configuration

First of all we should configure the Icecast server. Find the directory which contains the Icecast server configuration files (in my case it was /etc/icecast, and I suppose it’s the same if installed by RPM; if you compiled the program on your own, then you are prepared well enough to know where the settings should be) and there you should have many “.dist”-files. Now rename all that files by deleting the “.dist” part. For example if the file name is “icecast.conf.dist” the new one should be “icecast.conf”. If there are no more “.dist”-files then you are doing well.

Now open icecast.conf with your favorite editor. The configuration is rather right-minded and simple, but anyway I’ll guide you through it. Near the beginning of the file you’ll find location/information fields:

location Just west of Mars



fill them with the information, that you want people to see, when visiting your web-radio-station.

The next section you have to look at is the one for the server limit:

max_clients 900

max_clients_per_source 900

max_sources 10

max_admins 5

throttle 10.0

For most of the users this is much more than enough. Just set the parameters according to the speed of your Internet connection. Probably you’ll prefer




to be set at 10, and the rest you can leave the way it is. Now go down the file while you reach:

encoder_password hackme

admin_password hackme

oper_password hackme

If installed the Icecast server under Debian, or support of encrypted passwords enabled, you should crypt the password in this file using program, called mkpasswd (which probably you already have installed on your system). To do this use:

mkpasswd <password> –crypt

Then copy and paste the result in the file. It should look like this:

encoder_passwd –WZKu0fXj3bQ

admin_passwd –WZKu0fXj3bQ

oper_passwd –WZKu0fXj3bQ

No matter which way of installation you made, you should change the password into something else than “hackme”. In the common case the three passwords should be the same. Remember the password you use, because you will use it latter during the configuration of the Liveice-XMMS.

Go down the file again and find:

console_mode 0

change the value at 3, that way the loading will be in text mode.

Usually you don’t have to change the rest of the configuration file. The advanced users can look through the rest of the settings.

Now, let’s configure the Liveice-XMMS:

Restart the XMMS, in order to make it possible to notice that there is another plugin. Make right click on the XMMS and choose Preferences. Go to Effect/General Plugins. In the list under Effect Plugins you should find Liveince. In case you can’t find it check out the Liveice-XMMS installation. After choosing Liveince, click on Configure.

Most of these audio format settings are standard, so you won’t have to change them much. Change the “Encoder type” to ‘Lame’, and the “executable name” to ‘Lame’. If already have any version of Lame on your machine, then set the path to it. Under “Description” you can consider the exact changes by yourself.

Go to Server and change the “Encoder Password” into the one that’s written in the Icecast configuration (and I told you to remember). You shouldn’t type the password in encrypted mode if you have encrypted it.


Now everything is set and ready. Click OK. Check “Use Plugins” in the dialog “Preferences”, which should still be in front of you, and click OK again.

In terminal window type ‘icecast’ and press Enter. You should see how it’s getting started and proceeds into text mode.

If you are listening to a song, stop it and play it again.

Nothing went wrong…? There wasn’t big BANG!!! I hope so!

Ask a friend to connect to your IP through XMMS or any other mp3-player at http://yourcomputer:8000 … there should be music playing! If this is not happening, check out the FAQ to solve the problem.

If everything is OK, congratulations – you are now a DJ!


5. FAQ

Make sure that Icecast works. If the problems are still there, go to the conf file, at the place where you changed console_mode to 3, and change it back to 0 (that way you can receive some debug messages). You should be connecting as source, other ways check the Liveice settings. If you are connected as ‘source’, or as ‘encoder’, and your friend is trying to connect, but you don’t receive a message for this, then the problem is not in you!





Author: Rodney Gordon II

Modified by Silvia Nikolova

Leave a Reply