Manuais/Icecast
Da Hacklaviva
Índice |
Icecast
wikipedia: Icecast
website: icecast.org
RadioLivre old icecast tutorial in portuguese (Web Archive)
GNUWare - Icecast Installation and Management (Web Archive)
Linux
Download Source
Download source RPM or tar.gz in the official site [1] or the latest version when writing this tutorial here (icecast 2.3.2) and unarchive it.
Prerequisites
icecast requires the following packages: [2]
- libxml2 - http://xmlsoft.org/downloads.html
- libxslt - http://xmlsoft.org/XSLT/downloads.html
- curl - http://curl.haxx.se/download.html (>= version 7.10 required)
NOTE: icecast may be compiled without curl, however this will disable all Directory server interaction (YP).
- ogg/vorbis - http://www.vorbis.com/files (>= version 1.0 required)
REMEMBER: you should install the development packages - you find more information about the installation of need packages in Manuais/Icecast#Common_errors section
Installation
run the following lines in the command line as root:
./configure make make install
if it doesn't go smoothly, jump to Manuais/Icecast#Common_errors section, if everything goes ok, your make install output should be something similar to this:
Making install in src make[1]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src' Making install in avl make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src/avl' make[3]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src/avl' make[3]: Nothing to be done for `install-exec-am'. make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src/avl' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src/avl' Making install in thread make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src/thread' make[3]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src/thread' make[3]: Nothing to be done for `install-exec-am'. make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src/thread' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src/thread' Making install in httpp make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src/httpp' make[3]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src/httpp' make[3]: Nothing to be done for `install-exec-am'. make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src/httpp' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src/httpp' Making install in net make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src/net' make[3]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src/net' make[3]: Nothing to be done for `install-exec-am'. make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src/net' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src/net' Making install in log make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src/log' make[3]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src/log' make[3]: Nothing to be done for `install-exec-am'. make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src/log' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src/log' Making install in timing make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src/timing' make[3]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src/timing' make[3]: Nothing to be done for `install-exec-am'. make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src/timing' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src/timing' make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src' make[3]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/src' test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin" /bin/bash ../libtool --mode=install /usr/bin/install -c 'icecast' '/usr/local/bin/icecast' /usr/bin/install -c icecast /usr/local/bin/icecast make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src' make[1]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/src' Making install in conf make[1]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/conf' make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/conf' make[2]: Nothing to be done for `install-exec-am'. test -z "/usr/local/share/icecast/doc" || /bin/mkdir -p "/usr/local/share/icecast/doc" /usr/bin/install -c -m 644 'icecast.xml.dist' '/usr/local/share/icecast/doc/icecast.xml.dist' /usr/bin/install -c -m 644 'icecast_minimal.xml.dist' '/usr/local/share/icecast/doc/icecast_minimal.xml.dist' /usr/bin/install -c -m 644 'icecast_shoutcast_compat.xml.dist' '/usr/local/share/icecast/doc/icecast_shoutcast_compat.xml.dist' /usr/bin/install -c -m 644 'icecast_urlauth.xml.dist' '/usr/local/share/icecast/doc/icecast_urlauth.xml.dist' make install-data-hook make[3]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/conf' /bin/bash ../mkinstalldirs /usr/local/etc test -f /usr/local/etc/icecast.xml || \ /usr/bin/install -c -m 644 icecast.xml.dist /usr/local/etc/icecast.xml make[3]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/conf' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/conf' make[1]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/conf' Making install in debian make[1]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/debian' make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/debian' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/debian' make[1]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/debian' Making install in doc make[1]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/doc' make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/doc' make[2]: Nothing to be done for `install-exec-am'. test -z "/usr/local/share/doc/icecast" || /bin/mkdir -p "/usr/local/share/doc/icecast" /usr/bin/install -c -m 644 'index.html' '/usr/local/share/doc/icecast/index.html' /usr/bin/install -c -m 644 'icecast2_admin.html' '/usr/local/share/doc/icecast/icecast2_admin.html' /usr/bin/install -c -m 644 'icecast2_basicsetup.html' '/usr/local/share/doc/icecast/icecast2_basicsetup.html' /usr/bin/install -c -m 644 'icecast2_config_file.html' '/usr/local/share/doc/icecast/icecast2_config_file.html' /usr/bin/install -c -m 644 'icecast2_faq.html' '/usr/local/share/doc/icecast/icecast2_faq.html' /usr/bin/install -c -m 644 'icecast2_glossary.html' '/usr/local/share/doc/icecast/icecast2_glossary.html' /usr/bin/install -c -m 644 'icecast2_introduction.html' '/usr/local/share/doc/icecast/icecast2_introduction.html' /usr/bin/install -c -m 644 'icecast2_relay.html' '/usr/local/share/doc/icecast/icecast2_relay.html' /usr/bin/install -c -m 644 'icecast2_stats.html' '/usr/local/share/doc/icecast/icecast2_stats.html' /usr/bin/install -c -m 644 'icecast2_win32.html' '/usr/local/share/doc/icecast/icecast2_win32.html' /usr/bin/install -c -m 644 'icecast2_yp.html' '/usr/local/share/doc/icecast/icecast2_yp.html' /usr/bin/install -c -m 644 'icecast2_listenerauth.html' '/usr/local/share/doc/icecast/icecast2_listenerauth.html' /usr/bin/install -c -m 644 'icecast2_changes.html' '/usr/local/share/doc/icecast/icecast2_changes.html' /usr/bin/install -c -m 644 'listener_auth1.jpg' '/usr/local/share/doc/icecast/listener_auth1.jpg' /usr/bin/install -c -m 644 'listener_auth2.jpg' '/usr/local/share/doc/icecast/listener_auth2.jpg' /usr/bin/install -c -m 644 'listener_auth3.jpg' '/usr/local/share/doc/icecast/listener_auth3.jpg' /usr/bin/install -c -m 644 'masterslave.png' '/usr/local/share/doc/icecast/masterslave.png' /usr/bin/install -c -m 644 'relay.png' '/usr/local/share/doc/icecast/relay.png' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/doc' make[1]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/doc' Making install in web make[1]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/web' make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/web' make[2]: Nothing to be done for `install-exec-am'. test -z "/usr/local/share/icecast/web" || /bin/mkdir -p "/usr/local/share/icecast/web" /usr/bin/install -c -m 644 'status.xsl' '/usr/local/share/icecast/web/status.xsl' /usr/bin/install -c -m 644 'status2.xsl' '/usr/local/share/icecast/web/status2.xsl' /usr/bin/install -c -m 644 'corner_bottomleft.jpg' '/usr/local/share/icecast/web/corner_bottomleft.jpg' /usr/bin/install -c -m 644 'corner_bottomright.jpg' '/usr/local/share/icecast/web/corner_bottomright.jpg' /usr/bin/install -c -m 644 'corner_topleft.jpg' '/usr/local/share/icecast/web/corner_topleft.jpg' /usr/bin/install -c -m 644 'corner_topright.jpg' '/usr/local/share/icecast/web/corner_topright.jpg' /usr/bin/install -c -m 644 'icecast.png' '/usr/local/share/icecast/web/icecast.png' /usr/bin/install -c -m 644 'key.gif' '/usr/local/share/icecast/web/key.gif' /usr/bin/install -c -m 644 'style.css' '/usr/local/share/icecast/web/style.css' /usr/bin/install -c -m 644 'auth.xsl' '/usr/local/share/icecast/web/auth.xsl' /usr/bin/install -c -m 644 'server_version.xsl' '/usr/local/share/icecast/web/server_version.xsl' /usr/bin/install -c -m 644 'tunein.png' '/usr/local/share/icecast/web/tunein.png' /usr/bin/install -c -m 644 'key.png' '/usr/local/share/icecast/web/key.png' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/web' make[1]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/web' Making install in admin make[1]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/admin' make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/admin' make[2]: Nothing to be done for `install-exec-am'. test -z "/usr/local/share/icecast/admin" || /bin/mkdir -p "/usr/local/share/icecast/admin" /usr/bin/install -c -m 644 'listclients.xsl' '/usr/local/share/icecast/admin/listclients.xsl' /usr/bin/install -c -m 644 'listmounts.xsl' '/usr/local/share/icecast/admin/listmounts.xsl' /usr/bin/install -c -m 644 'moveclients.xsl' '/usr/local/share/icecast/admin/moveclients.xsl' /usr/bin/install -c -m 644 'response.xsl' '/usr/local/share/icecast/admin/response.xsl' /usr/bin/install -c -m 644 'stats.xsl' '/usr/local/share/icecast/admin/stats.xsl' /usr/bin/install -c -m 644 'manageauth.xsl' '/usr/local/share/icecast/admin/manageauth.xsl' /usr/bin/install -c -m 644 'updatemetadata.xsl' '/usr/local/share/icecast/admin/updatemetadata.xsl' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/admin' make[1]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/admin' Making install in win32 make[1]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/win32' Making install in res make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/win32/res' make[3]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/win32/res' make[3]: Nothing to be done for `install-exec-am'. make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/win32/res' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/win32/res' make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/win32' make[3]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/win32' make[3]: Nothing to be done for `install-exec-am'. make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/win32' make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/win32' make[1]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/win32' Making install in examples make[1]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/examples' make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2/examples' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/examples' make[1]: Leaving directory `/home/taborda/Desktop/icecast-2.3.2/examples' make[1]: Entering directory `/home/taborda/Desktop/icecast-2.3.2' make[2]: Entering directory `/home/taborda/Desktop/icecast-2.3.2' make[2]: Nothing to be done for `install-exec-am'. test -z "/usr/local/share/doc/icecast" || /bin/mkdir -p "/usr/local/share/doc/icecast" /usr/bin/install -c -m 644 'README' '/usr/local/share/doc/icecast/README' /usr/bin/install -c -m 644 'AUTHORS' '/usr/local/share/doc/icecast/AUTHORS' /usr/bin/install -c -m 644 'COPYING' '/usr/local/share/doc/icecast/COPYING' /usr/bin/install -c -m 644 'NEWS' '/usr/local/share/doc/icecast/NEWS' /usr/bin/install -c -m 644 'TODO' '/usr/local/share/doc/icecast/TODO' /usr/bin/install -c -m 644 'ChangeLog' '/usr/local/share/doc/icecast/ChangeLog'
Common errors
configure: error: XSLT configuration could not be found
as said in the official forum, [3][4] the most common error is this one and it means you're missing the development package for libxslt. Possible package names are libxslt-devel or libxslt-dev, and you need to install it. (looks like [5] on ubuntu the packages are named libxslt1-dev libxml2-dev)
sudo apt-get install libxslt1-dev libxml2-dev
configure: error: must have Ogg Vorbis v1.0 or above installed
development packages for libogg and libvorbis are missing [6] or, outdated [7] (in this case you have to uninstall old versions first). Possible package names are libogg-devel libvorbis-devel (on ubuntu the packages are named libogg-dev libvorbis-dev)
sudo apt-get install libogg-dev libvorbis-dev
Configuration
After instalation, you can find a sample configuration file on /usr/local/etc/icecast.xml
For sample setup read [Basic Setup] (on doc/icecast2_basicsetup.html)
For deeper knowledge on the configuration file, read [Config File] (doc/icecast2_config_file.html)