The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# $Id: xeno.conf,v 1.15 2008-02-07 09:10:05 mike Exp $

# This is an Apache 1.3 configuration file, to be dropped into the
# conf.d directory of a mod_perl-enabled server.  The exact location
# of the conf.d directory will be different depending on your
# operating system, but --
#
# On Red Hat 9 and probably all Red Hat-based Linuxes it's:
#	/etc/httpd/conf.d
# On Ubuntu 6.06 and probably all Debian-based Linuxes it's:
#	/etc/apache/conf.d/
#
# So, for example, on a Ubuntu 6.06 system:
#	cd /etc/apache/conf.d
#	sudo ln -s /usr/local/src/cvs/openurl-resolver/web/conf/apache1.3/xeno.conf resolver.conf
#	sudo ln -s /usr/local/src/cvs/openurl-resolver/web/conf/apache1.3/xeno.conf resolver.conf
#	sudo apachectl restart
#
# This file does not need to be owned by root, so long as it's placed
# in the root-owned configuration directory.

<VirtualHost 127.0.0.1 192.168.1.75>
    ServerName x.resolver.indexdata.com
    ServerAlias x.dbc.resolver.indexdata.com
    ServerAlias x.talis.resolver.indexdata.com

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

    PerlSetEnv PERL5LIB /usr/local/src/cvs/openurl-resolver/lib
    PerlSetEnv KRdbms mysql
    PerlSetEnv KRdb kr
    PerlSetEnv KRuser kr_read
    PerlSetEnv KRpw kr_read_3636
    PerlSetEnv KRrwuser kr_admin
    PerlSetEnv KRrwpw kr_adm_3636
    PerlSetEnv KRxsltdir /usr/local/src/cvs/openurl-resolver/etc/xslt

    # I would prefer to put the rewrite rules inside a <Location>, but
    # empirically this does not work -- the rules are simply ignored.
    # *Sigh*  Why does _nothing_ under Apache work properly, out of
    # the box, the way it's supposed to?
    RewriteEngine on
    RewriteLog /var/log/apache/keystone-resolver-rewrite.log
    RewriteLogLevel 1
    RewriteRule ^/(index.html|resolve(/.*)?|cookiepusherpusher)?$ /mod_perl/$1
    RewriteRule ^/mod_perl/resolve/(.+) /mod_perl/resolve?opt_db=$1

    # ... and I would prefer to use <Location /mod_perl> rather than
    # spell out the whole directory name, but predictably that also
    # does not work.  *Sigh*
    <Directory /usr/local/src/cvs/openurl-resolver/web/htdocs/mod_perl>
	Options +ExecCGI
	SetHandler perl-script
	PerlHandler Apache::Registry
	# I don't understand why I need the next line, but I do
	PerlSendHeader On
    </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/kr-mason-apache1
    </Directory>
</VirtualHost>