From 8665c69c48a88960ffb0aa6a9bacc380fa86f83d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 28 Feb 2016 23:03:52 +0000 Subject: examples: various Apache-related doc updates Plack::Handler::Apache2 exists and seems to work very well. --- examples/README | 13 ++++++------- examples/apache2_cgi.conf | 5 +++-- examples/apache2_perl.conf | 42 +++++++++++++++--------------------------- examples/apache2_perl_old.conf | 38 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 36 deletions(-) create mode 100644 examples/apache2_perl_old.conf (limited to 'examples') diff --git a/examples/README b/examples/README index 51133937..1244cb2c 100644 --- a/examples/README +++ b/examples/README @@ -5,14 +5,13 @@ For all server admins --------------------- public-inbox-config - configuration file, this maps configured inboxes -For Apache2 users without Plack -------------------------------- -apache2_perl.conf - intended to be the basis of a production config +For PSGI/Plack (HTTP) servers +----------------------------- +public-inbox.psgi - starting point for PSGI/Plack users in production and dev -Web server configs for quick-and-dirty demos --------------------------------------------- -apache2_cgi.conf - for Apache2 users who cannot install mod_perl -cgi-webrick.rb - only for Rubyists who do not wish to install Plack or Apache +For Apache2 users +----------------- +apache2_perl.conf - intended to be the basis of a production config Contact ------- diff --git a/examples/apache2_cgi.conf b/examples/apache2_cgi.conf index 775b7e67..5ec64d72 100644 --- a/examples/apache2_cgi.conf +++ b/examples/apache2_cgi.conf @@ -1,5 +1,6 @@ -# Example Apache2 configuration using mod_cgi -# If possible, use mod_perl (see apache2_perl.conf) instead of this. +# Example Apache2 configuration using CGI mod_cgi +# If possible, use mod_perl (see apache2_perl.conf) or +# a standalone PSGI/Plack # server instead of this. # Adjust paths to your installation. ServerName "public-inbox" diff --git a/examples/apache2_perl.conf b/examples/apache2_perl.conf index 6615eb9f..a4721b5b 100644 --- a/examples/apache2_perl.conf +++ b/examples/apache2_perl.conf @@ -1,37 +1,25 @@ -# Example Apache2 configuration using mod_perl2 +# Example Apache2 configuration using Plack::Handler::Apache2 # Adjust paths to your installation ServerName "public-inbox" -ServerRoot "/var/www/cgi-bin" -DocumentRoot "/var/www/cgi-bin" +ServerRoot "/var/www" +DocumentRoot "/var/www" ErrorLog "/tmp/public-inbox-error.log" PidFile "/tmp/public-inbox.pid" Listen 127.0.0.1:8080 LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so -LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so -LoadModule dir_module /usr/lib/apache2/modules/mod_dir.so -LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so -TypesConfig "/dev/null" -# PerlPassEnv PATH # this is implicit - - Options +ExecCGI - AddHandler perl-script .cgi - PerlResponseHandler ModPerl::Registry - PerlOptions +ParseHeaders +# no need to set no rely on HOME if using this: +PerlSetEnv PI_CONFIG /home/pi/.public-inbox/config - # we use this hack to ensure "public-inbox.cgi" doesn't show up - # in any of our redirects: - PerlSetEnv NO_SCRIPT_NAME 1 + + SetHandler perl-script + PerlResponseHandler Plack::Handler::Apache2 + PerlSetVar psgi_app /path/to/public-inbox.psgi + - # no need to set no rely on HOME if using this: - PerlSetEnv PI_CONFIG /home/pi/.public-inbox/config - - # our public-inbox.cgi requires PATH_INFO-based URLs with minimal - # use of query parameters - DirectoryIndex public-inbox.cgi - RewriteEngine On - RewriteCond %{REQUEST_FILENAME} !-f - RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule ^.* /public-inbox.cgi/$0 [L,PT] - +# Optional, preload the application in the parent like startup.pl + + use Plack::Handler::Apache2; + Plack::Handler::Apache2->preload("/path/to/public-inbox.psgi"); + diff --git a/examples/apache2_perl_old.conf b/examples/apache2_perl_old.conf new file mode 100644 index 00000000..a6de2304 --- /dev/null +++ b/examples/apache2_perl_old.conf @@ -0,0 +1,38 @@ +# Example legacy Apache2 configuration using CGI + mod_perl2 +# Consider using Plack::Handler::Apache2 instead (see apache2_perl.conf) +# Adjust paths to your installation + +ServerName "public-inbox" +ServerRoot "/var/www/cgi-bin" +DocumentRoot "/var/www/cgi-bin" +ErrorLog "/tmp/public-inbox-error.log" +PidFile "/tmp/public-inbox.pid" +Listen 127.0.0.1:8080 +LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so +LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so +LoadModule dir_module /usr/lib/apache2/modules/mod_dir.so +LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so +TypesConfig "/dev/null" + +# PerlPassEnv PATH # this is implicit + + Options +ExecCGI + AddHandler perl-script .cgi + PerlResponseHandler ModPerl::Registry + PerlOptions +ParseHeaders + + # we use this hack to ensure "public-inbox.cgi" doesn't show up + # in any of our redirects: + PerlSetEnv NO_SCRIPT_NAME 1 + + # no need to set no rely on HOME if using this: + PerlSetEnv PI_CONFIG /home/pi/.public-inbox/config + + # our public-inbox.cgi requires PATH_INFO-based URLs with minimal + # use of query parameters + DirectoryIndex public-inbox.cgi + RewriteEngine On + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule ^.* /public-inbox.cgi/$0 [L,PT] + -- cgit v1.2.3-24-ge0c7