From a4dab1e4ec41edfa4ba07128f9ee5ff97a53c3ee Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Mon, 17 Mar 2008 20:02:45 +0100 Subject: [PATCH] move detailed setup documentation to interface modules Only keep basic instructions for Lighttpd+mod_fastcgi and Apache+mod_perl in PLP's main synopsis. Other configurations is given in the pods of interface modules. These are linked at PLP#DESCRIPTION, which now also contains an overview of supported servers. Mod_perl configuration variables have also been moved into PLP::Apache. In all, makes the main documentation much cleaner (uncluttered with interface-specific details). --- PLP.pm | 85 ++++++++++++++++++++++---------------------------- PLP/Apache.pm | 45 ++++++++++++++++++++++++++ PLP/CGI.pm | 47 ++++++++++++++++++++++++++++ PLP/FastCGI.pm | 47 ++++++++++++++++++++++++++++ 4 files changed, 176 insertions(+), 48 deletions(-) diff --git a/PLP.pm b/PLP.pm index 5899af3..e5988c6 100644 --- a/PLP.pm +++ b/PLP.pm @@ -256,47 +256,30 @@ PLP - Perl in HTML pages =head1 SYNOPSIS -=head2 mod_perl installation +=head2 Lighttpd installation -=over 10 +F configuration using L: + + server.modules = ( + "mod_fastcgi", + ) + fastcgi.server = ( + ".plp" => (( + "bin-path" => "/usr/bin/perl -MPLP::FastCGI", + "socket" => "/tmp/fcgi-plp.socket", + )), + ) + +=head2 Apache installation -=item * httpd.conf (for mod_perl setup) +F for a L setup: SetHandler perl-script PerlHandler PLP::Apache PerlSendHeader On - PerlSetVar PLPcache On - # Who said CGI was easier to set up? :) - -=back - -=head2 CGI installation - -=over 10 - -=item * /foo/bar/plp.cgi (local filesystem address) - - #!/usr/bin/perl - use PLP::CGI; - PLP::CGI::everything(); - -=item * httpd.conf (for CGI setup) - - ScriptAlias /foo/bar/ /PLP_COMMON/ - - AllowOverride None - Options +ExecCGI - Order allow,deny - Allow from all - - AddHandler plp-document plp - Action plp-document /PLP_COMMON/plp.cgi - -=back - =head2 Test script (test.plp) @@ -309,8 +292,28 @@ PLP - Perl in HTML pages PLP is yet another Perl embedder, primarily for HTML documents. Unlike with other Perl embedders, there is no need to learn a meta-syntax or object -model: one can just use the normal Perl constructs. PLP runs under mod_perl -for speeds comparable to those of PHP, but can also be run as a CGI script. +model: one can just use the normal Perl constructs. PLP runs under +L and L for speeds comparable +to those of PHP, but can also be run as a standard L script. + +=head2 Setup + +See either L, L or L. +At least the following servers are supported: + +=over 10 + +=item Lighttpd + +With L or L. + +=item Apache + +Either version 1 or 2. +Using L, L, +or L. + +=back =head2 PLP Syntax @@ -390,20 +393,6 @@ These are described in L. =back -=head2 (mod_perl only) PerlSetVar configuration directives - -=over 22 - -=item PLPcache - -Sets caching B/B. When caching, PLP saves your script in memory and -doesn't re-read and re-parse it if it hasn't changed. PLP will use more memory, -but will also run 50% faster. - -B is default, anything that isn't =~ /^off$/i is considered On. - -=back - =head2 Things that you should know about Not only syntax is important, you should also be aware of some other important diff --git a/PLP/Apache.pm b/PLP/Apache.pm index 5a9745c..b174486 100644 --- a/PLP/Apache.pm +++ b/PLP/Apache.pm @@ -79,3 +79,48 @@ sub handler { 1; +=head1 NAME + +PLP::Apache - Apache mod_perl interface for PLP + +=head1 SYNOPSIS + +Naturally, you'll need to enable I: + + apache-modconf apache enable mod_perl + +Setup F (often just create a F) with: + + + + SetHandler perl-script + PerlHandler PLP::Apache + PerlSendHeader On + PerlSetVar PLPcache On + + + +=head1 DESCRIPTION + +=head2 PerlSetVar configuration directives + +=over 16 + +=item PLPcache + +Sets caching B/B. When caching, PLP saves your script in memory and +doesn't re-read and re-parse it if it hasn't changed. PLP will use more memory, +but will also run 50% faster. + +B is default, anything that isn't =~ /^off$/i is considered On. + +=back + +=head1 AUTHOR + +Mischa POSLAWSKY + +=head1 SEE ALSO + +L, L, L + diff --git a/PLP/CGI.pm b/PLP/CGI.pm index 1f46a3c..698c34b 100644 --- a/PLP/CGI.pm +++ b/PLP/CGI.pm @@ -77,3 +77,50 @@ sub import { 1; +=head1 NAME + +PLP::CGI - CGI interface for PLP + +=head1 SYNOPSIS + +For most servers you'll need a script executable. +Example F: + + #!/usr/bin/perl + use PLP::CGI; + +Or install the C included with PLP. + +=head2 Lighttpd + +Usually in F: +enable I (add/outcomment in server.modules), and add: + + cgi.assign = ( + ".plp" => "/foo/bar/plp.cgi", + ) + +=head2 Apache + +Enable I and setup F +(often just create a F) with: + + + ScriptAlias /PLP_COMMON/ /foo/bar/ + + Options +ExecCGI + Order allow,deny + Allow from all + + AddHandler plp-document plp + Action plp-document /PLP_COMMON/plp.cgi + + +=head1 AUTHOR + +Mischa POSLAWSKY + +=head1 SEE ALSO + +L, L + diff --git a/PLP/FastCGI.pm b/PLP/FastCGI.pm index e16fbcb..7db7296 100644 --- a/PLP/FastCGI.pm +++ b/PLP/FastCGI.pm @@ -20,3 +20,50 @@ sub import { 1; +=head1 NAME + +PLP::FastCGI - FastCGI interface for PLP + +=head1 SYNOPSIS + +=head2 Lighttpd + +Edit the configuration file (usually F) +to enable I (add/outcomment in server.modules), and add: + + fastcgi.server = ( + ".plp" => (( + "bin-path" => "/usr/bin/perl -MPLP::FastCGI", + "socket" => "/tmp/fcgi-plp.socket", + )), + ) + +=head2 Apache + +You'll need a dispatch script (F is included with PLP). +Example F: + + #!/usr/bin/perl + use PLP::FastCGI; + +Then enable either I or I, and setup F +(often just create a F) with: + + + AddHandler fastcgi-script plp + FastCgiWrapper /foo/bar/plp.fcgi + + + + AddHandler fcgid-script plp + FCGIWrapper /foo/bar/plp.fcgi .plp + + +=head1 AUTHOR + +Mischa POSLAWSKY + +=head1 SEE ALSO + +L, L, L + -- 2.30.0