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/

posted on 2014-06-22 13:31  Milton  阅读(1435)  评论(0编辑  收藏  举报

导航