README - Ampache v.1.21, 07/29/2001

Contents:
 
 1. Intro
     a) Thanx
 2. Getting all the components
 3. Setting Up
     a) Ampache 
     b) Apache httpd.conf
 4. Wishlist/Planned
 5. License
 6. Contact info


1. Intro:

  Ampache v.1.21 is a PHP-based interface to a MySQL database 
  where information about your MP3's are stored.  The songs are
  streamed via mod_mp3.  The songs are cataloged via the PHP scripts
  or automated with the included perl script.

  This version also allows you the ability to write new ID3 tags
  to your MP3's to fix the orphaned files.  The webserver user
  will need write access to your files in order for this to work
  properly.

  These tools are heavily dependent on quality ID3 tags in your 
  MP3's.  If you've kept them up-to-date this is the tool for you.  
  
  See CHANGELOG for version information.

  A Special Thanx:
    a) Thanx to those who've helped me make Ampache so useable:
         Sandy McArthur, Jr. - class.id3 - 'nuff said
         Mike Payson 
         Jon Disnard 
         Adriaan Peters (numerous patches and bug fixes)
         Randall Ehren (merciless beta-testing and random bug fixes)
         Rob Kaandorp (time calculation fix)
         Ian Cote (MP3.php tweaks)
         Kurt Lieber (random fixes)
         Maan Bsat (random fixes)
         latka (from media.tangent.org site) for orphaned song ideas

2. Getting all the components

  Apache >= 1.3.19 http://www.apache.org
  PHP >= 4.0.4 http://www.php.net
  mod_mp3 >= 0.14 (thanx Brian)
      http://media.tangent.org
  MySQL >= 3.23 (although 3.22 works, the random feature will not)
    http://www.mysql.com
  Optional packages (if you want to automate catalog updates):
    Perl >= 5.005 (I'm not doing anything too fancy here)
      http://cpan.perl.org
      Along with perl you'll need the following modules from your
       favorite CPAN mirror:
        File::Find
        DBI
        MPEG::MP3Info
        Digest::MD5
    If you're using Debian you'll need the following packages:
      libperl-dbi
      libmpeg-mp3info-perl
      libdigest-md5-perl

3. Setting Up
  I'm assuming that you have Apache, PHP and MySQL running when you
  get to this point.

  Ampache:
    Edit modules/config.php to your site.  Can change things like colors,
      fonts, paths, etc.

  My httpd.conf for Apache reads:

  [snip]
  LoadModule mp3_module       /usr/lib/apache/1.3/mod_mp3.s

  AddType application/x-httpd-php .php .php3 .m3u .pls
  Timeout 0

  <VirtualHost 192.168.100.2:80>
    ServerName tunes.kveton.com

    ServerAdmin webmaster@kveton.com
    DocumentRoot /data/www/tunes/docs

    DirectoryIndex index.php

    ErrorLog "|/usr/sbin/cronolog /data/www/tunes/logs/error/%Y%m%d.log"
    TransferLog "|/usr/sbin/cronolog /data/www/tunes/logs/transfer/%Y%m%d.log"
  </VirtualHost>

  <VirtualHost 192.168.100.2:80>
    ServerName media.kveton.com

    MP3Engine On
    MP3CastName "Kveton's Tunes"
    MP3 /data/music/music

    ErrorLog "|/usr/sbin/cronolog /data/www/tunes/logs/error-server/%Y%m%d.log"
    TransferLog "|/usr/sbin/cronolog /data/www/tunes/logs/transfer-server/%Y%m%d.log"
  </VirtualHost>
  [snip]

  'tunes' is the host that serves out the PHP web pages and 'media'
  is the host that serves out the actual streamed media.

  MySQL:
    Setup a user and pass for your music db.

    Run: 'mysql -u user -p pass < sql/music.sql'
      to create the music db and tables.

4. Wishlist/Plans

  This is the final release (outside of bug fixes) for this v.1.0 tree.  I'll be concentrating on
    the v.2.0 feature set which will include the client/server connectivity as well as a means
    of user accounting and adminstrative access.  My goal is to make v.2.0 much more multi-user
    friendly.
 
  * ID3v2 tag support in id3.php
  * Re-encode song for lower playback speed (awaiting support in mod_mp3)
  * Uploads directory and manager
  * Users and User manager
  * Skin support
  * Client/Server communications and population of song database
  * Ability to change order of songs in saved playlists
  * Per user playlists/access
  * Anonymous CVS access

5. License
 
  This script falls under the "Buy-Me-A-Beer-When-You-See-Me" License.
  Meaning that if you use Ampache and like it then when you see
  me next you have to drop everything you are doing and buy me a beer.
  Its also free, open, etc.  Have fun.

6. Contact Info

  Hate it?  Love it?  Let me know.  Let me know if you think of any
    more features, bugs, etc.

  Scott Kveton
  scott@kveton.com

