The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# $Id: oracle.conf,v 1.3 2008-04-25 17:48:00 mike Exp $

# This is an Apache 2.0 configuration file for running a development
# version of Keystone Resolver using an Oracle back-end.  See
# "development.conf" for details.

NameVirtualHost x.resolver.oracle
<VirtualHost x.resolver.oracle>
    ServerName x.resolver.oracle

    DocumentRoot    /usr/local/src/cvs/openurl-resolver/web/htdocs
    ErrorLog        /var/log/apache2/keystone-resolver-oracle-error.log
    CustomLog       /var/log/apache2/keystone-resolver-oracle-access.log combined

    # This doesn't seem to have any effect in finding Oracle libraries.
    #SetEnv LD_LIBRARY_PATH /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib

    # Environment variables required for running.  In Oracle, the
    # read-only and read-write username/password combinations are the
    # same, since the user is also the database owner.
    PerlSetEnv KRdbms Oracle
    PerlSetEnv KRdb XE
    PerlSetEnv KRuser ko_admin
    PerlSetEnv KRpw ko_adm_3636
    PerlSetEnv KRrwuser ko_admin
    PerlSetEnv KRrwpw ko_adm_3636
    PerlSetEnv KRxsltdir /usr/local/src/cvs/openurl-resolver/etc/xslt

    # Use "sudo a2enmod rewrite" if this section is rejected
    RewriteEngine on
    RewriteLog /var/log/apache2/keystone-resolver-oracle-rewrite.log
    RewriteLogLevel 2
    RewriteRule ^/(index.html|resolve(/.*)?|cookiepusherpusher)?$ /mod_perl/$1
    # Why isn't the next rule taken care of by "DirectoryIndex index.html"?
    RewriteRule (.*)/$ $1/index.html
    RewriteRule ^/mod_perl/resolve/(.+) /mod_perl/resolve?opt_db=$1

    PerlOptions +Parent
    PerlSwitches -I/usr/local/src/cvs/openurl-resolver/lib

    <Directory />
	# Can this be right?  Not <Directory .../htdocs>?
	Options FollowSymLinks
	AllowOverride None
    </Directory>
    <Directory /usr/local/src/cvs/openurl-resolver/web/htdocs/mod_perl>
	Options +ExecCGI
	SetHandler perl-script
	PerlHandler ModPerl::Registry
    </Directory>

    # Admin interface uses HTML::Mason
    <Directory /usr/local/src/cvs/openurl-resolver/web/htdocs/admin>
	<FilesMatch "\.(html|css)$">
	    SetHandler perl-script
	    PerlHandler HTML::Mason::ApacheHandler
	</FilesMatch>
	PerlAddVar MasonCompRoot "private => /usr/local/src/cvs/openurl-resolver/web/htdocs/admin"
	PerlSetVar MasonDataDir /tmp/keystone-resolver-mason
    </Directory>
</VirtualHost>