安装 svn sudo yum install subversion 测试
svn --version
安装 httpd 的 svn 模块
sudo yum install mod_dav_svn
前往/etc/httpd/conf.d/修改 sudo vi subversion.conf
修改后的内容里要包含
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so <location repos="">
DAV svn
SVNParentPath /var/svn # Limit write permission to list of valid users.
<limitexcept get="" propfind="" options="" report="">
# Require SSL connection for password protection.
# SSLRequireSSL #AuthzSVNAccessFile /var/svn/authz
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/svn/passwd
Require valid-user
</limitexcept>
</location>
这里指定了svn repository 目录是/var/svn, 用户口令文件是 /var/svn/passwd
如果不允许匿名用户读取, 请注释掉这两行
<limitexcept get="" propfind="" options="" report=""> 和 </limitexcept>
如果要对每个项目进行权限配置, 请取消注释 #AuthzSVNAccessFile /var/svn/authz, 并对authz 文件进行配置
一个authz文件的例子如下, 适用于适用SVNParent的情况(多个repository), 规定了两个用户组sandbox_committers 和 demo_committers, 分别只可以读取和提交各自的项目.
[groups]
sandbox_committers = sandbox_user
demo_committers = demo_user [sandbox:/]
@sandbox_committers = rw
[demo:/]
@demo_committers = rw
创建/var/svn 目录, 开始创建第一个repository
sudo svnadmin create sandbox
修改权限
sudo chown -R apache:apache sandbox/
创建用户口令文件
sudo htpasswd -c /var/svn/passwd demo
添加新的用户
sudo htpasswd /var/svn/passwd redmine
注意: 用户名最好不要带 . @ 等字符, 最好是全英文字母加数字, 在group里面添加多个用户, 用英文逗号隔开
重启httpd后, 从浏览器访问 http://服务器地址/repos/sandbox 就可以看到svn目录了
不错的参考 http://www.ibm.com/developerworks/cn/java/j-lo-apache-subversion/