first pass at something ready to try/test
[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     - 
29   - Run iceplexd and configure your init scripts to start it upon boot.
30   - Create an "iceplex" user.
31   - Run "ssh-keygen -t dsa" as the "iceplex" user to genarate SSH keys.
32     Use a blank passphrase.  (Press return when prompted for a passphrase)
33   - Install Net::SSH from CPAN or <http://search.cpan.org/author/IVAN/Net-SSH/>
34   - Install DBI from CPAN or <http://search.cpan.org/author/TIMB/DBI/>
35   - Install the DBD for your database
36     - MySQL: DBD::mysql from CPAN or
37       <http://search.cpan.org/author/JWIED/DBD-mysql/>
38     - PostgreSQL: DBD::Pg from CPAN or
39       <http://search.cpan.org/author/DWHEELER/DBD-Pg/>
40   - Install plex.pls in /cgi-bin/ on the central multiplexing server or main
41     webserver.  This file can be installed as or linked to as "plex.m3u" if
42     desired.  chown this file to the "iceplex", chgrp this file to the
43     user Apache runs as (www-data or httpd), and chown this file to 4750
44
45 On each icecast server:
46
47   - Create an "iceplex" user.
48   - Copy "/home/iceplex/.ssh/id_dsa.pub" from the central multiplexing server
49     to "/home/iceplex/.ssh/authorized_keys".
50   - Verify that the iceplex user on the central multiplexing server can
51     ssh to this server without a password.
52   - Install libshout C library 1.0.9 and Shout perl interface:
53     <http://developer.icecast.org/libshout/>
54   - Set the encoder password in yashout
55   - Install yashout from this archive in /usr/local/bin
56
57 On end-user webpages:
58
59   - Link to (see example.html):
60       <http://multi.plexing.server/cgi-bin/plex.pls?customer=XXXXXX;user=YYYY>
61
62 Optional, improves stream start latency:
63
64   - Install fsh <http://www.lysator.liu.se/fsh/> on the central multiplexing
65     server and each icecast server.
66   - Uncomment 
67       $Net::SSH:ssh = 'fsh';
68     in /etc/iceplex.conf
69