安装 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/