Catalyst::Manual::Deployment::SharedHosting(3) Deploying Catalyst on Shared Hosting

Catalyst on shared hosting

So, you want to put your Catalyst application out there for the whole world to see, but you don't want to break the bank. There is an answer - if you can get shared hosting with FastCGI and a shell, you can install your Catalyst app in a local directory on your shared host. First, run

    perl -MCPAN -e shell

and go through the standard CPAN configuration process. Then exit without installing anything. Next, download the latest local::lib package and follow its 'bootstrap' instructions to get it installed and the local configuration added to your "~/.bashrc".

Now log out, then back in again (or run ". .bashrc" if you prefer).

Now you can install the modules you need using CPAN as normal; they will be installed into your local directory, and Perl will pick them up. Finally, change into the root directory of your virtual host, and symlink your application's script directory:

    cd path/to/mydomain.com
    ln -s ~/lib/MyApp/script script

And add the following lines to your .htaccess file (assuming the server is setup to handle .pl as fcgi - you may need to rename the script to myapp_fastcgi.fcgi and/or use a SetHandler directive):

  RewriteEngine On
  RewriteCond %{REQUEST_URI} !^/?script/myapp_fastcgi.pl
  RewriteRule ^(.*)$ script/myapp_fastcgi.pl/$1 [PT,L]

Now "http://mydomain.com/" should now Just Work. Congratulations, now you can tell your friends about your new website.

AUTHORS

Catalyst Contributors, see Catalyst.pm

COPYRIGHT

This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.