Setting It Up

Required Packages

Configuration

HTTP with Kerberos Authentication

Extract the service keytab for HTTP.

# kinit $USER/admin
# kadmin ext -k /etc/apache2/krb5.keytab HTTP/`hostname`
# chown root:www-data /etc/apache2/krb5.keytab
# chmod 640 /etc/apache2/krb5.keytab

The auth_kerb module needs to know where the service keytab is. Specify this in /etc/apache2/mods-available/auth_kerb.conf.

# Keytab File
Krb5Keytab                      /etc/apache2/krb5.keytab

Get the correct symlinks in /etc/apache2/mods-enabled.

# a2dismod auth_kerb
# a2enmod auth_kerb

Subversion WebDAV

The options for the Subversion WebDAV module are to be set in <Location> blocks for the URI the repository should be accessible by. There should be one in a vhost without SSL, and a second in a vhost with SSL.

The options of interest are, that will be in both blocks are:

Dav

set this to svn, to indicate the Subversion WebDAV module should be used

SVNPath
set this to the location of the subversion repository being served
AuthzSVNAccessFile
set this to the location of the authorization configuration file (usually will be SVNPath + /conf/authz)

The options that should only go in the block on the SSL-enabled vhost are (since passwords may otherwise be transmitted in clear text):

AuthType

set this to Kerberos

AuthName
set this to some name for the repository
Require

set this to valid-user; the subversion authorization module will take care of the real details

Running Apache with Tokens

Oh no, I think I've encountered PAG woes. Woe is me. Woe.

PAGs + PAM = Woe.

Using It

We have a subversion repository, running on svn.club.cc.cmu.edu. It is accessable read-only through http, and read-write through https. We use mod_auth_kerb to allow kerberos authentication for club users.

Services/Club Subversion (last edited 2007-11-02 00:29:49 by kbare)