1, httpd.conf
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
# let svn interpret all URL begin with(from domain name:port name) /svn
<Location /svn>
DAV svn
SVNParentPath D:/svn
# our access control policy
AuthzSVNAccessFile D:/svn/svn-policy-file
# try anonymous access first, resort to real authentication if neccessary.
Satisfy Any
# only authenticated users may access the repository
Require valid-user
# how to authenticate a user
AuthType Basic
AuthName "My first svn repository"
# use apache command "htpasswd" to generate the file "svn-auth-file"
AuthUserFile D:/svn/svn-auth-file
# For any operations other than these, require an authenticated user.
#<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require valid-user
#</LimitExcept>
</location>
2. authentication file
# the section's form is like: [repos-name:path] or [path]
# if the directive "SVNParentPath" instead of "SVNPath" is used
# in httpd.conf, it is important to specify the "repos-name" here,
# or the "path" will try to match the path in each repository.
[groups]
c2h-developers = cliff, clough, joe
campus2hand-developers = tom, john
everyone = @c2h-developers, @campus2hand-developers
[repo:/]
* = r
[repo:/campus2hand]
@campus2hand-developers = r
cliff = rw
[repo:/campus2hand/trunk]
* =
cliff = rw
clough = rw
[repo:/c2h]
* =
@c2h-developers = rw
@everyone = r
###################################
[project:/]
* = r