linux下svn和apache集成安装详解

安装以centos为例:

  • 安装apache包:可以下载源码包编译安装或者直接yum install
`yum -y install httpd #必须`
  • 安装和配置apache SVN模块:
yum -y install mod_dav_svn

会自动安装mod_dav_svn及其依赖包:mod_dav_svn-1.6.11-9,neon-0.29.3-2,pakchois-0.4-3.2,subversion-1.6.11-9

  • 创建svn目录
mkdir -p /storage/svn/
svnadmin create /storage/svn/project1
  • 建立svn帐号并设置密码:
htpasswd -c /storage/svn/conf/passwd user
  • 分配svn帐号权限:
vim /storage/svn/conf/authz
[groups]

admin = john, kate

devteam1 = john, rachel, sally

devteam2 = kate, peter, mark

docs = bob, jane, mike

training = zak



# 为所有库指定默认访问规则

# 所有人可以读,管理员可以写,危险分子没有任何权限

[/]

* = r

@admin = rw



# 允许开发人员可以完全访问他们的项目版本库

[proj1:/]

@devteam1 = rw

[proj2:/]

@devteam2 = rw

[bigproj:/]

@devteam1 = rw

@devteam2 = rw

trevor = rw



# 文档编写人员对所有的docs目录有写权限

[/trunk/doc]

@docs = rw



# 培训人员可以完全访问培训版本库

[TrainingRepos:/]

@training = rw
  • 配置svn数据仓库文件系统权限:
 chown -R apache.apache /storage/svn/
 chcon -R -t httpd_sys_content_t /storage/svn/ #注意 设置selinux权限,非常重要,不然密码文件不能被apache访问
  • 配置svn数据仓库checkout地址:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn/>#注意:不能为/svn,否则SVNListParentPath可能失效
    DAV svn
    SVNListParentPath on
    SVNParentPath /storage/svn
    AuthType Basic
    AuthName "Authorization"
    AuthUserFile /storage/svn/conf/passwd
    AuthzSVNAccessFile /storage/svn/conf/authz
    Require valid-user
</Location>

说明:
<Location /svn/> //意味着可以通过像这样的URL(http://MyServer/svn)来访问Subversion版本库

DAV svn            //告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块

SVNListParentPath on    //在Subversion 1.3及更高版本中,这个指示器使得Subversion列出由SVNParentPath //指定的目录下所有的版本库

SVNParentPath D:SVNdata    //告诉Subversion在目录D:SVNdata下寻找版本库

AuthType Basic        //启用基本的验证,比如用户名/密码对

AuthName "Subversion repositories"    //当一个验证对话框弹出时,告诉用户这个验证是用来做什么的

AuthUserFile D:SVNdatapasswd    //指定D:passwd用为密码文件用来验证用户的用户名及密码

AuthzSVNAccessFile D:svnaccessfile    //指定D:svnaccessfile来限定各个用户或组在版本库中目录的访问权限

Require valid-user    //限定用户只有输入正确的用户名及密码后才能访问这个路径
  • 重启apache,使配置生效
 service httpd reload
 或者service httpd restart

搭建过程中遇到的两个坑是:

心得:
多看看日志apache的error.log日志,根据错误类型进行修改
参考文章:

  1. (总结)CentOS Linux搭建SVN Server配置详解
  2. Linux下Apache完美集成SVN(Yum安装版)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值