apache整合SVN

SVN冲突的处理方法,合并分支,SVN整合eclipse等等


1.拷贝%SVN_HOME%\mod_authz_svn.so和%SVN_HOME%\mod_dav_svn.so放入%APACHE_HOME%\modules下
2.修改%APACHE_HOME%\conf\httpd.conf文件,修改如下:
  LoadModule dav_module modules/mod_dav.so(去掉前面的注释)
  LoadModule dav_fs_module modules/mod_dav_fs.so(去掉前面的注释)
  LoadModule dav_svn_module modules/mod_dav_svn.so
  LoadModule authz_svn_module modules/mod_authz_svn.so
3.在httpd.conf文件的末尾添加如下内容:
  <Location /svn>
 DAV svn
 SVNPath E:/svn/repository
  </Location>
  此语句块的作用是将SVN的服务器目录映射到访问Apache的虚拟路径svn,就好像我们在配置Tomcat时,增加一个Context一样。即用户访问/svn地址时,Apache会自动将该请求转到E:\svn\repository


整合的权限控制问题:
大家这时会发现即使我们在SVN中设置好了需要登录才能读取文件,但是使用Apache方式通过浏览器依然不需要登录就可以浏览。这是由于SVN与Apache是采用不同的方式来控制访问权限的,如果你使用svn协议来访问,那么就必须输入登录信息才能访问,而如果使用http协议就不需要输入登录信息就可以访问。

4.我们在</Location>之前输入如下信息:
  <Location /svn>
 DAV svn
 SVNPath E:/svn/repository
 AuthType Basic //验证类型采用基本类型
 AuthName "Subversion Repository" //表示出现登录对话框时,窗口的标题名
 AuthUserFile E:/passwd/passwords //表示用户登录信息的存放文件,稍后创建
 Require valid-user //表示只有认证的用户才能访问,否则匿名用户也可以访问
  </Location>
5.密码文件的创建(使用%apache_home%\bin\htpasswd命令)
   在命令行中输入:htpasswd -c E:/passwd/passwords hello (hello为用户名) (-c表示创建文件 -p使用明文密码)
   提示如下: Automatically using MD5 format.
             New password:
6.父子库的配置说明SVNParentPath,即父库只用来管理子库,每个子库实际上对应一个项目的管理
  <Location /svn>
 DAV svn
 SVNParentPath E:/svn/repository
 AuthType Basic //验证类型采用基本类型
 AuthName "Subversion Repository" //表示出现登录对话框时,窗口的标题名
 AuthUserFile E:/passwd/passwords //表示用户登录信息的存放文件,稍后创建
 Require valid-user //表示只有认证的用户才能访问,否则匿名用户也可以访问
  </Location>

备注:E:/svn/repository下面必须有子库才可以使用SVNParentPath(详见浪曦的PDF)
 7.权限控制:对于匿名用户可以读,但是只对认证用户开放写操作。
   <Location /svn>
 DAV svn
 SVNParentPath E:/svn/repository
 AuthType Basic //验证类型采用基本类型
 AuthName "Subversion Repository" //表示出现登录对话框时,窗口的标题名
 AuthUserFile E:/passwd/passwords //表示用户登录信息的存放文件,稍后创建
 <LimitExcept GET PROPFIND OPTIONS REPORT>
  Require valid-user
 </LimitExcept>
  </Location>
  8.权限级次配置
  <Location /svn>
 DAV svn
 SVNParentPath E:/svn/repository
 AuthzSVNAccessFile E:/passwd/policy //此文件中配置了用户对SVN访问的策略文件
 AuthType Basic //验证类型采用基本类型
 AuthName "Subversion Repository" //表示出现登录对话框时,窗口的标题名
 AuthUserFile E:/passwd/passwords //表示用户登录信息的存放文件,稍后创建
 Require valid-user //表示只有认证的用户才能访问,否则匿名用户也可以访问
  </Location>
  在policy中增加如下内容:
  [helloworld:/]   helloworld子库。。。。。。
  hello=rw 可读可写
  google=r 只读不可写
  microsoft= 不可读不可写
  备注:使用此功能要删除保存在本地的用户认证信息(删除\Subversion\auth这个子目录)
  9.SVN中组的概念
  在公司里都有不同的项目组,每个组对应自己的仓库,一个组有很多组员,如果对于每个组员都去指定他的访问权限显得十分繁琐,我们可
  以利用SVN中组的概念来对用户进行分类,这样大大方便了我们的操作。
  将policy文件修改为如下:
  [groups]
  developers=hello,google
  testers=microsoft
  [helloworld:/]
  @developers=rw     //用@developers来引用之前定义好的组
  @testers=
  [subsvn:/]
  @developers=rw
  @testers=rw

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值