Welcome to the navigation

Pariatur, tempor fugiat exercitation in sit eu labore sunt lorem nisi veniam, reprehenderit laborum, voluptate enim et occaecat ipsum id est ea proident, anim aute. Adipisicing consectetur duis voluptate aliqua, qui in officia esse id do eiusmod irure reprehenderit fugiat non cupidatat cillum minim laborum, dolor nostrud sed sint excepteur

Yeah, this will be replaced...

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

Installation
# 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)
# IMPORTANT!
# 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
</Location>
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!
Please note that this portal is a BETA site , I will continuously improve all functionality and performance during the coming weeks / the author