Installing Icecast 2.3.1 from source on Debian/Ubuntu as a non-priviledged user
A question that pops up frequently on #icecast is: "can I install and run Icecast as a non-priviledged user (ie, non-root), and how?". The answer is: "yes, of course", and here's how...
Pre-requisites
- You have a basic knowledge of Unix/Linux as a user;
- You have the basic tools for compiling (
gcc,g++,cpp, etc); - You have an account on the machine you plan to install Icecast on, and the authorization of the system administrator of course.
Now, we will compile everything from source, which includes:
libxml2;libxslt;libogg;libvorbis;libtheora;libspeex;curl;- Icecast.
First of all...
We will put the compiled binaries in a directory in your home directory. This way, you'll be able to add it to your $PATH easily.
$ mkdir /home/myuser/build/
Of course, replace "myuser" by your username.
XML
Download libxml2 from xmlsoft's FTP server.
$ ./configure --prefix=/home/myuser/build/ $ make $ make install
XSLT
Download libxslt from xmlsoft's FTP server.
$ ./configure --prefix=/home/myuser/build/ --with-libxml-src=../libxml2-2.6.28/ $ make $ make install
I assume you extracted the libxslt archive in the same archive as libxml2's one. Replace libxml2-2.6.28 by the correct version number.
Ogg
Download libogg from Xiph's website.
$ ./configure --prefix=/home/myuser/build/ $ make $ make install
Vorbis
Download libvorbis from Xiph's website.
$ LD_LIBRARY_PATH=/home/myuser/build/lib/:$LD_LIBRARY_PATH ./configure --prefix=/home/myuser/build/ --with-ogg-libraries=/home/myuser/build/lib/ --with-ogg-includes=/home/myuser/build/include $ make $ make install
Theora
Download libtheora from Xiph's website.
$ LD_LIBRARY_PATH=/home/myuser/build/lib/:$LD_LIBRARY_PATH ./configure --prefix=/home/myuser/build/ --with-ogg-libraries=/home/myuser/build/lib/ --with-ogg-includes=/home/myuser/build/include/ --with-vorbis-libraries=/home/myuser/build/lib/ --with-vorbis-includes=/home/myuser/build/include/ $ make $ make install
Speex
Download speex from Xiph's website.
$ ./configure --prefix=/home/myuser/build/ --with-ogg-libraries=/home/myuser/build/lib/ --with-ogg-includes=/home/myuser/build/include $ make $ make install
Curl
Download curl from Curl's website. Attention! Don't chose the latest version, Icecast seems to be a little outdated with regard to the latest API. I used version 7.15.5.
$ ./configure --prefix=/home/myuser/build/ $ make $ make install
And now, Icecast!
Now we get to the interesting part: putting all those libraries together! Download Icecast from Icecast's website.
$ CFLAGS="-I/home/myuser/build/include/libxml2/" LDFLAGS="-L/home/myuser/build/lib/" LD_LIBRARY_PATH=/home/myuser/build/lib/:$LD_LIBRARY_PATH ./configure --prefix=/home/myuser/build/ --with-xslt-config=/home/myuser/build/bin/xslt-config --with-ogg=/home/myuser/build/ --with-vorbis=/home/myuser/build/ --with-theora=/home/myuser/build/ --with-speex=/home/myuser/build/ --with-curl=/home/myuser/build/ $ make $ make install
And that should be it! Now don't forget to edit the configuration file (/home/myuser/build/etc/icecast.xml) in order to adapt it to your reduced rights. Pay attention to the paths (change them so that they point to directories and files you can read and write).

Commentaires
1. Le vendredi 18 mai 2007 à 00:21, par sekh
2. Le samedi 19 mai 2007 à 19:07, par balbinus
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.