转自:http://ttitfly.iteye.com/blog/134570
1. 安装与svn对应的apache版本
2.把svn安装目录下(比如:D:\Program Files\Subversion\bin)的mod_authz_svn.so和mod_dav_svn.so文件拷贝到apache的安装目录(D:\Program Files\Apache Group\Apache2\modules)下
3.修改D:\Program Files\Apache Group\Apache2\conf\httpd.conf文件
因为apache和svn整合需要依赖的2个Module(145,146行)
LoadModule cgi_module modules/mod_cgi.so
LoadModule dav_module modules/mod_dav.so
把这2行注释取消
同时添加svn的Module:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
最后在配置请求:
<Location /svn>
DAV svn
SVNPath D:/svn/reponsitory
</Location>
重启apache. 现在svn仓库里的文件都可以通过apache来访问了:
比如:
http://localhost/svn/
如果这样配置的话,因为没有配置认证信息,所以,任何人都可以访问。
如果把Location部分改为:
<Location /svn>
DAV svn
SVNPath D:/svn/reponsitory
AuthType Basic
AuthName "Subversion Reponsitory"
AuthUserFile d:/test/passwords
Require valid-user
</Location>
AuthType:认证类型
AuthName:弹出认证窗口时的标题
AuthUserFile:认证用户名和密码文件,默认是密码是md5加密
Require valid-user:是否需要认证
D:\Program Files\Apache Group\Apache2\bin下有个htpasswd命令
htpasswd help可以查看具体用法
-c是新建立个密码文件
如:
htpasswd -c c:/test/passwords admin
回车后就会提示输入新添加的admin用户的密码
不带-c参数是追加一个新用户test
htpasswd c:/test/passwords test
-p是密码不加密,如:
htpasswd -p d:/test/passwords test1
如果2个用户的密码都是md5加密的,并且密码一样,在密码文件里存的也是不一样的。
如果直接在密码文件里输入内容,按照一定的明文格式来新添加用户和密码也是可以的。
-----------------------------------------------------------------------------------------------------------
1. 如果将Location部分的SVNPath改为SVNParentPath,如下:
<Location /svn>
DAV svn
SVNParentPath D:/svn/reponsitory
AuthType Basic
AuthName "Subversion Reponsitory"
AuthUserFile d:/test/passwords
Require valid-user
</Location>
则svn 的父仓库我们都无法访问到了,只能访问它的子仓库。
所以需要建立子仓库:
svnadmin create d:/svn/reponsitory/child1
现在如果你向仓库里导入一个project,比如用TortoiseSVN 来import ,如果你再地址栏里输入:
http://localhost/svn/aaa
则表示aaa必须是个已经存在的子仓库。否则失败
查看的话也是一样的,比如:
http://localhost/svn/bbbb
则bbbb也是个已经存在的子仓库。而不是父仓库下的bbbb项目。因为bbbb项目你是没办法访问到了
如果Require valid-user改为下面:
则表示匿名用户可以有读权限,而没有写和修改的权限 (一个用户对所有子仓库里的项目权限都是一样的。)
<Location /svn>
D:/svn/reponsitory
AuthType Basic
AuthName "Subversion Reponsitory"
AuthUserFile d:/test/passwords
<LimitEDAV svn
SVNParentPath xcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
如果再增加个策略文件,(一个用户对所有子仓库里的项目权限都是不一样的。)修改为:
<Location /svn>
DAV svn
SVNParentPath D:/svn/reponsitory
AuthzSVNAccessFile d:/passwd/policy
AuthType Basic
AuthName "Subversion Reponsitory"
AuthUserFile d:/test/passwords
Require valid-user
</Location>
编写策略文件内容d:/passwd/policy:
[subresponsitory:/]
user1=rw
user2=r
user3=
subresponsitory:/表示子仓库subresponsitory下所有的项目
如果某个子仓库没有在策略文件里配置,那么默认是所有用户都没有权限访问
用户组
策略文件里修改为:
[groups]
developers=user1,user2
testers=user3
#testers=@developers,user3也可以
[subsvn:/]
@developers=rw
@testers=
#这里也可以继续添加用户比如 user4=r
备份:
svnadmin hotcopy d:/svn/reponsitory d:/backup
svnadmin hotcopy d:/svn/reponsitory ftp://11.222.11.2
#reponsitory下的内容拷贝到backup目录下,reponsitory本身不会被拷贝
分享到:
相关推荐
关于svn与Apache整合以及svn一些常用问题的解决,
### SVN与Apache整合知识点详解 #### 一、SVN简介及数据存储方式 **SVN**(Subversion)是一种广泛使用的版本控制系统,它管理着项目的源代码历史,使得开发者能够追踪每一项修改,回滚到任意历史版本,以及并行开发...
【svn+apache+ssl整合】是指将Subversion(SVN)版本控制系统与Apache HTTP服务器结合,并启用SSL(Secure Sockets Layer)加密通信,以便提供安全的HTTPS访问方式。这一过程通常涉及以下步骤: 1. **环境准备**: ...
svn与apache整合的具体过程描述,并提供相应的详细图解流程。
**步骤5:整合SVN和Apache** 将SVN的模块复制到Apache的modules目录,将所有`.dll`文件复制到Apache的bin目录。接着,编辑Apache的`httpd.conf`,加载SVN相关的模块,并配置SVNPath。重启Apache后,访问`...
将Apache与SVN整合,可以创建一个高效、安全的Web访问源代码仓库的解决方案。以下是对"Linux整合Apache和SVN"这一主题的详细讲解。 首先,了解SVN的基本概念。Subversion是一个集中式的版本控制系统,它记录了文件...
NULL 博文链接:https://yanfei133.iteye.com/blog/586146
本文将详细讲解如何在CentOS 6.5操作系统上搭建Apache服务器,并整合SVN 1.8.5,同时涵盖多版本库的权限配置。这个过程涉及到源码编译和安装,以及Apache的模块配置。 首先,我们需要准备必要的软件包,包括Apache ...
将Apache 与SVN 进行整合,这样以后在输入SVN 服务器地址时就会形如http://形式,比如我们访问JBOSS 等网站时,用的svn服务器地址。 要使apache 和svn 整合,两个的版本一定要兼容,不然就是无法整合,切记
**三、配置 Apache 与 SVN 整合** 1. 安装 DAV_SVN 模块:下载对应 Apache 版本的 `mod_dav_svn` 和 `mod_authz_svn` 模块,放入 Apache 的 `modules` 目录。 2. 启用模块:在 `httpd.conf` 中添加以下行,启用这两...
在Windows环境下,整合Apache、SVN(Subversion)和Trac是一项常见的任务,尤其是对于企业内部的版本控制系统和项目管理工具。以下是一个详细的集成步骤,以实现使用域账号进行身份验证。 首先,我们来看Apache的...
1 假设安装Apache至D:\Apache2 (%Apache_HOME%) 2 复制附件解压后里面的*.dll和*.so到%APACHE_HOME%\modules 3 修改%APACHE_HOME%\conf\httpd.conf,增加或修改: LoadModule dav_module modules/mod_dav.so ...
- 配置Apache与SVN:通过修改Apache的httpd.conf文件,添加必要的模块和配置指令,使Apache支持SVN。 - 创建版本库:使用SVN工具创建版本库,选择FSFS存储格式。 - 授权与访问控制:配置Apache的用户认证和权限...
Apache与Subversion的集成需要一些依赖库,如`apr`, `apr-util`, `pcre`, `apr-iconv`等。这些文件如`apr-1.6.5.tar.gz`, `pcre-8.42.tar.gz`, `apr-iconv-1.2.2.tar.gz`需要依次解压、配置、编译和安装。 3. **...
在Mac操作系统中,整合SVN(Subversion)与SVK是一项常见的任务,特别是对于开发者而言,这能够提供灵活的版本控制和备份方案。SVN是一个成熟的版本控制系统,而SVK则是一个分布式版本控制系统,它利用SVN的仓库作为...
整合配置Apache与SVN** - **步骤**: - 将SVN安装目录`D:\install\svn-win32-1.6.6\bin`下的`mod_dav_svn.so`, `mod_authz_svn.so`以及所有以`lib`或`int`开头的dll文件复制到Apache的模块目录`D:\Program Files\...