apache整合SVN

原创 2012年03月23日 17:46:43

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

apache+svn+openldap 整合实现认证

环境说明: - apache作为前端访问入口和功能整合 - svn的认证使用apache代理openLDAP完成 - svn的权限和授权受限于svn本身的机制,目前任然使用其原生配置文件方式。 ...

CentOS 6.5搭建Apache整合SVN 1.8.5服务器(多版本库权限配置)

gcc gcc-c++安装 yum install gcc gcc-c++ 2.将Subversion和依赖安装包上传到CentOS服务器 3.依赖包的安装 tar zxvf apr-1.5....

svn服务器的配置以及与apache httpd的整合工作记录

作者:陈海青(http://hhrz.org)                by josonchen (http://hhrz.net)                         20...

SVN与eclipse整合与使用、SVN与Apache整合

解压到eclipse 安装目录中dropins 参考前面的文章,启动svn服务、添加用户、设置权限等操作 使用Eclipse创建一个项目,右击team→Share Project,全部的操作都在Tea...

Linux下搭建svn+apache

  • 2017年08月16日 19:27
  • 285KB
  • 下载

apache+svn配置使用说明

  • 2011年06月22日 14:56
  • 39KB
  • 下载

Centos搭建持续集成(三)----安装SVN和Apache

一、安装SVN 执行以下命令进行安装: yum install subversion 查看版本 svn serve –version 二、安装Apache 三、安装Apache模块...

svn和apache的安装与配置

  • 2012年11月12日 11:25
  • 7KB
  • 下载

Windows 下面 apache+SVN配置

  • 2012年06月06日 18:59
  • 18KB
  • 下载

apache+svn配置过程

svn安装指南 建议:源码安装 环境:Centos6.2_X64+apache2.2.22+subversion1.6.9 历史:1.已经安装过一次,浏览器和SVN客户端可以正常使用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:apache整合SVN
举报原因:
原因补充:

(最多只允许输入30个字)