= Litmus Installation Instructions === Server Requirements ==We're using RHEL4/5 here at Mozilla, but any setup that will give you Apache+mod_perl+MySQL should be able to do the job.Specifically, you'll need:* Apache 2* MySQL 5 (4 should also work)* mod_perl 2 (optional)* sendmail (optional): for sending report via email== Required Perl Modules ==Apache::DBI - if mod_perl is being usedCache::Memcached::Fast (optional)CGIClass::DBI Class::DBI::mysql Class::DBI::PagerClass::DBI::Plugin::RetrieveAllClass::DBI::Search::BasicData::DumperData::JavaScriptDate::ManipDBIx::ContextualFetchEncodeFile::FindGetopt::LongHTML::StripScriptsHTML::StripScripts::ParserJSON (version>=2)JSON::XSJSON::PPSys::HostnameTemplate Test::HarnessText::MarkdownTime::HiResTime::Piece Time::Piece::MySQL Time::SecondsXML::XPathutf8== Setting up the database ==If this is your first time installing Litmus, run populatedb.pl. cd litmus ./populatedb.plThe populatedb.pl script will initially create a template configuration file, 'localconfig,' that contains variables to hold your database configuration information. Edit the newly created 'localconfig' file with your database configuration. Once 'localconfig' is populated with your database information, run the populatedb.pl again with the '-r' flag to populate the initial lookup tables (products, locales, etc) with sensible defaults (which you can adjust later, if necessary). This will allow you to start using Litmus right away. There is no UI at present for doing this. vi localconfig ./populatedb.pl -rNOTE: The default database name is 'litmus.' If you want to change this, you'll need to change the name in populatedb.sql *AND* localconfig before running the above commands.You'll then want to run "make install" to pre-compile your templates, verifyyour database setup, and prepare you Javascript libraries. make installThen just pop the whole thing into a directory where your web server canget at it. Have fun!== Creating the first admin user ==To get yourself an administrator account, you'll need to load up Litmus in your web browser and follow the link to create a new account. You'll have been lucky enough to score user id number 2 (#1 is reserved for the anonymous web-tester account, generally unused now). Grant yourself admin rights by loading up mysql, connecting to your Litmus database, and running the following command: mysql -u litmus -p litmus mysql> insert into user_group_map values ('2', '1');From there, you can go into "Edit Users" in the web interface and grant rights to any new users. == Sending mail from Litmus ==Sendmail (or a mailer with a compatible command-line interface) is required ifyou want Litmus to be able to send email, e.g. for daily reports. If you willbe using something other than sendmail, you may need to change Litmus::Mailerappropriately.== Minimizing Javascript libraries ==The Javascript libraries included with Litmus are broken into logically-separate files. Prior to install, we combine many of these files together into a single, larger file. This results in a larger initial download for your user but the file is then cached and subsequent access willbe faster.We also use jsmin (http://javascript.crockford.com/jsmin.html) if it is inyour $PATH to strip the Javascript and reduce their size as much as possible.This is done as part of the "make install" process, but you can do this by hand too from your root Litmus install: scripts/minify_js.bash == Optional: Memcache ==Some queries can be cached in memcache, which will especially reduce statslookup times. In order to activate memcaching, run a memcached server, thendefine $memcache_settings appropriately in localconfig.For a list of available settings, consulthttp://search.cpan.org/dist/Cache-Memcached-Fast/lib/Cache/Memcached/Fast.pmTo disable memcaching, comment out the settings.== Things to do after an upgrade ==After upgrading Litmus from CVS, it's a good idea to run "make install" again to pick up any schema changes that may have occured.