Subversion Installation on Debian Etch
Table of Contents
Installing Subversion
Currently, Subversion 1.4.2 is included within the stable release of Debian Etch. It can be installed easily with the following command line:
# apt-get install subversion subversion-tools
Installing the Apache2 Module for Subversion
In order to use the Apache2 web server as Subversion backend, the module libapache2-svn must be installed.
# apt-get install libapache2-svn
Configuring Subversion
Create Repository
First, we have to create a subversion repository.
# svnadmin create /svn
Integrating Subversion for Apache
Before enabling subversion for Apache, Apache should be SSL-enabled.
Next, the configuration of the subversion module takes place in the file /etc/modules-available/dav_svn.conf. The following configuration expects multiple SVN repositories below the path /svn/ and uses SSL Client Authentication to grant access to the repositories for the example users "Peter Miller" and "Claus Burger". The user name variabel is set to the Common Name of the certificate presented by clients. So. their full name should appear in the subversion logs.
<Location /svn>
# Enables dav hanling of this path
DAV svn
# Set this to the path to your repository
#SVNPath /var/lib/svn
# Alternatively, use SVNParentPath if you have multiple repositories under
# under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...).
# You need either SVNPath and SVNParentPath, but not both.
SVNParentPath /svn
# Authentication based on client certificates
SSLRequireSSL
SSLOptions +ExportCertData
SSLVerifyClient require
SSLVerifyDepth 2
SSLUserName SSL_CLIENT_S_DN_CN
SSLRequire %{SSL_CLIENT_S_DN_CN} in {"Peter Miller", "Claus Burger"}
</Location>
Nevertheless, you can use any other Apache Authentication mechanism to authenticate users. Replace the directives below the "Authentication" comments to change thisbehaviour.
