Tag/tag.png

Duplicate Article
This article covers the same material as another article. More info...

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.

Apache Installation

To use Subversion via the http or https protocol, you need apache installed on your server. Install Apache2 according to the description on ApacheMySQLPHP.

Subversion Installation

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.

Configuration

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

http://<SERVERNAME>/svn/<PROJECTNAME>.

To use another web-interface, you can also install websvn

apt-get install websvn

SubversionInstall (last edited 2017-09-22 18:50:53 by ckimes)