about summary refs log tree commit homepage
path: root/examples/apache2_perl.conf
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2014-04-30 20:24:54 +0000
committerEric Wong <e@80x24.org>2014-04-30 20:26:57 +0000
commitd444d9aebc6e401333968ec697c48fb23214a1ea (patch)
tree3f75d98092ab82d3701b58f26b3962394e957580 /examples/apache2_perl.conf
parentf286304f47685f6530462439b95951e2af86051f (diff)
downloadpublic-inbox-d444d9aebc6e401333968ec697c48fb23214a1ea.tar.gz
These are probably still popular configurations in some
settings, so include sample configurations to get folks
started.  These are trickier than an average CGI script
to setup because we rely on pretty URLs from PATH_INFO
and not ugly query parameters.
Diffstat (limited to 'examples/apache2_perl.conf')
-rw-r--r--examples/apache2_perl.conf35
1 files changed, 35 insertions, 0 deletions
diff --git a/examples/apache2_perl.conf b/examples/apache2_perl.conf
new file mode 100644
index 00000000..e963af6e
--- /dev/null
+++ b/examples/apache2_perl.conf
@@ -0,0 +1,35 @@
+# Example Apache2 configuration using mod_perl2
+# 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 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
+PerlPassEnv HOME
+<Directory /var/www/cgi-bin>
+        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
+
+        # 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]
+</Directory>