=head1 INSTALLING MOJOMOJO

=head2 Step 0

Install MojoMojo's prerequisites. See L<http://mojomojo.org/documentation/installation>.

=head2 Step 1

Install MojoMojo either using the cpan shell like this:

    cpan MojoMojo

or by downloading the tarball from L<http://search.cpan.org/dist/MojoMojo> and
running perl Makefile.PL on it manually.

=head2 Step 2

C<mojomojo.conf> is the main configuration file and is in L<Config::General> format.

First make sure your config file has a valid DSN for your database (You can use
SQLite, MySQL or PostgreSQL - SQLite by default). The setting you change is the
C<connect_info> array in the C<Model::DBIC> block.

For instance, for MySQL:

    connect_info dbi:mysql:database=mojo_database;host=localhost
    connect_info mojo_user
    connect_info mojo_password

or for SQLite:

    connect_info dbi:SQLite:__HOME__/db/sqlite/mojomojo.db
    connect_info db_user
    connect_info db_password

or for PostgreSQL:

    connect_info   dbi:Pg:dbname=mojomojo;host=localhost;port=5432
    connect_info   mojo_user
    connect_info   mojo_password

Once the DSN is setup, create the table structure by running the following script:

    ./script/mojomojo_spawn_db.pl

This script has sane defaults for a test install, but you can override
these. Run it with --help to see usage information.

=head2 Step 3

Do one of these:

=over 4

=item Catalyst includes a test server which can be started using:

    ./script/mojomojo_server -p 3000

where 3000 is the port number and the default if no port is specified. Note
that if you install it through the cpan shell, mojomojo_server will be found
in your bin directory. Alternatively:

=item Use a lightweight web server

C<nginx> and C<lighttpd> are way easier to setup than Apache, and faster. Unless
you need some specific features of Apache, nginx is a better choice.

See L<http://mojomojo.org/documentation/deployment> for how to setup MojoMojo
with various web servers.

=item Set up Apache using either mod_perl or FastCGI.

See
http://search.cpan.org/dist/Catalyst/lib/Catalyst/Manual/Cookbook.pod#Using_FastCGI
for further information on FastCGI, or you can look at L<Catalyst::Engine::Apache>
for info on setting up Catalyst apps in Apache.

=back

If your server is connected to a http proxy you may need to add the following
line to the main config block:

    using_frontend_proxy 1

=head2 Step 4

Login to your MojoMojo and change the admin password. The defaul login/pass is
C<admin>/C<admin>.

For troubleshooting, see L<http://mojomojo.org/troubleshooting>.
