Centos5.8 安装SVN并配置HTTP访问

时间:2023-03-09 09:46:03
Centos5.8 安装SVN并配置HTTP访问

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