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使用时,会提示认证,填写用户名和密码即可。
一、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使用时,会提示认证,填写用户名和密码即可。
相关阅读 更多 +
排行榜 更多 +