about summary refs log tree commit homepage
path: root/examples/apache2_perl.conf
blob: 6615eb9f5fa849a954167c73c0597c07f09778f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 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 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>