Learn how to use a few CPAN modules to make deploying web applications on multiple servers as easy as "make install" and get back to what you really want to be doing, developing your application. Using the right tools we will organize configurations, pathing, document trees, and database schemas, and enable your app, to have its own deployment, beyond just installing libraries on your server.
For developers that like to tinker with new web applications it is easy to get bogged down in deployment. Maybe you write your application on your laptop, testing it with Apache from ~/public_html. Now you want to deploy on a public server you have or maybe hand the application over to a peer for review. But what if Apache is configured differently there? How do you install actual templates, static files, images, etc, and not just your libs? How do you get from your modules being installed on the server, to a web root being setup, httpd configured, database deployed, and application running?
It is these questions which can immediately take you out of what you want to be doing, developing your app, and bog you down in tedious repetition. Don't Repeat Yourself. A generic deployment should be able to automatically apply across servers, without you having to rethink it each time.
By the time we are done, you will be one command, a copy and paste, and a HUP away from seeing your app live, without copying configurations from one server to another, dealing with path issues, getting your document root together, and all the other gotchas that tend to creep up.