Welcome to the navigation

Sed dolore sit et eu cillum qui ad enim dolor labore mollit aliqua, ut consequat, fugiat dolor proident, anim commodo aute in ipsum minim quis. Exercitation deserunt pariatur, ea in cupidatat dolor voluptate ex eu irure dolore nisi aliqua, in enim nostrud ipsum sed esse fugiat aliquip ad culpa sint

Yeah, this will be replaced... But please enjoy the search!

Setup a subversion (svn) server in Debian

Categories Tags
There are quite a few guides and howto's out there. Some a relevant but as usual most of them are crap and made without any regards to the one who will use them. Compatibility and usability should always be ranked high when setting up such an environment. One such thing is how to access the svn-server, there are these fancy ssh+svn://blabla which undoubtedly tightens the security by encrypting the connection in a pretty sophisticated manner. However the setup is complex and the usability disappears for "normal" users. The way to go is by http or https, I promise :) The compatibility with applications and platforms are unmatched, and the set up is fairly easy!

Lets start

# Install required packages
$ sudo apt-get install subversion libapache2-svn

# Create subversion repositories:
sudo mkdir /var/svn
sudo chown -R www-data:www-data /var/svn

# Edit the DAV_SVN Configuration
$ sudo nano /etc/apache2/mods-available/dav_svn.conf
It should look somethink like this (the dav_svn.conf file that is)
# remove the # in front of the <location and </location
<Location /svn>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
#SSLRequireSSL      # this line must be added if you want SSL enabled
Let's set up the Apache-server mod and create a repository
# Enable modules and restart 

$ sudo a2enmod dav_svn
$ sudo /etc/init.d/apache2 restart

# Create/enable a user account for dav_svn (the -c indicates the main user)
# Replace user1 with the adminname
$ sudo htpasswd -c /etc/apache2/dav_svn.passwd user1

# Next user2, user3, user4 etc...
$ sudo htpasswd /etc/apache2/dav_svn.passwd user2

# Testing
$ sudo svnadmin create /var/svn/test
$ sudo chown -R www-data:www-data /var/svn/test

# Testing (first enter local user password, then your svn user/pass)
$ svn co http://localhost/svn/test
To create new repositories just login and type
$ sudo svnadmin create /var/svn/myrepository
$ sudo chown -R www-data:www-data /var/svn/myrepository
To connect to your svn, simply type http://yourserverurl/svn/myrepository. This can be done in either a browser or svn-application like tortoise or versions (there are quite a few). Happy versioning!