This text has instructions for installing the Multi-User Mod_Mp3 Interface. 1. Prerequisites: a. PHP 4.1 I. Mcrypt II. Ming III.MySQL IV. XML V. zlib b. MySQL 3.23 c. Apache 1.3.23 I. MOD_PHP4 (4.1 or greater) II. MOD_MP3 (0.35 or greater) d. DNS entry for the mod_mp3 virtual host. (Like: music.yourdomain.net) e. DNS entry for the mod_php4 virtual host. (Like: www.yourdomain.net) f. Unix, or Linux. (FreeBSD4.5 is known to work, and so is RedHat7.2) g. Administrative level access on the server. (Aka "root" or "administrator") 2. Recommendations: a. A server machine with multiple processors. (at least 2x) b. Random memory that has user-land capacity of 5x greater than your estimated largest mp3 file (1 or 2 Gigabytes is typically sufficient). c. High performance disk I/O such as disk-stripping, or disk-mirroring for the mp3 store. d. A dedicated MySQL server. e. FreeBSD Unix 4.5 (This is used on the development platform). f. RedHat Linux 7.2 (This is used on the production servers). g. High bandwidth/un-metered internet access. (10 to 45 Mega-bit per second is ideal) h. Use MOD_SSL to protect pages with password forms, or other sensitive data. 3. Installation steps: a. You must first setup the database: I. The scm\ folder contains schema files (.scm) for setting up your database. You need to paste them into the MySQL client of choice, and execute them as queries. b. Setup the Apache virtual hosts for both mod_mp3, and the mod_php4 interface. I. The mod_mp3 virtual host uses one of the example DNS entry from the Prerequisites above: <VirtualHost 220.127.116.11> ServerName music.yourdomain.net ServerAdmin firstname.lastname@example.org MP3Engine On MP3CastName "Mummi" MP3DispatchAgent mysql MP3MySQLConnectInfo "localhost" "mysql_username" "password" MP3MySQLInfo "audiodevil" "mod_mp3_main" #MP3Encoder "/usr/local/bin/lame -q 2 -b 48 --silent % -" MP3MySQLTokenTable "mod_mp3_tokens" MP3Genre "various" </VirtualHost> II. The mod_mp3 virtual host uses one of the example DNS entry from the Prerequisites above: <VirtualHost 18.104.22.168> ServerName www.yourdomain.net ServerAdmin email@example.com DocumentRoot /opt/mummi/htroot <Directory /opt/mummi/htroot> AllowOverride None </Directory> </virtualhost> c. Create a folder for the store mp3 files. This location should be in a place that can grow in the future, and should use a fairly fast disk I/O bus. For servers with hardly any users it would be acceptable to use the IDE ata 100, or ata 133 bus standards. For a production system I recommend a raid system that uses mirroring. Striping can also be used, or raid one + zero to afford some disaster recovery. The folder should have read + write + search bits all set (chmod 777 /opt/music). You can also chown the folder to the Apache user, but this is actually a bad idea. However, any file that a user uploads to the filesystem will be owned by the Apache user, typically the "nobody" account on most UNIX systems. d. Setup the configuration file for the MUMMI virtual host. You have to locate the "lib/config.inc" file, and edit with you favorite text editor. Most of the items should be obvious, but there are also comments next to each item to help explain what they might do. You can probably take the defaults for most of the items, unless you plan to customize the installation. The most important item is the MySQL variables, and the variables for the mp3 data folder. e. Setup the "htroot\common.php" file. This file tells the other ".php" files, in the same folder, where to find their "config.inc" file that you configured in the previous step. This gives you the ability to have multiple LIB folders. Also, each folder in the htroot must have a common.php. This actually affords you a very flexible and granular way to manage the way MUMMI is configured.