install needed packages (mod_dav_svn and subversion)

#yum install mod_dav_svn subversion

Modify Subversion config file : /etc/httpd/conf.d/subversion.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so


# Add the following to allow a basic authentication and point Apache to where the actual repository resides.

<Location /svn>

   DAV svn

   SVNParentPath /var/www/svn

   AuthType Basic

   AuthName “Subversion repositories”

   AuthUserFile /etc/svn-auth-users

   Require valid-user

</Location>

Add SVN (Subversion) users

## Create testuser ##

[root@server~]# htpasswd -cm /etc/svn-auth-users testuser

## Create testuser2 ##

htpasswd -m /etc/svn-auth-users testuser2

Create and configure SVN repository

# mkdir /var/www/svn

# cd /var/www/svn

 # svnadmin create testrepo

# chown -R apache.apache testrepo

#  chcon -R -t httpd_sys_content_t /var/www/svn/testrepo

Following enables commits over http

# chcon -R -t httpd_sys_rw_content_t /var/www/svn/testrepo

#Restart Apache:

# service httpd restart

Configure repository

To disable anonymous access and enable access control add following rows to testrepo/conf/svnserver.conf file:

## Disable anonymous access ##

anon-access = none

 ## Enable access control ##

authz-db = authz

Create trunk, branches and tags structure under testrepo

Create “template” directories with following command:

# mkdir -p /tmp/svn-structure-template/{trunk,branches,tags}

Then import template to project repository using “svn import” command:

svn import -m ‘Initial import’ /tmp/svn-structure-template/ http://localhost/svn/testrepo/

Adding         /tmp/svn-structure-template/trunk

Adding         /tmp/svn-structure-template/branches

Adding         /tmp/svn-structure-template/tags

Committed revision 1.

Posted in: Linux.
Last Modified: January 12, 2017

Leave a reply