Create the subversion repository

It is best to create the subversion repository in the site's home folder. This is ussualy located at /var/www/domains/[domain_name]/

$ cd /var/www/domains/[domain_name]
$ svnadmin create svn

Where 'svn' is the folder we will be using for the repository. If this client plans on using multiple accounts, you can easily create several projects in subfolders

$ cd /var/www/domains/[domain_name]
$ mkdir svn
$ svnadmin create svn/proj1
$ svnadmin create svn/proj2

Fix permissions:

$ chown -R web#:www-data svn/
$ chmod -R g+w svn/

Replace web# with the appropriate username.

Setting up apache

Configure the vhost

Add the following to the advanced apache options in the ispconfig panel (for the designated host ofcourse).

<Location /svn>
  DAV svn
SVNPath /var/www/domains/[domain_name]/svn
#SVNParentPath /var/www/domains/[domain_name]/svn

AuthType Digest
AuthName "[Project]"
AuthDigestDomain /svn
AuthDigestProvider file
AuthUserFile /var/www/domains/[domain_name]/svn.htdigest
Require valid-user
</Location>

Use SVNParentPath if you have multiple repositories under a single directory. For example:

/var/www/domains/[domain_name]/svn/repo1,
/var/www/domains/[domain_name]/svn/repo2, ....

You need either SVNPath and SVNParentPath, but not both.

Create users

You will need to create at least one user. Later on, you can fall back on other authentication methods once we have gone over the installing trac section.

$ htdigest -c svn.htdigest [Project] [user]
$ chown -R web#:www-data svn.htdigest