about summary refs log tree commit homepage
path: root/examples/apache2_perl_old.conf
diff options
context:
space:
mode:
Diffstat (limited to 'examples/apache2_perl_old.conf')
-rw-r--r--examples/apache2_perl_old.conf38
1 files changed, 38 insertions, 0 deletions
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
+<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
+
+        # 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]
+</Directory>