commiting recent changes
[iceplex.git] / README
1 iceplex
2
3 Copyright (c) 2003 Ivan Kohler
4 All rights reserved.
5 This program is free software; you can redistribute it and/or modify it under
6 the same terms as Perl itself.
7
8 ivan-iceplex@420.am
9
10 iceplex is a system for multiplexing on-demand broadcasts to multiple
11 backend icecast servers.
12
13 To use:
14
15 Database configuration:
16
17   - Create the "iceplex_servers" table in your database
18     (see create-mysql.sql or create-Pg.sql)
19   - Populate the "iceplex_servers" table with your icecast server names.
20
21 On the central multiplexing server:
22
23   - Copy the example iceplex.conf to /etc/iceplex.conf and modify the settings
24     as appropriate:
25     - Database location/user/pass
26     - Path to mp3 file storage on the icecast servers
27     - Icecast port number
28     - Optional database query for file number override
29     - Normal database query for filen number
30   - Run iceplexd and configure your init scripts to start it upon boot.
31   - Create an "iceplex" user.
32   - Run "ssh-keygen -t dsa" as the "iceplex" user to genarate SSH keys.
33     Use a blank passphrase.  (Press return when prompted for a passphrase)
34   - Install Net::SSH from CPAN or <http://search.cpan.org/author/IVAN/Net-SSH/>
35   - Install DBI from CPAN or <http://search.cpan.org/author/TIMB/DBI/>
36   - Install the DBD for your database
37     - MySQL: DBD::mysql from CPAN or
38       <http://search.cpan.org/author/JWIED/DBD-mysql/>
39     - PostgreSQL: DBD::Pg from CPAN or
40       <http://search.cpan.org/author/DWHEELER/DBD-Pg/>
41   - Install plex.pls in /cgi-bin/ on the central multiplexing server or main
42     webserver.  This file can be installed as or linked to as "plex.m3u" if
43     desired.  chown this file to the "iceplex", chgrp this file to the
44     user Apache runs as (www-data or httpd), and chown this file to 4750
45
46 On each icecast server:
47
48   - Create an "iceplex" user.
49   - Copy "/home/iceplex/.ssh/id_dsa.pub" from the central multiplexing server
50     to "/home/iceplex/.ssh/authorized_keys".
51   - Verify that the iceplex user on the central multiplexing server can
52     ssh to this server without a password.
53   - Install libshout C library 1.0.9 and Shout perl interface:
54     <http://developer.icecast.org/libshout/>
55   - Set the encoder password in yashout
56   - Install yashout from this archive in /usr/local/bin
57
58 On end-user webpages:
59
60   - Link to (see example.html):
61       <http://multi.plexing.server/cgi-bin/plex.pls?customer=XXXXXX;user=YYYY>
62
63 Optional, improves stream start latency:
64
65   - Install fsh <http://www.lysator.liu.se/fsh/> on the central multiplexing
66     server and each icecast server.
67   - Uncomment 
68       $Net::SSH:ssh = 'fsh';
69     in /etc/iceplex.conf
70