Setup subversion repository permission

From HostThyself

Jump to: navigation, search

Information here describes how to setup Subversion repository permission.

Target environment is CentOS 4.4, Apache 2, repository setup with Virtualmin.

Virtualmin will add the follow directives in /etc/httpd/conf/httpd.conf

<Location /svn>
DAV svn
SVNParentPath /example/path/domains/example.com/svn
AuthType Basic
AuthName svn.openology.com
AuthUserFile /example/path/domains/example.com/etc/svn.basic.passwd
Require valid-user
AuthzSVNAccessFile /example/path/domains/example.com/etc/svn-access.conf
Satisfy Any
</Location>
</VirtualHost>

Contents

[edit] Basic HTTP Authentication

To add a password for user foo

htpasswd -m /example/path/domains/example.com/etc/svn.basic.passwd foo

-m to use MD5 encryption of the password.

[edit] Per-Directory Access Control

Format of svn-access.conf:

  • The value of the section-names are either of the form [repos-name:path] or the form [path]

For example,

[repos-name:/example/branches/]
foo = rw
bar = r

foo has read/write permission which bar has read-only permission for the directory

[edit] Accessing repository

To access the repository using a svn client (like TortoiseSVN), use the URL like such

http://example.com/svn/example/branches

[edit] Reference

Personal tools