1.svn+apache整合

1:安装svn客户端, 并且在客户端下,
能建立仓库,在自己的硬盘上,建一个库
利用 file:///D:/xx/yy来管理自己的仓库.

 


2:把svn与apache整合.

2.1为什么与apache一起整合?
答:因为80端口支持广泛.

 

整合注意事项:
1:svn-win32的版本与apache版本匹配
2:要安装vc6,vc9的库
3:把svn的bin目录加到系统环境变量里,并重启.

 

2.2: 整合步骤
在windows,选取与apache相适应的subversion的压缩包,并与apache整合.
下载地址:http://sf.net/projects/win32svn

在linux下,一般是下载源码
地址:http://subversion.apache.org/

 


2.3:具体操作
2.3-1:解压win32svn压缩包,推荐到apache的平级目录,
并重命名为svn


注意: 我们要做的是把svn 当成apache的一个模块来执行.
和php作为apache来整合,有类似之处.


2.3-2:复制so
把svn/bin中的
mod_authz_svn.so
mod_dav_svn.so
到apache/modules/下面.


2.3-3: 修改配置文件
apache/conf/httpd.conf

把下面这两行前的#号去掉
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so

然后新增2行
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so


2.3-4: 修改环境变量 ,并重启,使环境变量生效.
在环境变量中的path里,加上 svn/bin的路径.
例; D:\amp\svn\bin

 

3.1:寻立仓库目录
在X盘,例D:/amp

建立仓库目录, 例: D:/amp/repo


3.2: 建立仓库
在D:/amp/repo 下面建立具体的代码仓库.
如D:/amp/repo/orange
不要用客户端来建立仓库,用服务器端的命令.
x:/path/svn/bin/svnadmin create D:/amp/reop/food
create前是svnadmin.exe的路径
create后是你想建立的仓库的路径.

 


3.3: 修改配置文件,httpd.conf
目的:使apache能够对特定目录转发给svn处理.

具体:在httpd.conf后面加上如下几句话:

<Location /svn>
DAV svn
SVNParentPath D:/amp/repo

#repo目录是所有仓库的上级目录
</Location>

 


3.4:测试
通过客户端 签出 http://localost/svn/orange
即可把仓库签出

 

 

=====================权限控制==============
再次httpd.conf

<Location /svn>
DAV svn
SVNParentPath D:/amp/repo

AuthZSVNAccessFile D:/amp/repo/authz
AuthUserFile D:/amp/repo/passwd
# 上述两行分别代表用户权限表, 用户密码表.

Satisfy Any
Require valid-user

AuthType Basic
AuthName "hp5qi"


#repo目录是所有仓库的上级目录
</Location>


============生成用户密码,及配置用户权限==========
在apache的bin目录下面执行!

htpasswd -c D:/amp/repo/passwd stu
# -c代表新创建,如果是第2次及以后再次增加用户,不要用-c,否则前面的用户都丢失了.

 

在authz里写权限规则
例: 在D:/repo/orange, 和apple两个仓库
[orange:/]
stu = r
dev = rw


[apple:/]
stu = rw
dev = r
* = r


如上配置中,即说明
对于orange仓库
stu 只读权限
dev 读写权限

apple 仓库
stu 读写权限
dev 只读
任意用户 读权限

 

 

 

 

posted @ 2013-08-05 13:55  为了这有限的生命  阅读(622)  评论(0编辑  收藏  举报