Merge changes to Apache 2.4 example config files
authorDan Scott <dscott@laurentian.ca>
Fri, 19 Apr 2013 15:06:27 +0000 (11:06 -0400)
committerMike Rylander <mrylander@gmail.com>
Fri, 19 Apr 2013 15:29:51 +0000 (11:29 -0400)
Not only do we need the JSPAC->TPAC changes that went into the base
Apache example configs, we should also move to generating these files
instead of having hardcoded values. Longer term, we should probably just
generate the right example configs from one common base until Apache 2.2
is dead and gone, but this improves the Apache 2.4 experience greatly.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/examples/apache_24/eg.conf [deleted file]
Open-ILS/examples/apache_24/eg.conf.in [new file with mode: 0644]
Open-ILS/examples/apache_24/eg_vhost.conf [deleted file]
Open-ILS/examples/apache_24/eg_vhost.conf.in [new file with mode: 0644]
Open-ILS/src/Makefile.am

diff --git a/Open-ILS/examples/apache_24/eg.conf b/Open-ILS/examples/apache_24/eg.conf
deleted file mode 100644 (file)
index c7b8be9..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-# :vim set syntax apache
-
-LogLevel info 
-# - log locally
-CustomLog /var/log/apache2/access.log combined
-ErrorLog /var/log/apache2/error.log
-# - log to syslog 
-# CustomLog "|/usr/bin/logger -p local7.info" common
-# ErrorLog  "|logger -p local7.error"
-
-
-# ----------------------------------------------------------------------------------
-# Set up Perl 
-# ----------------------------------------------------------------------------------
-
-# - needed by CGIs
-PerlRequire /etc/apache2/startup.pl
-PerlChildInitHandler OpenILS::WWW::Reporter::child_init
-PerlChildInitHandler OpenILS::WWW::SuperCat::child_init
-PerlChildInitHandler OpenILS::WWW::AddedContent::child_init
-PerlChildInitHandler OpenILS::WWW::PasswordReset::child_init
-PerlChildInitHandler OpenILS::WWW::AutoSuggest::child_init
-
-# ----------------------------------------------------------------------------------
-# Set some defaults for our working directories
-# ----------------------------------------------------------------------------------
-<Directory /openils/var/web>
-   Require all granted
-</Directory>
-
-
-# ----------------------------------------------------------------------------------
-# XUL directory
-# ----------------------------------------------------------------------------------
-<Directory /openils/var/web/xul>
-   Options Indexes FollowSymLinks
-   AllowOverride None
-   Require all granted
-</Directory>
-
-
-# ----------------------------------------------------------------------------------
-# Remove the language portion from the URL
-# ----------------------------------------------------------------------------------
-AliasMatch ^/opac/.*/skin/(.*)/(.*)/(.*) /openils/var/web/opac/skin/$1/$2/$3
-AliasMatch ^/opac/.*/extras/slimpac/(.*) /openils/var/web/opac/extras/slimpac/$1
-AliasMatch ^/opac/.*/extras/selfcheck/(.*) /openils/var/web/opac/extras/selfcheck/$1
-
-
-
-# ----------------------------------------------------------------------------------
-# System config CGI scripts go here
-# ----------------------------------------------------------------------------------
-Alias /cgi-bin/offline/ "/openils/var/cgi-bin/offline/"
-<Directory "/openils/var/cgi-bin/offline">
-       AddHandler cgi-script .cgi .pl
-       AllowOverride None
-       Options None
-    Require host 10.0.0.0/8
-       Options FollowSymLinks ExecCGI Indexes
-</Directory>
-
-
-# ----------------------------------------------------------------------------------
-# Updates folder
-# ----------------------------------------------------------------------------------
-Alias /updates/ "/openils/var/updates/pub/"
-<Directory "/openils/var/updates/pub">
-       <Files check>
-               ForceType cgi-script
-       </Files>
-       <Files update.rdf>
-               ForceType cgi-script
-       </Files>
-       <Files manualupdate.html>
-               ForceType cgi-script
-       </Files>
-       <Files download>
-               ForceType cgi-script
-       </Files>
-       AllowOverride None
-       Options None
-       Options ExecCGI
-    Require all granted
-</Directory>
-
-
-# ----------------------------------------------------------------------------------
-# OPTIONAL: Set how long the client will cache our content.  Change to suit
-# ----------------------------------------------------------------------------------
-ExpiresActive On
-ExpiresDefault "access plus 1 month"
-ExpiresByType text/html "access plus 18 hours"
-ExpiresByType application/xhtml+xml "access plus 18 hours"
-ExpiresByType application/x-javascript "access plus 18 hours"
-ExpiresByType application/javascript "access plus 18 hours"
-ExpiresByType text/css "access plus 50 minutes"
-
-# ----------------------------------------------------------------------------------
-# Set up our SSL virtual host
-# ----------------------------------------------------------------------------------
-#Listen 443
-NameVirtualHost *:443
-<VirtualHost *:443>
-       DocumentRoot "/openils/var/web"
-       ServerName localhost:443
-       ServerAlias 127.0.0.1:443
-       SSLEngine on
-       SSLHonorCipherOrder On
-       SSLCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM
-
-    # If you don't have an SSL cert, you can create self-signed 
-    # certificate and key with:
-    # openssl req -new -x509 -nodes -out server.crt -keyout server.key
-       SSLCertificateFile ssl/server.crt
-       SSLCertificateKeyFile ssl/server.key
-
-    # - absorb the shared virtual host settings
-    Include eg_vhost.conf
-
-    # help IE along with SSL pages
-    SetEnvIf User-Agent ".*MSIE [1-5].*" \
-        nokeepalive ssl-unclean-shutdown \
-        downgrade-1.0 force-response-1.0
-
-    SetEnvIf User-Agent ".*MSIE [6-9].*" \
-        ssl-unclean-shutdown
-
-</VirtualHost>
-
-# ----------------------------------------------------------------------------------
-# Set up our main virtual host
-# Port 80 comes after 443 to avoid "unknown protocol speaking not SSL to HTTPS port!?" 
-# errors, per http://wiki.apache.org/httpd/InternalDummyConnection
-# ----------------------------------------------------------------------------------
-
-# Commented to avoid warnings from duplicate "NameVirtualHost: *80" directives
-#NameVirtualHost *:80
-<VirtualHost *:80>
-       ServerName localhost:80
-       ServerAlias 127.0.0.1:80
-       DocumentRoot /openils/var/web/
-       DirectoryIndex index.xml index.html index.xhtml
-    # - absorb the shared virtual host settings
-    Include eg_vhost.conf
-</VirtualHost>
-
diff --git a/Open-ILS/examples/apache_24/eg.conf.in b/Open-ILS/examples/apache_24/eg.conf.in
new file mode 100644 (file)
index 0000000..a62c476
--- /dev/null
@@ -0,0 +1,147 @@
+# :vim set syntax apache
+
+LogLevel info 
+# - log locally
+# CustomLog /var/log/apache2/access.log combined
+# ErrorLog /var/log/apache2/error.log
+# - log to syslog 
+CustomLog "|/usr/bin/logger -p local7.info" common
+ErrorLog syslog:local7
+
+
+# ----------------------------------------------------------------------------------
+# Set up Perl 
+# ----------------------------------------------------------------------------------
+
+# - needed by CGIs
+PerlRequire /etc/apache2/eg_startup
+PerlChildInitHandler OpenILS::WWW::Reporter::child_init
+PerlChildInitHandler OpenILS::WWW::SuperCat::child_init
+PerlChildInitHandler OpenILS::WWW::AddedContent::child_init
+PerlChildInitHandler OpenILS::WWW::PasswordReset::child_init
+PerlChildInitHandler OpenILS::WWW::AutoSuggest::child_init
+
+# ----------------------------------------------------------------------------------
+# Set some defaults for our working directories
+# ----------------------------------------------------------------------------------
+<Directory @localstatedir@/web>
+   Require all granted
+</Directory>
+
+
+# ----------------------------------------------------------------------------------
+# XUL directory
+# ----------------------------------------------------------------------------------
+<Directory @localstatedir@/web/xul>
+   Options Indexes FollowSymLinks
+   AllowOverride None
+   Require all granted
+</Directory>
+
+
+# ----------------------------------------------------------------------------------
+# Remove the language portion from the URL
+# ----------------------------------------------------------------------------------
+AliasMatch ^/opac/.*/skin/(.*)/(.*)/(.*) @localstatedir@/web/opac/skin/$1/$2/$3
+AliasMatch ^/opac/.*/extras/slimpac/(.*) @localstatedir@/web/opac/extras/slimpac/$1
+AliasMatch ^/opac/.*/extras/selfcheck/(.*) @localstatedir@/web/opac/extras/selfcheck/$1
+
+
+
+# ----------------------------------------------------------------------------------
+# System config CGI scripts go here
+# ----------------------------------------------------------------------------------
+Alias /cgi-bin/offline/ "@localstatedir@/cgi-bin/offline/"
+<Directory "@localstatedir@/cgi-bin/offline">
+       AddHandler cgi-script .cgi .pl
+       AllowOverride None
+       Options None
+    Require host 10.0.0.0/8
+       Options FollowSymLinks ExecCGI Indexes
+</Directory>
+
+
+# ----------------------------------------------------------------------------------
+# Updates folder
+# ----------------------------------------------------------------------------------
+Alias /updates/ "@localstatedir@/updates/pub/"
+<Directory "@localstatedir@/updates/pub">
+       <Files check>
+               ForceType cgi-script
+       </Files>
+       <Files update.rdf>
+               ForceType cgi-script
+       </Files>
+       <Files manualupdate.html>
+               ForceType cgi-script
+       </Files>
+       <Files download>
+               ForceType cgi-script
+       </Files>
+       AllowOverride None
+       Options None
+       Options ExecCGI
+    Require all granted
+</Directory>
+
+
+# ----------------------------------------------------------------------------------
+# OPTIONAL: Set how long the client will cache our content.  Change to suit
+# ----------------------------------------------------------------------------------
+ExpiresActive On
+ExpiresDefault "access plus 1 month"
+ExpiresByType text/html "access plus 18 hours"
+ExpiresByType application/xhtml+xml "access plus 18 hours"
+ExpiresByType application/x-javascript "access plus 18 hours"
+ExpiresByType application/javascript "access plus 18 hours"
+ExpiresByType text/css "access plus 50 minutes"
+
+# ----------------------------------------------------------------------------------
+# Set up our SSL virtual host
+# ----------------------------------------------------------------------------------
+#Listen 443
+NameVirtualHost *:443
+<VirtualHost *:443>
+       DocumentRoot "@localstatedir@/web"
+       ServerName localhost:443
+       ServerAlias 127.0.0.1:443
+       SSLEngine on
+       SSLHonorCipherOrder On
+       SSLCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM
+
+    # If you don't have an SSL cert, you can create self-signed 
+    # certificate and key with:
+    # openssl req -new -x509 -nodes -out server.crt -keyout server.key
+       SSLCertificateFile ssl/server.crt
+       SSLCertificateKeyFile ssl/server.key
+
+    # - absorb the shared virtual host settings
+    Include eg_vhost.conf
+
+    # help IE along with SSL pages
+    SetEnvIf User-Agent ".*MSIE [1-5].*" \
+        nokeepalive ssl-unclean-shutdown \
+        downgrade-1.0 force-response-1.0
+
+    SetEnvIf User-Agent ".*MSIE [6-9].*" \
+        ssl-unclean-shutdown
+
+</VirtualHost>
+
+# ----------------------------------------------------------------------------------
+# Set up our main virtual host
+# Port 80 comes after 443 to avoid "unknown protocol speaking not SSL to HTTPS port!?" 
+# errors, per http://wiki.apache.org/httpd/InternalDummyConnection
+# ----------------------------------------------------------------------------------
+
+# Commented to avoid warnings from duplicate "NameVirtualHost: *80" directives
+#NameVirtualHost *:80
+<VirtualHost *:80>
+       ServerName localhost:80
+       ServerAlias 127.0.0.1:80
+       DocumentRoot @localstatedir@/web/
+       DirectoryIndex index.xml index.html index.xhtml
+    # - absorb the shared virtual host settings
+    Include eg_vhost.conf
+</VirtualHost>
+
diff --git a/Open-ILS/examples/apache_24/eg_vhost.conf b/Open-ILS/examples/apache_24/eg_vhost.conf
deleted file mode 100644 (file)
index a5e3fcf..0000000
+++ /dev/null
@@ -1,731 +0,0 @@
-# ----------------------------------------------------------------------------------
-# This is the global Evergreen virtual host config.  Anything you want published
-# through all virtual hosts (port 80, port 443, etc.) should live in here.
-# ----------------------------------------------------------------------------------
-
-# ----------------------------------------------------------------------------------
-# Point / to the opac - if you have a custom skin or locale, point at it here
-# ----------------------------------------------------------------------------------
-RedirectMatch 301 ^/$ /opac/en-US/skin/default/xml/index.xml
-
-# ----------------------------------------------------------------------------------
-# Point / to the IP address redirector
-# ----------------------------------------------------------------------------------
-#<LocationMatch ^/$>
-#    SetHandler perl-script
-#    PerlHandler OpenILS::WWW::Redirect
-#    Options +ExecCGI
-#    PerlSendHeader On
-#    #PerlSetVar OILSRedirectSkin "default"
-#    # OILSRedirectDepth defaults to the depth of the branch that the OPAC was directed to
-#    #PerlSetVar OILSRedirectDepth "0"
-#    #PerlSetVar OILSRedirectLocale "en-US"
-#    # Use the template-toolkit opac
-#    #PerlSetVar OILSRedirectTpac "true"
-#    allow from all
-#</LocationMatch>
-
-
-# ----------------------------------------------------------------------------------
-# Assign a default locale to the accessible OPAC
-# ----------------------------------------------------------------------------------
-RedirectMatch 301 ^/opac/extras/slimpac/start.html$    /opac/en-US/extras/slimpac/start.html
-RedirectMatch 301 ^/opac/extras/slimpac/advanced.html$ /opac/en-US/extras/slimpac/advanced.html
-
-# ----------------------------------------------------------------------------------
-# Configure the gateway
-# ----------------------------------------------------------------------------------
-OSRFGatewayConfig /openils/conf/opensrf_core.xml
-# Translator memcache server.  Default is localhost
-# OSRFTranslatorCacheServer 127.0.0.1:11211
-
-
-# ----------------------------------------------------------------------------------
-# Added content plugin
-# ----------------------------------------------------------------------------------
-<Location /opac/extras/ac/>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::AddedContent
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-
-# Autosuggest for searches
-<Location /opac/extras/autosuggest>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::AutoSuggest
-    PerlSendHeader On
-    Require all granted 
-</Location>
-
-# Flattener service
-<Location /opac/extras/flattener>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::FlatFielder
-    PerlSendHeader On
-    Require all granted 
-</Location>
-
-# ----------------------------------------------------------------------------------
-# Replace broken cover images with a transparent GIF by default
-# ----------------------------------------------------------------------------------
-RewriteEngine ON
-RewriteRule ^/opac/extras/ac/jacket/(small|medium|large)/$ \
-    /opac/images/blank.png [P,L]
-
-# ----------------------------------------------------------------------------------
-# Add the row ID (RID) and date so we can make unAPI happy
-# ----------------------------------------------------------------------------------
-RewriteCond %{QUERY_STRING} (^r|&r)=(\d+)
-RewriteRule . - [E=OILS_OPAC_RID:%2,E=OILS_TIME_YEAR:%{TIME_YEAR}]
-
-# ----------------------------------------------------------------------------------
-# Pull the locale from the URL
-# ----------------------------------------------------------------------------------
-RewriteCond %{REQUEST_URI} ^/opac/(.*?)/
-RewriteRule . - [E=locale:%1]
-
-# ----------------------------------------------------------------------------------
-# For sanity reasons, default indexes to Off
-# ----------------------------------------------------------------------------------
-Options -Indexes
-
-# ----------------------------------------------------------------------------------
-# Configure the OPAC
-# ----------------------------------------------------------------------------------
-<LocationMatch /opac/>
-    SSILegacyExprParser on
-    AddType application/xhtml+xml .xml
-   
-    # - configure mod_xmlent
-    XMLEntStripPI "yes"
-    XMLEntEscapeScript "no"
-    XMLEntStripComments "yes"
-    XMLEntContentType "text/html; charset=utf-8"
-    # forces quirks mode which we want for now
-    XMLEntStripDoctype "yes" 
-
-    # - set up the include handlers
-    Options +Includes
-    AddOutputFilter INCLUDES .xsl
-    AddOutputFilter INCLUDES;XMLENT .xml
-                   
-    SetEnvIf Request_URI ".*" OILS_OPAC_BASE=/opac/
-    
-    # This gives you the option to configure a different host to serve OPAC images from
-    # Specify the hostname (without protocol) and path to the images.  Protocol will
-    # be determined at runtime
-    #SetEnvIf Request_URI ".*" OILS_OPAC_IMAGES_HOST=static.example.org/opac/
-
-    # In addition to loading images from a static host, you can also load CSS and/or
-    # Javascript from a static host or hosts. Protocol will be determined at runtime
-    # and/or by configuration options immediately following.
-    #SetEnvIf Request_URI ".*" OILS_OPAC_CSS_HOST=static.example.org/opac/
-    #SetEnvIf Request_URI ".*" OILS_OPAC_JS_HOST=static.example.org/opac/
-
-    # If you are not able to serve static content via https and 
-    # wish to force http:// (and are comfortable with mixed-content
-    # warnings in client browsers), set this:
-    #SetEnvIf Request_URI ".*" OILS_OPAC_STATIC_PROTOCOL=http
-
-    # If you would prefer to fall back to your non-static servers for 
-    # https pages, avoiding mixed-content warnings in client browsers
-    # and are willing to accept some increased server load, set this:
-    #SetEnvIf Request_URI ".*" OILS_OPAC_BYPASS_STATIC_FOR_HTTPS=yes
-
-    # Specify a ChiliFresh account to integrate their services with the OPAC
-    #SetEnv OILS_CHILIFRESH_ACCOUNT
-    #SetEnv OILS_CHILIFRESH_PROFILE
-    #SetEnv OILS_CHILIFRESH_URL http://chilifresh.com/on-site/js/evergreen.js
-    #SetEnv OILS_CHILIFRESH_HTTPS_URL https://secure.chilifresh.com/on-site/js/evergreen.js
-
-    # Specify the initial script URL for Novelist (containing account credentials, etc.)
-    #SetEnv OILS_NOVELIST_URL
-    #
-
-    # Uncomment to force SSL any time a patron is logged in.  This protects 
-    # authentication tokens.  Left commented out for backwards compat for now.
-    #SetEnv OILS_OPAC_FORCE_LOGIN_SSL 1
-
-    # If set, the skin uses the combined JS file at $SKINDIR/js/combined.js
-    #SetEnv OILS_OPAC_COMBINED_JS 1
-
-</LocationMatch>
-
-<Location /opac/>
-    # ----------------------------------------------------------------------------------
-    # Some mod_deflate fun
-    # ----------------------------------------------------------------------------------
-    <IfModule mod_deflate.c>
-        SetOutputFilter DEFLATE
-
-        BrowserMatch ^Mozilla/4 gzip-only-text/html
-        BrowserMatch ^Mozilla/4\.0[678] no-gzip
-        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
-
-        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
-
-        <IfModule mod_headers.c>
-            Header append Vary User-Agent env=!dont-vary
-        </IfModule>
-    </IfModule>
-
-</Location>
-
-<Location //opac/>
-    # ----------------------------------------------------------------------------------
-    # Some mod_deflate fun
-    # ----------------------------------------------------------------------------------
-    <IfModule mod_deflate.c>
-        SetOutputFilter DEFLATE
-
-        BrowserMatch ^Mozilla/4 gzip-only-text/html
-        BrowserMatch ^Mozilla/4\.0[678] no-gzip
-        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
-
-        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
-
-        <IfModule mod_headers.c>
-            Header append Vary User-Agent env=!dont-vary
-        </IfModule>
-    </IfModule>
-
-</Location>
-
-# ----------------------------------------------------------------------------------
-# Force SSL on the OPAC's "My Account" page
-# ----------------------------------------------------------------------------------
-<LocationMatch .*/myopac.xml>
-    SSLRequireSSL
-</LocationMatch>
-
-<LocationMatch /opac/extras/>
-    SSILegacyExprParser on
-    # Force to en-US for now to satisfy bbags.xml
-    SetEnv locale en-US
-    Options +Includes
-    AddOutputFilter INCLUDES .xml
-    AddType application/xhtml+xml .xml
-</LocationMatch>
-
-RewriteCond %{QUERY_STRING} locale=([^&]*)
-RewriteRule ^/opac/[a-z]{2}-[A-Z]{2}/extras/slimpac/(.*)$ /opac/%1/extras/slimpac/$1? [redirect]
-<LocationMatch /opac/[a-z]{2}-[A-Z]{2}/extras/slimpac/>
-    AddOutputFilter INCLUDES;XMLENT .html
-</LocationMatch>
-
-# ----------------------------------------------------------------------------------
-# Run server-side XUL and XHTML through xmlent to load the correct XML entities
-# ----------------------------------------------------------------------------------
-RewriteCond %{HTTP:Accept-Language} ^([a-z]{2}-[A-Z]{2})$
-# Default to en-US if we haven't matched a locale of the form xx-YY 
-RewriteRule .? - [S=4]
-RewriteRule ^/xul/      -       [E=locale:en-US]
-RewriteRule ^/reports/  -       [E=locale:en-US]
-RewriteRule .? - [E=locale:en-US]
-RewriteRule .? - [S=3]
-# Otherwise, set our real locale
-RewriteRule ^/xul/      -       [E=locale:%{HTTP:Accept-Language}]
-RewriteRule ^/reports/  -       [E=locale:%{HTTP:Accept-Language}]
-RewriteRule .? - [E=locale:%{HTTP:Accept-Language}]
-
-<LocationMatch /xul/.*\.x?html$>
-    SSILegacyExprParser on
-    Options +Includes
-    XMLEntEscapeScript "no"
-    XMLEntStripComments "yes"
-    XMLEntStripPI "yes"
-    XMLEntStripDoctype "yes"
-    XMLEntContentType "text/html; charset=utf-8"
-    AddOutputFilter INCLUDES;XMLENT .xhtml
-    AddOutputFilter INCLUDES;XMLENT .html
-    SetEnv no-gzip
-    Require all granted 
-</LocationMatch>
-
-
-<LocationMatch /xul/.*\.xul$>
-    SSILegacyExprParser on
-    Options +Includes
-    XMLEntContentType "application/vnd.mozilla.xul+xml"
-    AddOutputFilter INCLUDES;XMLENT .xul
-    SetEnv no-gzip
-    Require all granted 
-</LocationMatch>
-
-# ----------------------------------------------------------------------------------
-# Self-serve password interface
-# ----------------------------------------------------------------------------------
-<Location /opac/password>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::PasswordReset::password_reset
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-
-    # Force clients to use HTTPS
-    RewriteCond %{HTTPS} !=on [NC]
-    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
-</Location>
-
-# ----------------------------------------------------------------------------------
-# Supercat feeds
-# ----------------------------------------------------------------------------------
-<Location /opac/extras/oisbn>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::SuperCat::oisbn
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-<Location /opac/extras/supercat>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::SuperCat::supercat
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-<Location /opac/extras/unapi>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::SuperCat::unapi
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-<Location /opac/extras/feed/bookbag>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::SuperCat::bookbag_feed
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-<Location /opac/extras/opensearch>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::SuperCat::opensearch_feed
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-<Location /opac/extras/sru>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::SuperCat::sru_search
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-<Location /opac/extras/sru_auth>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::SuperCat::sru_auth_search
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-<Location /opac/extras/feed/freshmeat>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::SuperCat::changes_feed
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-<Location /opac/extras/browse>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::SuperCat::string_browse
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>    
-<Location /opac/extras/startwith>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::SuperCat::string_startwith
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>    
-       
-# ----------------------------------------------------------------------------------
-# Module for displaying OpenSRF API documentation
-# ----------------------------------------------------------------------------------
-<Location /opac/extras/docgen.xsl>
-    AddOutputFilter INCLUDES .xsl
-</Location>
-
-# ----------------------------------------------------------------------------------
-# Module for processing staff-client offline scripts lives here
-# ----------------------------------------------------------------------------------
-<Directory "/openils/var/cgi-bin/offline">
-    AddHandler cgi-script .pl
-    AllowOverride None
-    Options +ExecCGI
-    Require all granted 
-</Directory>
-       
-       
-# ----------------------------------------------------------------------------------
-# XXX Note, it's important to explicitly set the JSON encoding style 
-# (OSRFGatewayLegacyJSON), since the default encoding style will likely change 
-# with OpenSRF 1.0
-# ----------------------------------------------------------------------------------
-# OpenSRF JSON legacy gateway
-# ----------------------------------------------------------------------------------
-<Location /gateway>
-    SetHandler osrf_json_gateway_module
-    OSRFGatewayLegacyJSON "true"
-    Require all granted 
-</Location>
-# ----------------------------------------------------------------------------------
-# New-style OpenSRF JSON gateway
-# ----------------------------------------------------------------------------------
-<Location /osrf-gateway-v1>
-    SetHandler osrf_json_gateway_module
-    OSRFGatewayLegacyJSON "false"
-    Require all granted 
-</Location>
-
-# ----------------------------------------------------------------------------------
-# OpenSRF-over-HTTP translator
-# (http://open-ils.org/dokuwiki/doku.php?id=opensrf_over_http)
-# ----------------------------------------------------------------------------------
-<Location /osrf-http-translator>
-    SetHandler osrf_http_translator_module
-    Require all granted 
-</Location>
-
-# ----------------------------------------------------------------------------------
-# The exporter lives here
-# ----------------------------------------------------------------------------------
-<Location /exporter>
-    SetHandler perl-script
-    AuthType Basic
-    AuthName "Exporter Login"
-    PerlOptions +GlobalRequest
-    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
-    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
-    require valid-user
-    PerlHandler OpenILS::WWW::Exporter
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-
-<Location /opac/extras/merge_template>
-    SetHandler perl-script
-    AuthType Basic
-    AuthName "Batch Update Login"
-    PerlOptions +GlobalRequest
-    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
-    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
-    require valid-user
-    PerlHandler OpenILS::WWW::TemplateBatchBibUpdate
-    PerlSendHeader On
-    Options +ExecCGI
-    Require all granted 
-</Location>
-
-<Location /opac/extras/circ>
-    AuthType Basic
-    AuthName "Circ Extras Login"
-    PerlOptions +GlobalRequest
-    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
-    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
-    require valid-user
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-
-<Location /collections>
-    SetHandler perl-script
-    AuthType Basic
-    AuthName "Collections Login"
-    PerlOptions +GlobalRequest
-    PerlSetVar OILSProxyPermissions "money.collections_tracker.create"
-    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
-    require valid-user
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-
-
-# ----------------------------------------------------------------------------------
-# Reporting output lives here
-# ----------------------------------------------------------------------------------
-<Location /reporter/>
-    AuthType Basic
-    AuthName "Report Login"
-    PerlOptions +GlobalRequest
-    PerlSetVar OILSProxyPermissions "VIEW_REPORT_OUTPUT"
-    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
-    require valid-user
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-
-# ----------------------------------------------------------------------------------
-# Selfcheck interface
-# ----------------------------------------------------------------------------------
-<LocationMatch .*/selfcheck.xml>
-    AuthType Basic
-    AuthName "Self-check Login"
-    PerlOptions +GlobalRequest
-    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
-    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
-    require valid-user
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</LocationMatch>
-
-
-# ----------------------------------------------------------------------------------
-# Reports GUI
-# ----------------------------------------------------------------------------------
-<LocationMatch /reports>
-    SSILegacyExprParser on
-    Options +Includes
-    AddOutputFilter INCLUDES;XMLENT .xhtml
-</LocationMatch>
-
-<LocationMatch /reports/fm_IDL.xml>
-    IDLChunkStripPI "yes"
-    IDLChunkEscapeScript "no"
-    IDLChunkStripComments "yes"
-    IDLChunkStripDoctype "yes"
-    IDLChunkContentType "application/xml; charset=utf-8"
-    AddOutputFilter INCLUDES;IDLCHUNK .xml
-</LocationMatch>
-
-# ----------------------------------------------------------------------------------
-# EDI Message viewer
-# ----------------------------------------------------------------------------------
-<Location /edi>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::EDI
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>    
-
-# ----------------------------------------------------------------------------------
-# XML-RPC gateway
-# ----------------------------------------------------------------------------------
-<Location /xml-rpc>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::XMLRPCGateway
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-
-# ----------------------------------------------------------------------------------
-# Conify - next-generation Evergreen administration interface
-# ----------------------------------------------------------------------------------
-RewriteRule ^/conify/([a-z]{2}-[A-Z]{2})/global/(.*)$ /conify/global/$2 [E=locale:$1,L]
-<Location /conify>
-    SSILegacyExprParser on
-    Options +Includes
-    XMLEntStripPI "yes"
-    XMLEntEscapeScript "no"
-    XMLEntStripComments "no"
-    XMLEntContentType "text/html; charset=utf-8"
-    AddOutputFilter INCLUDES;XMLENT .html
-    AuthType Basic
-    AuthName "Dojo Admin Login"
-    PerlOptions +GlobalRequest
-    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
-    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
-    require valid-user
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-</Location>
-
-<Location /vandelay-upload>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::Vandelay::spool_marc
-    Options +ExecCGI
-    Require all granted 
-</Location>
-
-# OpenURL 0.1 searching based on OpenSearch
-RewriteMap openurl prg:/openils/bin/openurl_map.pl
-RewriteCond %{QUERY_STRING} (^.*$)
-RewriteRule ^/openurl$ ${openurl:%1} [NE,PT]
-
-
-
-# General Evergreen web template processor
-<Location /eg>
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::EGWeb
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-
-    PerlSetVar OILSWebBasePath "/eg"
-    PerlSetVar OILSWebWebDir "/openils/var/web"
-    PerlSetVar OILSWebDefaultTemplateExtension "tt2"
-
-    # Enable Template-Toolkit error debugging messages (apache error log)
-    PerlSetVar OILSWebDebugTemplate "true"
-
-    # -------------------------------------------------------
-    # Media Prefix.  In the 3rd example, the protocol (http) is enforced
-    #PerlSetVar OILSWebMediaPrefix "/media"
-    #PerlSetVar OILSWebMediaPrefix "static.example.com/media"
-    #PerlSetVar OILSWebMediaPrefix "http://static.example.com/media"
-
-    # Locale messages files:
-    #
-    # These appear in pairs; the first represents the user agent
-    # Accept-Language header locale, and the second represents
-    # the fully-qualified path for the corresponding PO file that
-    # contains the messages.
-    #
-    # If you enable two or more locales, then users will be able to
-    # select their preferred locale from a locale picker in the TPAC.
-    #
-    #PerlAddVar OILSWebLocale "en"
-    #PerlAddVar OILSWebLocale "/openils/var/data/locale/messages.en.po"
-    #PerlAddVar OILSWebLocale "en_ca"
-    #PerlAddVar OILSWebLocale "/openils/var/data/locale/en-CA.po"
-    #PerlAddVar OILSWebLocale "fr_ca"
-    #PerlAddVar OILSWebLocale "/openils/var/data/locale/fr-CA.po"
-
-    # Set the default locale: defaults to en-US
-    #PerlAddVar OILSWebDefaultLocale "fr_ca"
-    
-    # Templates will be loaded from the following paths in reverse order.
-    PerlAddVar OILSWebTemplatePath "/openils/var/templates"
-    #PerlAddVar OILSWebTemplatePath "/openils/var/templates_localskin"
-
-    #-------------------------------------------------
-    # Added Content Configuration
-    #-------------------------------------------------
-    # Content Cafe
-    #SetEnv OILS_CONTENT_CAFE_USER MYUSER
-    #SetEnv OILS_CONTENT_CAFE_PASS MYPASS
-    
-    # LibraryThing
-    #SetEnv OILS_LIBRARYTHING_URL http://ltfl.librarything.com/forlibraries/widget.js?id=MYID
-    #SetEnv OILS_LIBRARYTHING_HTTPS_URL https://ltfl.librarything.com/forlibraries/widget.js?id=MYID
-    
-    # ChiliFresh
-    #SetEnv OILS_CHILIFRESH_ACCOUNT
-    #SetEnv OILS_CHILIFRESH_URL http://chilifresh.com/on-site/js/evergreen.js
-    #SetEnv OILS_CHILIFRESH_HTTPS_URL https://secure.chilifresh.com/on-site/js/evergreen.js
-
-    # Novelist
-    # SetEnv OILS_NOVELIST_URL http://imageserver.ebscohost.com/novelistselect/ns2init.js
-    # SetEnv OILS_NOVELIST_PROFILE <profile>
-    # SetEnv OILS_NOVELIST_PASSWORD <password>
-
-    #-------------------------------------------------
-
-    <IfModule mod_deflate.c>
-        SetOutputFilter DEFLATE
-        BrowserMatch ^Mozilla/4 gzip-only-text/html
-        BrowserMatch ^Mozilla/4\.0[678] no-gzip
-        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
-        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
-        <IfModule mod_headers.c>
-            Header append Cache-Control "public"
-            Header append Vary User-Agent env=!dont-vary
-        </IfModule>
-    </IfModule>
-</Location>
-<LocationMatch ^/(images|css|js)/>
-    # should pick up the default expire time from eg.conf...
-    <IfModule mod_deflate.c>
-        SetOutputFilter DEFLATE
-        BrowserMatch ^Mozilla/4 gzip-only-text/html
-        BrowserMatch ^Mozilla/4\.0[678] no-gzip
-        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
-        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
-        <IfModule mod_headers.c>
-            Header append Cache-Control "public"
-            Header append Vary User-Agent env=!dont-vary
-        </IfModule>
-    </IfModule>
-</LocationMatch>
-<Location /eg/opac>
-    PerlSetVar OILSWebContextLoader "OpenILS::WWW::EGCatLoader"
-    # Expire the HTML quickly since we're loading dynamic data for each page
-    ExpiresActive On
-    ExpiresByType text/html "access plus 5 seconds"
-</Location>
-<Location /eg/kpac>
-    PerlSetVar OILSWebContextLoader "OpenILS::WWW::EGKPacLoader"
-    PerlSetVar KPacConfigFile "/openils/conf/kpac.xml.example"
-    ExpiresActive On
-    ExpiresByType text/html "access plus 5 seconds"
-</Location>
-
-# Note: the template processor will decline handling anything it does not
-# have an explicit configuration for, which means it will fall back to 
-# Apache to serve the file.  However, in the interest of speed, go ahead 
-# and tell Apache to avoid asking OpenILS::WWW::EGWeb for static content.
-# Add more exemptions as needed.
-<LocationMatch ^/eg/.*(\.js|\.html|\.xhtml|\.xml|\.jpg|\.png|\.gif)$>
-    SetHandler None
-</LocationMatch>
-
-# ----------------------------------------------------------------------------------
-# Some mod_deflate logging setup
-# ----------------------------------------------------------------------------------
-<IfModule mod_deflate.c>
-    DeflateFilterNote Input instream
-    DeflateFilterNote Output outstream
-    DeflateFilterNote Ratio ratio
-
-    LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
-    CustomLog /var/log/apache2/deflate_log deflate
-
-    # There are problems with XMLENT and mod_deflate - so lets disable it
-    # This is where we don't have a pre-existing LocationMatch directive earlier
-    <LocationMatch /opac/.*\.xml$>
-        SetEnv no-gzip
-    </LocationMatch>
-    <LocationMatch /opac/[a-z]{2}-[A-Z]{2}/extras/slimpac/.*\.html$>
-        SetEnv no-gzip
-    </LocationMatch>
-    <LocationMatch /reports/.*\.xhtml$>
-        SetEnv no-gzip
-    </LocationMatch>
-    <LocationMatch /conify/.*\.html$>
-        SetEnv no-gzip
-    </LocationMatch>
-</IfModule>
-
-
-<Location /IDL2js>
-
-    SetHandler perl-script
-    PerlHandler OpenILS::WWW::IDL2js
-    Options +ExecCGI
-    PerlSendHeader On
-    Require all granted 
-
-    <IfModule mod_headers.c>
-        Header append Cache-Control "public"
-    </IFModule>
-
-    <IfModule mod_deflate.c>
-        SetOutputFilter DEFLATE
-        BrowserMatch ^Mozilla/4 gzip-only-text/html
-        BrowserMatch ^Mozilla/4\.0[678] no-gzip
-        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
-        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
-        <IfModule mod_headers.c>
-            Header append Vary User-Agent env=!dont-vary
-        </IfModule>
-    </IfModule>
-</Location>
-
-# Uncomment the following to force SSL for everything. Note that this defeats caching
-# and you will suffer a performance hit.
-#RewriteCond %{HTTPS} off
-#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R,L]
diff --git a/Open-ILS/examples/apache_24/eg_vhost.conf.in b/Open-ILS/examples/apache_24/eg_vhost.conf.in
new file mode 100644 (file)
index 0000000..b606c02
--- /dev/null
@@ -0,0 +1,775 @@
+# ----------------------------------------------------------------------------------
+# This is the global Evergreen virtual host config.  Anything you want published
+# through all virtual hosts (port 80, port 443, etc.) should live in here.
+# ----------------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------------
+# Point / to the opac - if you have a custom skin or locale, point at it here
+# ----------------------------------------------------------------------------------
+RedirectMatch 301 ^/$ /eg/opac/home
+
+# ----------------------------------------------------------------------------------
+# Point / to the IP address redirector
+# ----------------------------------------------------------------------------------
+#<LocationMatch ^/$>
+#    SetHandler perl-script
+#    PerlHandler OpenILS::WWW::Redirect
+#    Options +ExecCGI
+#    PerlSendHeader On
+#    #PerlSetVar OILSRedirectSkin "default"
+#    # OILSRedirectDepth defaults to the depth of the branch that the OPAC was directed to
+#    #PerlSetVar OILSRedirectDepth "0"
+#    #PerlSetVar OILSRedirectLocale "en-US"
+#    # Use the template-toolkit opac
+#    #PerlSetVar OILSRedirectTpac "true"
+#    allow from all
+#</LocationMatch>
+
+
+# ----------------------------------------------------------------------------------
+# Assign a default locale to the accessible OPAC
+# ----------------------------------------------------------------------------------
+RedirectMatch 301 ^/opac/extras/slimpac/start.html$    /opac/en-US/extras/slimpac/start.html
+RedirectMatch 301 ^/opac/extras/slimpac/advanced.html$ /opac/en-US/extras/slimpac/advanced.html
+
+# ----------------------------------------------------------------------------------
+# Configure the gateway
+# ----------------------------------------------------------------------------------
+OSRFGatewayConfig @sysconfdir@/opensrf_core.xml
+# Translator memcache server.  Default is localhost
+# OSRFTranslatorCacheServer 127.0.0.1:11211
+
+
+# ----------------------------------------------------------------------------------
+# Added content plugin
+# ----------------------------------------------------------------------------------
+<Location /opac/extras/ac/>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::AddedContent
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+# Autosuggest for searches
+<Location /opac/extras/autosuggest>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::AutoSuggest
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+# Flattener service
+<Location /opac/extras/flattener>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::FlatFielder
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Replace broken cover images with a transparent GIF by default
+# ----------------------------------------------------------------------------------
+RewriteEngine ON
+RewriteRule ^/opac/extras/ac/jacket/(small|medium|large)/$ \
+    /opac/images/blank.png [P,L]
+
+# ----------------------------------------------------------------------------------
+# Add the row ID (RID) and date so we can make unAPI happy
+# ----------------------------------------------------------------------------------
+RewriteCond %{QUERY_STRING} (^r|&r)=(\d+)
+RewriteRule . - [E=OILS_OPAC_RID:%2,E=OILS_TIME_YEAR:%{TIME_YEAR}]
+
+# ----------------------------------------------------------------------------------
+# Pull the locale from the URL
+# ----------------------------------------------------------------------------------
+RewriteCond %{REQUEST_URI} ^/opac/(.*?)/
+RewriteRule . - [E=locale:%1]
+
+# ----------------------------------------------------------------------------------
+# Rewrite JSPac->TPac with redirects
+# ----------------------------------------------------------------------------------
+
+# First things first, extract useful data
+# And we are going to start with a "this is the JSPac" check on each of these:
+# RewriteCond %{REQUEST_URI} ^/?opac/
+
+# Basic (overall) search type, if present
+# I am cheating and grabbing RT or TP because I dunno the difference between them.
+RewriteCond %{REQUEST_URI} ^/opac/
+RewriteCond %{QUERY_STRING} (^|[^0-9a-zA-Z])(rt|tp)=([^;&]*)
+RewriteRule . - [E=OILS_JSPAC_SEARCH_TYPE:qtype=%3;]
+
+# Basic (overall) search term(s), if present - NOTE: Not doing advanced search.
+RewriteCond %{REQUEST_URI} ^/opac/
+RewriteCond %{QUERY_STRING} (^|[^0-9a-zA-Z])t=([^;&]*)
+RewriteRule . - [E=OILS_JSPAC_SEARCH_TERMS:query=%2;]
+
+# Search Location, if present
+RewriteCond %{REQUEST_URI} ^/opac/
+RewriteCond %{QUERY_STRING} (^|[^0-9a-zA-Z])l=([^;&]*)
+RewriteRule . - [E=OILS_JSPAC_SEARCH_LOCATION:locg=%2;]
+
+# My Account
+RewriteRule /opac/[^/]*/skin/default/xml/myopac.xml /eg/opac/myopac/main?%{ENV:OILS_JSPAC_SEARCH_TYPE}%{ENV:OILS_JSPAC_SEARCH_TERMS}%{ENV:OILS_JSPAC_SEARCH_LOCATION} [NE,R,L]
+
+# Record Pages
+# /opac/en-US/skin/default/xml/rdetail.xml?r=32 -> /eg/opac/record/32
+RewriteCond %{QUERY_STRING} (^|[^0-9a-zA-Z])r=([^;&]*)
+RewriteRule /opac/.*/rdetail.xml /eg/opac/record/%2?%{ENV:OILS_JSPAC_SEARCH_TYPE}%{ENV:OILS_JSPAC_SEARCH_TERMS}%{ENV:OILS_JSPAC_SEARCH_LOCATION} [NE,R,L]
+
+# Bookbag Pages
+# /opac/extras/feed/bookbag/html-full/1 -> /eg/opac/results?bookbag=1;page=0;locg=1;depth=0
+RewriteRule /opac/extras/feed/bookbag/html-full/(\d*) /eg/opac/results?bookbag=$1;%{ENV:OILS_JSPAC_SEARCH_TYPE}%{ENV:OILS_JSPAC_SEARCH_TERMS}%{ENV:OILS_JSPAC_SEARCH_LOCATION} [NE,R,L]
+
+# Search Results Pages
+RewriteRule /opac/[^/]*/skin/[^/]*/xml/rresult.xml /eg/opac/results?%{ENV:OILS_JSPAC_SEARCH_TYPE}%{ENV:OILS_JSPAC_SEARCH_TERMS}%{ENV:OILS_JSPAC_SEARCH_LOCATION} [NE,R,L]
+
+# Basic Search (STILL not doing advanced)
+# Fallback! But only for things that end in xml, htm, or html
+# Images, CSS, etc can stick around.
+RewriteRule /opac/[^/]*/skin/.*(xml|htm|html|/)$ /eg/opac/home?%{ENV:OILS_JSPAC_SEARCH_TYPE}%{ENV:OILS_JSPAC_SEARCH_TERMS}%{ENV:OILS_JSPAC_SEARCH_LOCATION} [NE,R,L]
+
+# ----------------------------------------------------------------------------------
+# For sanity reasons, default indexes to Off
+# ----------------------------------------------------------------------------------
+Options -Indexes
+
+# ----------------------------------------------------------------------------------
+# Configure the OPAC
+# ----------------------------------------------------------------------------------
+<LocationMatch /opac/>
+    SSILegacyExprParser on
+    AddType application/xhtml+xml .xml
+   
+    # - configure mod_xmlent
+    XMLEntStripPI "yes"
+    XMLEntEscapeScript "no"
+    XMLEntStripComments "yes"
+    XMLEntContentType "text/html; charset=utf-8"
+    # forces quirks mode which we want for now
+    XMLEntStripDoctype "yes" 
+
+    # - set up the include handlers
+    Options +Includes
+    AddOutputFilter INCLUDES .xsl
+    AddOutputFilter INCLUDES;XMLENT .xml
+                   
+    SetEnvIf Request_URI ".*" OILS_OPAC_BASE=/opac/
+    
+    # This gives you the option to configure a different host to serve OPAC images from
+    # Specify the hostname (without protocol) and path to the images.  Protocol will
+    # be determined at runtime
+    #SetEnvIf Request_URI ".*" OILS_OPAC_IMAGES_HOST=static.example.org/opac/
+
+    # In addition to loading images from a static host, you can also load CSS and/or
+    # Javascript from a static host or hosts. Protocol will be determined at runtime
+    # and/or by configuration options immediately following.
+    #SetEnvIf Request_URI ".*" OILS_OPAC_CSS_HOST=static.example.org/opac/
+    #SetEnvIf Request_URI ".*" OILS_OPAC_JS_HOST=static.example.org/opac/
+
+    # If you are not able to serve static content via https and 
+    # wish to force http:// (and are comfortable with mixed-content
+    # warnings in client browsers), set this:
+    #SetEnvIf Request_URI ".*" OILS_OPAC_STATIC_PROTOCOL=http
+
+    # If you would prefer to fall back to your non-static servers for 
+    # https pages, avoiding mixed-content warnings in client browsers
+    # and are willing to accept some increased server load, set this:
+    #SetEnvIf Request_URI ".*" OILS_OPAC_BYPASS_STATIC_FOR_HTTPS=yes
+
+    # Specify a ChiliFresh account to integrate their services with the OPAC
+    #SetEnv OILS_CHILIFRESH_ACCOUNT
+    #SetEnv OILS_CHILIFRESH_PROFILE
+    #SetEnv OILS_CHILIFRESH_URL http://chilifresh.com/on-site/js/evergreen.js
+    #SetEnv OILS_CHILIFRESH_HTTPS_URL https://secure.chilifresh.com/on-site/js/evergreen.js
+
+    # Specify the initial script URL for Novelist (containing account credentials, etc.)
+    #SetEnv OILS_NOVELIST_URL
+    #
+
+    # Uncomment to force SSL any time a patron is logged in.  This protects 
+    # authentication tokens.  Left commented out for backwards compat for now.
+    #SetEnv OILS_OPAC_FORCE_LOGIN_SSL 1
+
+    # If set, the skin uses the combined JS file at $SKINDIR/js/combined.js
+    #SetEnv OILS_OPAC_COMBINED_JS 1
+
+</LocationMatch>
+
+<Location /opac/>
+    # ----------------------------------------------------------------------------------
+    # Some mod_deflate fun
+    # ----------------------------------------------------------------------------------
+    <IfModule mod_deflate.c>
+        SetOutputFilter DEFLATE
+
+        BrowserMatch ^Mozilla/4 gzip-only-text/html
+        BrowserMatch ^Mozilla/4\.0[678] no-gzip
+        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
+
+        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+
+        <IfModule mod_headers.c>
+            Header append Vary User-Agent env=!dont-vary
+        </IfModule>
+    </IfModule>
+
+</Location>
+
+<Location //opac/>
+    # ----------------------------------------------------------------------------------
+    # Some mod_deflate fun
+    # ----------------------------------------------------------------------------------
+    <IfModule mod_deflate.c>
+        SetOutputFilter DEFLATE
+
+        BrowserMatch ^Mozilla/4 gzip-only-text/html
+        BrowserMatch ^Mozilla/4\.0[678] no-gzip
+        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
+
+        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+
+        <IfModule mod_headers.c>
+            Header append Vary User-Agent env=!dont-vary
+        </IfModule>
+    </IfModule>
+
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Force SSL on the OPAC's "My Account" page
+# ----------------------------------------------------------------------------------
+<LocationMatch .*/myopac.xml>
+    SSLRequireSSL
+</LocationMatch>
+
+<LocationMatch /opac/extras/>
+    SSILegacyExprParser on
+    # Force to en-US for now to satisfy bbags.xml
+    SetEnv locale en-US
+    Options +Includes
+    AddOutputFilter INCLUDES .xml
+    AddType application/xhtml+xml .xml
+</LocationMatch>
+
+RewriteCond %{QUERY_STRING} locale=([^&]*)
+RewriteRule ^/opac/[a-z]{2}-[A-Z]{2}/extras/slimpac/(.*)$ /opac/%1/extras/slimpac/$1? [redirect]
+<LocationMatch /opac/[a-z]{2}-[A-Z]{2}/extras/slimpac/>
+    AddOutputFilter INCLUDES;XMLENT .html
+</LocationMatch>
+
+# ----------------------------------------------------------------------------------
+# Run server-side XUL and XHTML through xmlent to load the correct XML entities
+# ----------------------------------------------------------------------------------
+RewriteCond %{HTTP:Accept-Language} ^([a-z]{2}-[A-Z]{2})$
+# Default to en-US if we haven't matched a locale of the form xx-YY 
+RewriteRule .? - [S=4]
+RewriteRule ^/xul/      -       [E=locale:en-US]
+RewriteRule ^/reports/  -       [E=locale:en-US]
+RewriteRule .? - [E=locale:en-US]
+RewriteRule .? - [S=3]
+# Otherwise, set our real locale
+RewriteRule ^/xul/      -       [E=locale:%{HTTP:Accept-Language}]
+RewriteRule ^/reports/  -       [E=locale:%{HTTP:Accept-Language}]
+RewriteRule .? - [E=locale:%{HTTP:Accept-Language}]
+
+<LocationMatch /xul/.*\.x?html$>
+    SSILegacyExprParser on
+    Options +Includes
+    XMLEntEscapeScript "no"
+    XMLEntStripComments "yes"
+    XMLEntStripPI "yes"
+    XMLEntStripDoctype "yes"
+    XMLEntContentType "text/html; charset=utf-8"
+    AddOutputFilter INCLUDES;XMLENT .xhtml
+    AddOutputFilter INCLUDES;XMLENT .html
+    SetEnv no-gzip
+    Require all granted 
+</LocationMatch>
+
+
+<LocationMatch /xul/.*\.xul$>
+    SSILegacyExprParser on
+    Options +Includes
+    XMLEntContentType "application/vnd.mozilla.xul+xml"
+    AddOutputFilter INCLUDES;XMLENT .xul
+    SetEnv no-gzip
+    Require all granted 
+</LocationMatch>
+
+# ----------------------------------------------------------------------------------
+# Self-serve password interface
+# ----------------------------------------------------------------------------------
+<Location /opac/password>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::PasswordReset::password_reset
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+
+    # Force clients to use HTTPS
+    RewriteCond %{HTTPS} !=on [NC]
+    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Supercat feeds
+# ----------------------------------------------------------------------------------
+<Location /opac/extras/oisbn>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::oisbn
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/supercat>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::supercat
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/unapi>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::unapi
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/feed/bookbag>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::bookbag_feed
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/opensearch>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::opensearch_feed
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/sru>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::sru_search
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/sru_auth>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::sru_auth_search
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/feed/freshmeat>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::changes_feed
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+<Location /opac/extras/browse>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::string_browse
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>    
+<Location /opac/extras/startwith>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::SuperCat::string_startwith
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>    
+       
+# ----------------------------------------------------------------------------------
+# Module for displaying OpenSRF API documentation
+# ----------------------------------------------------------------------------------
+<Location /opac/extras/docgen.xsl>
+    AddOutputFilter INCLUDES .xsl
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Module for processing staff-client offline scripts lives here
+# ----------------------------------------------------------------------------------
+<Directory "@localstatedir@/cgi-bin/offline">
+    AddHandler cgi-script .pl
+    AllowOverride None
+    Options +ExecCGI
+    Require all granted 
+</Directory>
+       
+       
+# ----------------------------------------------------------------------------------
+# XXX Note, it's important to explicitly set the JSON encoding style 
+# (OSRFGatewayLegacyJSON), since the default encoding style will likely change 
+# with OpenSRF 1.0
+# ----------------------------------------------------------------------------------
+# OpenSRF JSON legacy gateway
+# ----------------------------------------------------------------------------------
+<Location /gateway>
+    SetHandler osrf_json_gateway_module
+    OSRFGatewayLegacyJSON "true"
+    Require all granted 
+</Location>
+# ----------------------------------------------------------------------------------
+# New-style OpenSRF JSON gateway
+# ----------------------------------------------------------------------------------
+<Location /osrf-gateway-v1>
+    SetHandler osrf_json_gateway_module
+    OSRFGatewayLegacyJSON "false"
+    Require all granted 
+</Location>
+
+# ----------------------------------------------------------------------------------
+# OpenSRF-over-HTTP translator
+# (http://open-ils.org/dokuwiki/doku.php?id=opensrf_over_http)
+# ----------------------------------------------------------------------------------
+<Location /osrf-http-translator>
+    SetHandler osrf_http_translator_module
+    Require all granted 
+</Location>
+
+# ----------------------------------------------------------------------------------
+# The exporter lives here
+# ----------------------------------------------------------------------------------
+<Location /exporter>
+    SetHandler perl-script
+    AuthType Basic
+    AuthName "Exporter Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    require valid-user
+    PerlHandler OpenILS::WWW::Exporter
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+<Location /opac/extras/merge_template>
+    SetHandler perl-script
+    AuthType Basic
+    AuthName "Batch Update Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    require valid-user
+    PerlHandler OpenILS::WWW::TemplateBatchBibUpdate
+    PerlSendHeader On
+    Options +ExecCGI
+    Require all granted 
+</Location>
+
+<Location /opac/extras/circ>
+    AuthType Basic
+    AuthName "Circ Extras Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    require valid-user
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+<Location /collections>
+    SetHandler perl-script
+    AuthType Basic
+    AuthName "Collections Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "money.collections_tracker.create"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    require valid-user
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+
+# ----------------------------------------------------------------------------------
+# Reporting output lives here
+# ----------------------------------------------------------------------------------
+<Location /reporter/>
+    AuthType Basic
+    AuthName "Report Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "VIEW_REPORT_OUTPUT"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    require valid-user
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Selfcheck interface
+# ----------------------------------------------------------------------------------
+<LocationMatch .*/selfcheck.xml>
+    AuthType Basic
+    AuthName "Self-check Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    require valid-user
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</LocationMatch>
+
+
+# ----------------------------------------------------------------------------------
+# Reports GUI
+# ----------------------------------------------------------------------------------
+<LocationMatch /reports>
+    SSILegacyExprParser on
+    Options +Includes
+    AddOutputFilter INCLUDES;XMLENT .xhtml
+</LocationMatch>
+
+<LocationMatch /reports/fm_IDL.xml>
+    IDLChunkStripPI "yes"
+    IDLChunkEscapeScript "no"
+    IDLChunkStripComments "yes"
+    IDLChunkStripDoctype "yes"
+    IDLChunkContentType "application/xml; charset=utf-8"
+    AddOutputFilter INCLUDES;IDLCHUNK .xml
+</LocationMatch>
+
+# ----------------------------------------------------------------------------------
+# EDI Message viewer
+# ----------------------------------------------------------------------------------
+<Location /edi>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::EDI
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>    
+
+# ----------------------------------------------------------------------------------
+# XML-RPC gateway
+# ----------------------------------------------------------------------------------
+<Location /xml-rpc>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::XMLRPCGateway
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+# ----------------------------------------------------------------------------------
+# Conify - next-generation Evergreen administration interface
+# ----------------------------------------------------------------------------------
+RewriteRule ^/conify/([a-z]{2}-[A-Z]{2})/global/(.*)$ /conify/global/$2 [E=locale:$1,L]
+<Location /conify>
+    SSILegacyExprParser on
+    Options +Includes
+    XMLEntStripPI "yes"
+    XMLEntEscapeScript "no"
+    XMLEntStripComments "no"
+    XMLEntContentType "text/html; charset=utf-8"
+    AddOutputFilter INCLUDES;XMLENT .html
+    AuthType Basic
+    AuthName "Dojo Admin Login"
+    PerlOptions +GlobalRequest
+    PerlSetVar OILSProxyPermissions "STAFF_LOGIN"
+    PerlAuthenHandler OpenILS::WWW::Proxy::Authen
+    require valid-user
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+</Location>
+
+<Location /vandelay-upload>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::Vandelay::spool_marc
+    Options +ExecCGI
+    Require all granted 
+</Location>
+
+# OpenURL 0.1 searching based on OpenSearch
+RewriteMap openurl prg:@bindir@/openurl_map.pl
+RewriteCond %{QUERY_STRING} (^.*$)
+RewriteRule ^/openurl$ ${openurl:%1} [NE,PT]
+
+
+
+# General Evergreen web template processor
+<Location /eg>
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::EGWeb
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+
+    PerlSetVar OILSWebBasePath "/eg"
+    PerlSetVar OILSWebWebDir "@localstatedir@/web"
+    PerlSetVar OILSWebDefaultTemplateExtension "tt2"
+
+    # Enable Template-Toolkit error debugging messages (apache error log)
+    PerlSetVar OILSWebDebugTemplate "true"
+
+    # -------------------------------------------------------
+    # Media Prefix.  In the 3rd example, the protocol (http) is enforced
+    #PerlSetVar OILSWebMediaPrefix "/media"
+    #PerlSetVar OILSWebMediaPrefix "static.example.com/media"
+    #PerlSetVar OILSWebMediaPrefix "http://static.example.com/media"
+
+    # Locale messages files:
+    #
+    # These appear in pairs; the first represents the user agent
+    # Accept-Language header locale, and the second represents
+    # the fully-qualified path for the corresponding PO file that
+    # contains the messages.
+    #
+    # If you enable two or more locales, then users will be able to
+    # select their preferred locale from a locale picker in the TPAC.
+    #
+    #PerlAddVar OILSWebLocale "en"
+    #PerlAddVar OILSWebLocale "@localstatedir@/data/locale/messages.en.po"
+    #PerlAddVar OILSWebLocale "en_ca"
+    #PerlAddVar OILSWebLocale "@localstatedir@/data/locale/en-CA.po"
+    #PerlAddVar OILSWebLocale "fr_ca"
+    #PerlAddVar OILSWebLocale "@localstatedir@/data/locale/fr-CA.po"
+
+    # Set the default locale: defaults to en-US
+    #PerlAddVar OILSWebDefaultLocale "fr_ca"
+    
+    # Templates will be loaded from the following paths in reverse order.
+    PerlAddVar OILSWebTemplatePath "@localstatedir@/templates"
+    #PerlAddVar OILSWebTemplatePath "@localstatedir@/templates_localskin"
+
+    #-------------------------------------------------
+    # Added Content Configuration
+    #-------------------------------------------------
+    # Content Cafe
+    #SetEnv OILS_CONTENT_CAFE_USER MYUSER
+    #SetEnv OILS_CONTENT_CAFE_PASS MYPASS
+    
+    # LibraryThing
+    #SetEnv OILS_LIBRARYTHING_URL http://ltfl.librarything.com/forlibraries/widget.js?id=MYID
+    #SetEnv OILS_LIBRARYTHING_HTTPS_URL https://ltfl.librarything.com/forlibraries/widget.js?id=MYID
+    
+    # ChiliFresh
+    #SetEnv OILS_CHILIFRESH_ACCOUNT
+    #SetEnv OILS_CHILIFRESH_URL http://chilifresh.com/on-site/js/evergreen.js
+    #SetEnv OILS_CHILIFRESH_HTTPS_URL https://secure.chilifresh.com/on-site/js/evergreen.js
+
+    # Novelist
+    # SetEnv OILS_NOVELIST_URL http://imageserver.ebscohost.com/novelistselect/ns2init.js
+    # SetEnv OILS_NOVELIST_PROFILE <profile>
+    # SetEnv OILS_NOVELIST_PASSWORD <password>
+
+    #-------------------------------------------------
+
+    <IfModule mod_deflate.c>
+        SetOutputFilter DEFLATE
+        BrowserMatch ^Mozilla/4 gzip-only-text/html
+        BrowserMatch ^Mozilla/4\.0[678] no-gzip
+        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
+        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+        <IfModule mod_headers.c>
+            Header append Cache-Control "public"
+            Header append Vary User-Agent env=!dont-vary
+        </IfModule>
+    </IfModule>
+</Location>
+<LocationMatch ^/(images|css|js)/>
+    # should pick up the default expire time from eg.conf...
+    <IfModule mod_deflate.c>
+        SetOutputFilter DEFLATE
+        BrowserMatch ^Mozilla/4 gzip-only-text/html
+        BrowserMatch ^Mozilla/4\.0[678] no-gzip
+        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
+        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+        <IfModule mod_headers.c>
+            Header append Cache-Control "public"
+            Header append Vary User-Agent env=!dont-vary
+        </IfModule>
+    </IfModule>
+</LocationMatch>
+<Location /eg/opac>
+    PerlSetVar OILSWebContextLoader "OpenILS::WWW::EGCatLoader"
+    # Expire the HTML quickly since we're loading dynamic data for each page
+    ExpiresActive On
+    ExpiresByType text/html "access plus 5 seconds"
+</Location>
+<Location /eg/kpac>
+    PerlSetVar OILSWebContextLoader "OpenILS::WWW::EGKPacLoader"
+    PerlSetVar KPacConfigFile "@sysconfdir@/kpac.xml.example"
+    ExpiresActive On
+    ExpiresByType text/html "access plus 5 seconds"
+</Location>
+
+# Note: the template processor will decline handling anything it does not
+# have an explicit configuration for, which means it will fall back to 
+# Apache to serve the file.  However, in the interest of speed, go ahead 
+# and tell Apache to avoid asking OpenILS::WWW::EGWeb for static content.
+# Add more exemptions as needed.
+<LocationMatch ^/eg/.*(\.js|\.html|\.xhtml|\.xml|\.jpg|\.png|\.gif)$>
+    SetHandler None
+</LocationMatch>
+
+# ----------------------------------------------------------------------------------
+# Some mod_deflate logging setup
+# ----------------------------------------------------------------------------------
+<IfModule mod_deflate.c>
+    DeflateFilterNote Input instream
+    DeflateFilterNote Output outstream
+    DeflateFilterNote Ratio ratio
+
+    LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
+    CustomLog /var/log/apache2/deflate_log deflate
+
+    # There are problems with XMLENT and mod_deflate - so lets disable it
+    # This is where we don't have a pre-existing LocationMatch directive earlier
+    <LocationMatch /opac/.*\.xml$>
+        SetEnv no-gzip
+    </LocationMatch>
+    <LocationMatch /opac/[a-z]{2}-[A-Z]{2}/extras/slimpac/.*\.html$>
+        SetEnv no-gzip
+    </LocationMatch>
+    <LocationMatch /reports/.*\.xhtml$>
+        SetEnv no-gzip
+    </LocationMatch>
+    <LocationMatch /conify/.*\.html$>
+        SetEnv no-gzip
+    </LocationMatch>
+</IfModule>
+
+
+<Location /IDL2js>
+
+    SetHandler perl-script
+    PerlHandler OpenILS::WWW::IDL2js
+    Options +ExecCGI
+    PerlSendHeader On
+    Require all granted 
+
+    <IfModule mod_headers.c>
+        Header append Cache-Control "public"
+    </IFModule>
+
+    <IfModule mod_deflate.c>
+        SetOutputFilter DEFLATE
+        BrowserMatch ^Mozilla/4 gzip-only-text/html
+        BrowserMatch ^Mozilla/4\.0[678] no-gzip
+        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
+        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+        <IfModule mod_headers.c>
+            Header append Vary User-Agent env=!dont-vary
+        </IfModule>
+    </IfModule>
+</Location>
+
+# Uncomment the following to force SSL for everything. Note that this defeats caching
+# and you will suffer a performance hit.
+#RewriteCond %{HTTPS} off
+#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R,L]
index 47ff2e9..e9ccaed 100644 (file)
@@ -146,7 +146,9 @@ gen_scripts = \
 gen_docs = \
        $(examples)/apache/eg.conf \
        $(examples)/apache/eg_vhost.conf \
-       $(examples)/apache/eg_startup
+       $(examples)/apache/eg_startup \
+       $(examples)/apache_24/eg.conf \
+       $(examples)/apache_24/eg_vhost.conf
 
 bin_SCRIPTS = $(core_scripts) $(gen_scripts) $(reporter_scripts) $(installautojs)
 
@@ -236,6 +238,12 @@ $(examples)/apache/eg_vhost.conf: Makefile $(examples)/apache/eg_vhost.conf.in
 $(examples)/apache/eg_startup: Makefile $(examples)/apache/eg_startup.in
        $(do_subst) $(examples)/apache/eg_startup.in > "$@"
 
+$(examples)/apache_24/eg.conf: Makefile $(examples)/apache_24/eg.conf.in
+       $(do_subst) $(examples)/apache_24/eg.conf.in > "$@"
+
+$(examples)/apache_24/eg_vhost.conf: Makefile $(examples)/apache_24/eg_vhost.conf.in
+       $(do_subst) $(examples)/apache_24/eg_vhost.conf.in > "$@"
+
 #perl-install and string-templates-install     
 ilscore-install:
        @echo $@