openbsd-ports/net/icecast/files/README.OpenBSD
naddy 5e262d19fa Update to 2.3.0 from maintainer Moritz Grimm.
New features:
  * Support Ogg Speex, Ogg FLAC, Ogg Midi
  * Intro file support
  * On-demand relays
  * Improved mount-level settings
  * URL listener authenticator
  * Authentication for on-demand files
  * Updated admin/web interface
  * Various reliability bug fixes

Port changes:
  * Ogg Theora streaming is now enabled
  * Revamped README.OpenBSD file, tightened DESCR
  * <fileserve> directive not disabled any longer in icecast.xml.dist
2005-10-21 15:59:54 +00:00

106 lines
4.2 KiB
Plaintext

Icecast v2 is very versatile and can be used in many different setups.
Since there is not "one true way" to install and configure it and every
user will have individual preferences and needs. A streaming service
provider has different requirements than someone who wants to set up a
jukebox at home.
To make things easier, here is a small step-by-step guide to get Icecast v2
running in a basic setup, which uses its chrooting feature and drops
privileges to an unprivileged account.
1. Read the documentation, so you know what you are doing. It is also
very helpful to know what Icecast v2 is doing for you, and what it
is not. If you do not understand the concept of streaming with Icecast,
yet, http://liveice.sourceforge.net/understanding.html might be of use
to you.
2. Create an unprivileged user _icecast - preferrably with an UID that
does not conflict with other ports, system UIDs or regular users.
I suggest something between 200 and 499. This example uses the UID/
GID combo 400:
# useradd -c "Icecast Server" -d /nonexistent -g =uid \
-s /sbin/nologin -u 400 _icecast
3. Create a working directory for Icecast.
# mkdir /var/icecast
4. Copy the examples into the working directory
# cp -R ##PREFIX##/share/examples/icecast/* /var/icecast
5. Create Icecast's log directory and -files, make them accessible
to the Icecast user.
# cd /var/icecast
# mkdir log
# touch log/error.log log/access.log
# chown _icecast:_icecast log/*.log
6. Complete the chroot environment with additional system files --
this is optional, but it allows YP directory listing (DNS lookups are
required for those) to work and the log files will contain correct
timestamps.
# mkdir /var/icecast/etc
# cp -p /etc/{hosts,localtime,resolv.conf} /var/icecast/etc
7. There is an icecast.xml.dist in /var/icecast - rename it and adjust it.
Consult the documentation and comments about the various options.
Important settings for this particular setup are outlined below.
# mv icecast.xml.dist icecast.xml
# chmod 600 icecast.xml
(Mode 600 is highly recommended; icecast.xml contains plain-text
passwords. At least keep it inaccessible to "others".)
Now load icecast.xml in your favorite editor, and:
* CHANGE THE DEFAULT PASSWORDS FOR SOURCE CLIENTS, RELAYS AND
THE ADMIN INTERFACE
* Change <basedir> to /var/icecast
* Change <logdir> to /log
* Change <webroot> to /web
* Change <adminroot> to /admin
* Change <chroot> to 1
* Uncomment the <changeowner> directive, replace both "nobody" and
"nogroup" with "_icecast".
8. Start Icecast and monitor error.log for errors and clues on how to
solve any issues.
# icecast -c /var/icecast/icecast.xml
If things look good, add the command line parameter `-b' to send
Icecast into daemon land.
9. Test your server.
Use a source client to create a stream and listen to it with your
favorite player that supports streaming.
Also test Icecast's web interface. Be aware that Icecast sends
everything located in <webroot> to those who request it like a regular
(basic) web server. You can restrict this behavior to serve only
.xsl files by setting <fileserve> to 0 in your icecast.xml, however,
you should definitely take a closer look at what you actually want
to show the world here. There is no reason for paranoia, it's all
safe, but you should spend some time thinking about it. Note that
disabling <fileserve> will also prevent CSS stylesheets and images
from being sent, making the web interface less pleasant to look at.
Random hints:
* Remember to give your mountpoint a proper name -- MP3 streams should
use no extension, Ogg Vorbis streams should use .ogg, so that dumb or
broken players can send the stream to the appropriate decoder.
* There are many different source clients available for different
platforms. On OpenBSD, there are at least the ices-0 and ices-2
packages available to stream MP3 and Ogg Vorbis audio respectively.
There are a lot more alternatives available that are easy to find
with a search engine like Google.