App-ForExample
view release on metacpan or search on metacpan
NAME
App::ForExample - A guide through Catalyst, Apache, lighttpd, nginx,
monit, ..., configuration hell
VERSION
Version 0.024
SYNOPSIS
# To output a FastCGI (ExternalServer)/Apache configuration (with monit stub and start-stop script), run:
for-example catalyst/fastcgi apache2 standalone --class My::App --hostname example.com --output my-app
# The above command would have created the following:
my-app.apache2 The Apache2 virtual host configuration (hosted at (www.)example.com)
my-app.start-stop The start/stop script to launch the FastCGI process
my-app.monit A monit stub used for monitoring the FastCGI process
# This will generate a basic, stripped-down monit configuration (monitrc) suitable for a non-root user:
for-example monit --home $HOME/monit --output $HOME/monit/monitrc
# A mod_perl configuration for Catalyst:
for-example catalyst/mod_perl --class Project::Xyzzy --hostname xyzzy.com --home Project-Xyzzy
DESCRIPTION
App::ForExample is a command-line tool for generating sample
configurations. It is not designed to do configuration management, but
rather as a guide to get you 80% of the way there
Besides the usual Apache, lighttpd, nginx, and FastCGI configurations,
App::ForExample can create a FastCGI start-stop script and a monit
configuration for monitoring those processes
USAGE
Usage: for-example ACTION
Where ACTION can be
(Note: Every option below is, well, optional. If not specified, a fun default will be chosen/guessed for you)
catalyst/fastcgi ...
Generate a Catalyst FastCGI configuration (for monit, start-stop, or the specified http daemon and fastcgi method)
--class The Catalyst class for your application (e.g. Project::Xyzzy or My::App)
--home The path to your Catalyst home directory, default: . (The current directory)
--log-home The directory to log into, default: <home>/log (Below the directory given by --home)
--base The base for your application, default: / (At the root)
--hostname The hostname from which your application is served (e.g. example.com)
--bare Do not output anything BUT the configuration (no monit, no start-stop)
--output - Print output to stdout
--output <path> Write output to <path> (which can be either a directory or file)
This will split output appropiately (e.g. <file>.apache2, <file>.start-stop, <file>.monit)
--fastcgi-script The <path> to the Catalyst fastcgi script (e.g. script/xyzzy_fastcgi.pl)
--fastcgi-socket <path> Have fastcgi use <path> for the file socket
--fastcgi-socket <host:port> Have fastcgi use <host:port> for the socket
--fastcgi-pid-file <path> Store the pid for the process in <path>
apache2 standalone Apache2 with standalone FastCGI (mod_fastcgi)
apache2 static Apache2 with static FastCGI (mod_fastcgi)
apache2 dynamic Apache2 with dynamic FastCGI (mod_fastcgi)
lighttpd standalone lighttpd with dynamic FastCGI
lighttpd static lighttpd with static FastCGI
nginx nginx with standalone FastCGI (the only kind supported)
monit A monit configuration for a standalone FastCGI setup
start-stop A start-stop script for a standalone FastCGI setup
catalyst/mod_perl
Generate a mod_perl2 (for Apache2) Catalyst configuration
--class The Catalyst class for your application (e.g. Project::Xyzzy or My::App)
--home The path to your Catalyst home directory, default: . (The current directory)
--log-home The directory to log into, default: <home>/log (Below the directory given by --home)
--base The base for your application, default: / (At the root)
--hostname The hostname from which your application is served (e.g. example.com)
monit
Generate a basic, stripped-down monit configuration suitable for a non-root user
--home The directory designated monit home (containing the pid file, log, rc, ...)
TUTORIAL
Apache2 with FastCGI on Ubuntu
Install apache2, mod_fastcgi, and FCGI
sudo apt-get install apache2 libapache2-mod-fastcgi
cpan -i FCGI
Create the Catalyst application "My::App"
catalyst.pl My::App
( run in 0.925 second using v1.01-cache-2.11-cpan-e1769b4cff6 )