文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Subversion版本管理器简单配置说明

Subversion版本管理器简单配置说明

时间:2006-03-15  来源:sungaoyong

Subversion版本管理器简单配置说明,没地方放了,应该属于服务器搭建之类的分类的,可是论坛里现在还没有这样的版块,所以就先放在这里了。

一、Subversion的下载与安装
Subversion的官方网站:http://subversion.tigris.org/
可以在官方网站上下载Subversion的最新版本。本说明使用的是1.1.4的Win32版。
下载下来Subversion安装文件后,直接安装就可以了。这里假设系统上已经安装好了Apache了,这样,Subversion安装的时候选择Apache方式,它就会自动的配置相关的模块到Apache里。

二、Subversion的建立与使用仓库使用。
$svnadmin create /path/to/repos
在这里,我们假设设置D盘svn目录下的svn1和svn2两个目录为仓库。
svnadmin create d:/svn/svn1
svnadmin create d:/svn/svn2
这样,我们使用的时候,就可以向里面提交文件。
仓库的使用,必须先把服务搭建起来才行。我们等后面的服务器配置后再讲。

三、Subversion服务器的搭建
我们使用与Apache模块的方式运行。
首先,把我们需要的SVN模块加载上,修改Apache的配置文件httpd.conf:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule dav_module modules/mod_dav.so
LoadModule authz_svn_module modules/mod_authz_svn.so

然后配置仓库:

<Location /svn>
  DAV svn
  SVNParentPath d:/svn
</Location>
然后,配置验证方式:
这里使用旦Apache的验证方式:

htpasswd -cm d:/svn/svn-auth-file user1
然后,会提示输入密码,这里就加入了一个用户了。然后再加一个用户:
htpasswd -m d:/svn/svn-auth-file user2

然后修改配置:
<Location /svn>
DAV svn
SVNParentPath d:/svn
AuthType Basic
AuthName “Subversion repository”
AuthUserFile d:/svn/svn-auth-file
Require valid-user
AuthzSVNAccessFile d:/svn/svn-access-file
</Location>
下面,就要写这个svn-access-file文件了,它是用来控制用户访问仓库的权限的,我们把说明写在后面
[svn1:/]              //这表示,仓库svn1的根目录下的访问权限
harry = rw            // svn1仓库harry用户具有读和写权限
sally = r              // svn1仓库sally用户具有读权限
[svn2:/]              //svn2仓库根目录下的访问权限
harry = r              // harry用户在svn2仓库根目录下只有读权限
sally =              // sally用户在 svn2仓库根目录下无任何权限
#[/]              // 这个表示在所有仓库的根目录下
#* = r              // 这个表示对所有的用户都具有读权限
#[groups]              // 这个表示群组设置
#svn1-developers = harry, sally          // 这个表示某群组里的成员
#svn2-developers = sally
#[svn1:/]           
#@svn1-developers = rw      // 如果在前面加上@符号,则表示这是个群组权限设置

将这个设置完成后。重启Apache,就可以通过
http://localhost/svn/svn1
http://localhost/svn/svn2
这两个URL来访问仓库了,当然,要受权限的限制,必须是合法用户才能访问且具有相应的权限
客户端的使用,可以通过许多客户端GUI软件来用。比如TortoiseSVN就很好用。
官方网址:http://tortoisesvn.tigris.org/

Subversion权限文件AuthzSVNAccessFile示例

在使用Subversion时,认证文件AuthzSVNAccessFile能控制每一个目录的权限,但讲解的文档较少,中文文档更少。下面通过实例讲解使用方法。

环境Windows 2003 Server,局域网,域:domain.com.cn
Apache 2.0.52
Subversion 1.1.0
TortoiseSVN 1.1.0
LanguagePack_1.1.0_zh_CN

例子:
Repository存放在D:\repository下,有两个repository: test and xtest
每个repostory 的结构相同:
  根:01.txt
      02.txt
  folder 1-: 11.txt
  12.txt
  folder 2-: 21.txt
    22.txt
对目录1和2作不同的读写权限控制
Basic Authentication

修改文件:
Httpd.conf:
#Basic authentication
<Location /repository>
  DAV svn
  SVNParentPath d:/repository
  AuthzSVNAccessFile d:/repository/accessfile               
  Require valid-user
  AuthType Basic
  AuthName "身份验证"
  AuthUserFile d:/repository/passwd               
</Location>

用Apache的htpasswd生成用户名和密码,
Htpasswd –c passwd username
第二次不用 –c。
生成的用户名和密码在passwd中:
0:$apr1$Vu5.....$XZ/csz/2YKoPNKpb88O5p0
1:$apr1$vu5.....$I1VwMJ7JtRmpmJjVUlT4h1
2:$apr1$Dv5.....$vf2MTg/p0mY.WcFhx7wET1
3:$apr1$Tv5.....$gfk4AiP49h0JjKN8BuJdB.

AuthzSVNAccessFile控制每个目录的读写权限
[test:/]
1 = r
2 = r
3 = r
[test:/1]
1 = rw
[test:/2]
2 = rw

在 客户端,用http://server/repository/test可以访问。也可以直接进入子目录访问:http: //server/repository/test/1,http://server/repository/test/2。系统会要求进行认证。例如用 户1对目录1有读写权限,可以commit修改,但对目录2所作的修改就不能commit。

SSPI认证。
按上一种方式,用户更换一次密码,就必须修改一次密码文件。用SSPI认证则可以没有这个问题。
Httpd.conf文件:
#SSPI authentication
<Location /repository>
  DAV svn
  SVNParentPath d:/repository
  AuthzSVNAccessFile d:/repository/accessfilesspi             
  Require valid-user
  AuthType SSPI
  AuthName "Subversion repositories"
  # SSPI settings
  SSPIAuth On
  SSPIAuthoritative On
  # point to domaincontroller
  SSPIDomain domain.com.cn
  SSPIOfferBasic On
</Location>

控制文件AuthzSVNAccessFile要作相应的修改:
[test:/]
domain\user1 = r
domain\administrator = r
[test:/1]
domain\user1 = rw
[test:/2]
domain\user1 =
domain\administrator = rw
在tortoiseSVN使用时,会提示认证,填写用户名和密码即可。
相关阅读 更多 +
排行榜 更多 +
边境检察最后区域手机版下载

边境检察最后区域手机版下载

角色扮演 下载
酋长你别跑手游下载

酋长你别跑手游下载

休闲益智 下载
心动漫画app下载官方版

心动漫画app下载官方版

浏览阅读 下载