Knowledgebase
FirestarHosting.CC > FirestarHosting.CC Help Desk > Knowledgebase

Search help:


Setting Up Icecast From Source on linux

Solution Setting UP IceCast From Source On Linux

By: FirestarHosting Support

© Copyright 2020 FireStarHosting.CC Support. FireStarHosting.CC

Table of Contents

1 … What Is IceCast?

2 … Installing IceCast

3 … Configuring IceCast

4 … Starting/Stopping IceCast

What Is IceCast?

IceCast is a streaming media (audio and video) server which currently supports Ogg (Vorbis and Theora), Opus and MP3 streams.

It can be used to create an Internet radio station or a privately running jukebox and many things in between. It is very versatile in that new formats can be added relatively easily and supports open standards for communication and interaction.

IceCast runs on many operating systems, from Windows, Mac, to Linux. This article will detail how to install IceCast from source onto a Linux machine.

Installing IceCast

IceCast usually comes packaged for linux distributions in various formats, but it is best to install it from source.

The reason why this is, is so that you can install IceCast the way you'd like to. IceCast Packages install the server based upon maintainer's layouts.

Get The Source

To begin source install, you must get the source files. As of this writing, the current IceCast version is IceCast 2.4.4. You can get it from http://downloads.xiph.org/releases/icecast/icecast-2.4.4.tar.gz

You can then use FTP to upload the source file. If you are logged in via SSH to your Linux machine, you can then use WGet.

Use the following command to download using WGET (while logged in using SSH):

wget http://downloads.xiph.org/releases/icecast/icecast-2.4.4.tar.gz

And hit the return key (or ⌤.)

Once you have downloaded the source using WGET, the source needs to be unzipped.

To unzip the source, type the following command:

tar -xzf icecast*

And hit the return key (or ⌤.)

Once unzipped, you should have a directory called icecast-2.4.4.

Installing

Change to the directory where the IceCast source files are. Type the command:

cd icecast-2.4.4

And hit the return key (or ⌤.)

You must use the configure script to configure the Icecast installation. To configure Icecast, type the command:

./configure --prefix=/home/username/folder

And hit the return key (or ⌤.) Replace "Username" and "folder" with the correct username you want to install under and folder, with the correct folder to install IceCast to.

Assuming no errors, configure should take you back to the shell prompt.

To finish installation, type the command:

make;make install

And hit the return key (or ⌤.) Once you finish the install, you should have

  • Etc Contains the Icecast configuration file (icecast.xml) which defines all the configuration parameters for the server.
  • Admin Contains xslt files which are used by the Icecast server to provide a web-based front end to the administration capabilities of the server.
  • Logs This is a blank directory which (if specified in the config file) will contain all the logs (there are 2) for Icecast.

Note: When installing IceCast, please insure that you are logged in as the user that you want to run IceCast as.

Configuring IceCast

All configuration for IceCast is kept in a file called, Icecast.xml. When configuring IceCast, make sure you edit the XML file with a text editor.

After the install of IceCast, the next step is to edit the icecast.xml file and set the appropriate values for your situation. Most of the specified values in the samples are fine, for a basic setup. However, the following entries should be specified, and if necessary, changed to suit your setup:

  1. HostName; DNS name or IP address used for stream directory listings.
  2. Source-Password; Will be used for the source client authentication.
  3. Admin-Password; Will be used for authenticating admin features of IceCast.
  4. Listen-Socket (Port only); Define a port for which IceCast will run on.

Note: If the port is in use, FireStarHosting Support will change it so it does not conflict with other user's applications. The configuration values you will see, are between less-than and grater-than values (I.E.,

Less-than hostname grater-than less-than slash hostname grater-than
.)

Note: For logs to work, you must create a directory within the IceCast directory to hold the log files. To accomplish this, make sure you are in the Icecast directory:

cd /home/username/foldername

And hit the return key (or ⌤.) Replace both "UserName" and "Foldername" with appropriate values. For instance, if you installed IceCast under the user Joe, under a folder within Joe, called, radio, then type the following to navigate to the IceCast folder:

cd /home/joe/radio

And hit the return key (or ⌤.) You should see a prompt like

joe@localhost:/home/joe/radio$

This tells you that you are in the correct folder. To create the folder called logs, type the command:

mkdir logs

And hit the return key (or ⌤.) You should then see a folder called logs if you type

ls -1

And hit the return key (or ⌤.) Note: The dash (-) together with the number one (1) indicates to the system to display lists in a easy to read format for scrolling. Note: If within the list you do not see the logs folder, retype the above directory creation command again, taking care to check both case and spelling.

To make sure you have correct ownership and permissions for this directory, you can type:

chmod +x logs;chown Joe. logs

And hit the return key (or ⌤.) To configure where logs go, within the Icecast.xml file, configure the

less-than logdir grater-than less-than slash logdir grater-than
Statement within the file.

The

less-than logdir grater-than less-than slash logdir grater-than
statement tells Icecast where to create and update log files to (I.E., what folder to put logs into.)

This takes an absolute path value (for instance,)

/home/joe/radio/logfiles
.) Be sure to replace both "Joe" and "log files" with the path names for where you want logs stored.

Note: This directory must exist with appropriate correct permissions and ownership assigned prior to IceCast being started.

Starting and Stopping Icecast

After you have configured Icecast and you are ready to start Icecast, do the following:

  • Change to the Icecast directory, then change to the Binary directory called Bin, which houses the IceCast program:
    cd ~joe/radio/bin
    And hit the return key (or ⌤.)
  • You can then proceed to type the following command to start Icecast:
    ./icecast -c ~Joe/radio/etc/icecast.xml -b
And hit the return key (or ⌤.)

Icecast should then return nothing as everything should be configured correctly.

To stop Icecast, find your user's Icecast process by doing:

ps -aux |grep joe

Be sure to replace Joe with your Linux account's username. You will get a lot of output depending on how many processes you have. You are looking for something that says (as an example)

joe 11048 0.0 0.6 392492 12540 pts/1 Sl 08:36 0:00 ./icecast -c /home/joe/radio/etc/icecast.xml -b

The only thing you will need to look for in all of that output is the number, 11048. The, 11048 is what's known as the Process ID (or PID.)

Every process on a Linux machine is assigned a 5 digit Process ID (PID.) To kill the Icecast process, simply do (for instance:)

kill 11048

Note: While 11048 may be the process ID Joe's IceCast runs under, this won't for sure be your own process ID. Therefore, replace 11048 with the process ID the above commands gives you when you search for your own IceCast process.

Conclusion

This article detailed how to both install IceCast from source on Linux, as well as a few configuration variables that should be changed for proper IceCast operations.

There are a lot more things you can configure, however. For Icecast 2, you can read up on these at https://icecast.org/docs/icecast-2.4.1/config-file.html

If you are a FireStarHosting customer and would like IceCast installed and configured for you, please Click here to submit a Server Support Help-Desk Ticket

With the following information:

  1. A port Number to be used for your server. If this port is already used, it will be changed.
  2. A domain name to use. This domain must be either paid for, or else, setup on your domain host and be working properly to be used with Icecast.
  3. If you would like, the name of a mount point to use. As an example, slash mystream.

Icecast will be installed with the latest version, under your home directory, under a folder called broadcast. You are more than welcome to start IceCast whenever you are ready, or request it be started in your server support ticket.

 
Was this article helpful? yes / no
Article details
Article ID: 2
Category: Support
Rating (Votes): Article rated 5.0/5.0 (1)

 
« Go back

 
Powered by Help Desk Software HESK, in partnership with SysAid Technologies