See also: Subversion
Subversion, also known as svn, is a version control system much like the Concurrent Versions System (CVS). Version control systems allow many individuals (who may be distributed geographically) to collaborate on a set of files (typically source code). Subversion has all the major features of CVS, plus certain new features that CVS users often wish they had.
In the following the installation of Subversion on a Feisty-Release is written down.
To use Subversion via the http or https protocol, you need apache installed on your server. Install Apache2 according to the description on ApacheMySQLPHP.
Please use the following commands for installing Subversion on the server.
apt-get install subversion apt-get install subversion-tools apt-get install libapache2-svn
This installs Subversion as well as the needed Apache Module. This module must run, if you would like to use apache and svn.
To use Subversion in combination with apache2, you need to configure Apache. Add the file svn.conf with the following content to the directory /etc/apache2/conf.d:
<Location "/svn"> Dav svn SVNParentPath /var/svn AuthType Basic AuthName "SVN Repositories" AuthUserFile /etc/apache2/dav_svn.passwd AuthzSVNAccessFile /etc/apache2/dav_svn.authz # The following three lines allow anonymous read, but make # committers authenticate themselves. <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>
To create the file dav_svn.passwd, please use the htpasswd2 program. This will allow you to use a basic authentication for the subversion repositories. With the AuthzSVN Access File you can restrict access of certain users to specific repositories. This file can look like:
[groups] devs = tester [/] * = r [sample:/] tester = rw [testproject:/] @devs = rw
The before mentioned file will restrict the usage of the Subversion directory to all users in the group devs (username is tester here). All other users can only read the repositories.
All SVN-Projects are stored in the directory /var/svn. You can create new SVN-projects using the commandline tool svnadmin (see Subversion Red Book)
Now you can reach all your SVN projects via
To use another web-interface, you can also install websvn
apt-get install websvn