]> Sergey Matveev's repositories - public-inbox.git/blobdiff - examples/apache2_perl.conf
add example configs for Apache2 mod_perl and CGI
[public-inbox.git] / examples / apache2_perl.conf
diff --git a/examples/apache2_perl.conf b/examples/apache2_perl.conf
new file mode 100644 (file)
index 0000000..e963af6
--- /dev/null
@@ -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>