]> Sergey Matveev's repositories - public-inbox.git/blobdiff - examples/apache2_perl.conf
examples: various Apache-related doc updates
[public-inbox.git] / examples / apache2_perl.conf
index 6615eb9f5fa849a954167c73c0597c07f09778f8..a4721b5bd773c3e5f074960973a07acae805db17 100644 (file)
@@ -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
-<Directory /var/www/cgi-bin>
-       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
+<Location />
+       SetHandler perl-script
+       PerlResponseHandler Plack::Handler::Apache2
+       PerlSetVar psgi_app /path/to/public-inbox.psgi
+</Location>
 
-       # 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>
+# Optional, preload the application in the parent like startup.pl
+<Perl>
+       use Plack::Handler::Apache2;
+       Plack::Handler::Apache2->preload("/path/to/public-inbox.psgi");
+</Perl>