Subversion 服务配置安装手记(一)

上周安装Apache Subversion ViewVC的服务配置纪录。流水帐方式记录.

所用到的软件以及下载,基本上按照安装的先后顺序来排列.
Apache 2.0.58 http://httpd.apache.org/

SubVersion 安装完毕后,开始进行基本配置.
首要问题就是设置访问方式。
Subversion支持两种方式,一种是svn协议的,一种是基于Http的,也就是之前我们安装Apache的目的。
两种使用方式互有优劣,主要是svn用于内网方便,速度快,占用CPU相对低,但配置权限不太好,访问方式也不利于通过防火墙。
 
我采用Apache方式,放弃Subversion本身的用户管理方式,采用Windows 域账号设置。
因此需要安装 mod_auth_sspi.so  http://tortoisesvn.tigris.org/mod_auth_sspi.zip 下载后的文件解压缩放到Apache目录下的Modules就可以。
使用Apache方式,重点在于Apache的httpd配置文件的正确设置。
对于需要启用的模块,要正确输入路径和名称,保险的办法是都复制到Modules目录下。另外此处的先后顺序也不能乱。
#  Windows authentication module
LoadModule sspi_auth_module   modules / mod_auth_sspi . so 

#  subversion modules
LoadModule dav_svn_module  " C:/Program Files/Subversion/bin/mod_dav_svn.so "
LoadModule authz_svn_module 
" C:/Program Files/Subversion/bin/mod_authz_svn.so "  
其他需要增加的Module类似不再叙述。
 
在httpd.conf 最后加上Subversion目录的访问权限设置. 
< Location  / svn >
#  告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块 

DAV svn 

#  在Subversion 1.3及更高版本中,这个指示器使得Subversion列出由SVNParentPath指定的目录下所有的版本库 

SVNListParentPath on 

#  告诉Subversion在目录D:\SVN下寻找版本库 

SVNParentPath E
: \SVN 

#  启用基本的验证,比如用户名/密码对 

#  AuthType Basic 

#  启用Windows 域账号验证 

AuthType SSPI 

#  当一个验证对话框弹出时,告诉用户这个验证是用来做什么的,这个提示不可以用中文 

AuthName 
" My SVNAccount "  

#  指定一个password文件作为密码文件用来验证用户的用户名及密码, 这里不需要了 

#  AuthUserFile E:\SVN\userpass 

    SSPIAuth On
    SSPIAuthoritative On    

    
#  是否省略掉用户id的域名部分
    SSPIOmitDomain On 

    
#  是否允许非IE客户端(必须打开,这样SVN的客户端才可以正常访问)
    SSPIOfferBasic On

    
#  是否将用户名和域名自动转为小写,此处很诡异,后面详细说明。

    SSPIUsernameCase lower 

    
#  基本认证(非域认证方式)具有更高的优先级?
     #  SSPIBasicPreferred Off 

   
#  默认的域名主机,不需要设置这个,会自动认定本机和所有已经认证过的域
      SSPIDomain  < domaincontroller >  

#  限定用户只有输入正确的用户名及密码后才能访问这个路径
Require  valid - user 

#  指定D:\svnaccessfile来限定各个用户或组在版本库中目录的访问权限, 注意这个设置目前是对所有项目库有效。
AuthzSVNAccessFile  " E:\SVN\svnaccessfile.txt "  

</ Location >  


这个配置好之后,接下来就需要开始配置AuthzSVNAccessFile了。这个文件的写法,最重要是要理解路径为基础的授权。详细说明见参考文档1  

[groups]
admin 
=  manager
it 
=  jimjiang
assistant 
=  candy , sara
[
/ ]
@admin
=  rw
@it
=  rw
[ITProj1
:/ ]
[ITProj2
:/ ]
@assistant 
=  rw
[ITProj3
:/ ]
kevin 
=  rw
@assistant
= r


在以上的例子中,首先配置了用户组,其次按照项目库的方式建立了分别的访问权限。[/]是针对所有的项目库的设定。
注意: 此处的用户名都是小写,原因就是前面我们已经设置了将域账号自动按照小写来验证。这里需要特别注意,因为域验证的时候写用户名有三种可能性:

A  Domain\Jimjiang  B domain\jimjiang C jimjiang

针对这三种可能性对应,就一定要符合前面在配置文件中的设置,一定不能错。要小写,就一定要给小写的用户名,要省略域名,就不要再打域名。有关这个地方,请参见 参考文档2,老外有人专门作了一组测试。

在配置成功后,就可以用客户端访问以Http打头的SVN仓库了,输入正常的域账号就应该可以打开相应的项目库。
首先是设置版本库, 为方便起见,可以先把Subversion的客户端软件安装好,可以避免用命令行方式来操作Subversion.
设置版本库时,可以先建立一个项目的模板文件夹, 里面的目录结构如下:
 
image
目录结构中的branches\tags\trunk是按照建议创建的,基本上每一个项目库都应该是包括这几个目录的。
建立这个模版文件夹的目的,就是在于以后新建项目库的时候,可以用这个文件夹直接创建,从而自动为项目库增加以上的文件夹结构。
 
选用的Subversion客户端软件
TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msi http://tortoisesvn.tigris.org/
LanguagePack-1.4.8.12137-win32-zh_CN.exe http://tortoisesvn.tigris.org/
用于Visual Studio 的插件
VisualSVN.v1.3.2.for.VS

参考文档:
3. http://raibledesigns.com/wiki/Wiki.jsp?page=ApacheSSL
 
以上为安装Subversion的必要软件.下面是为了给Subversion增加Http方式访问的版本浏览系统而选择安装的ViewVC及其配套的插件.

转载于:https://www.cnblogs.com/Jimjiang/archive/2008/04/30/1165112.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Subversion是一个用于版本控制的开源软件,可以帮助团队协同开发和管理项目代码。要配置一个Subversion服务器,首先需要安装Subversion软件,并选择合适的操作系统来部署服务器。 在安装Subversion软件之后,需要创建一个仓库(repository)来存储项目的代码。可以使用svnadmin命令来创建一个新的仓库,然后在服务器上设置合适的权限和用户访问控制。这样可以确保只有授权的用户能够访问仓库内容,保护代码的安全性。 接下来,需要设置Subversion服务器的配置文件,包括网络端口、认证方式、日志记录等选项。可以通过修改subversion.conf文件来进行配置,确保服务器可以正常运行并满足团队的需求。 另外,还可以考虑使用WebDAV或Apache HTTP Server来提供对Subversion仓库的访问,这样团队成员就可以通过Web浏览器或其他Subversion客户端来管理代码,提高协作效率。 最后,在服务器部署完成之后,需要定期备份Subversion仓库的数据,以防止意外数据丢失。可以使用svnadmin hotcopy命令来创建一个完整的备份,或者设置定时任务来自动备份服务器数据。 综上所述,配置Subversion服务器需要安装软件、创建仓库、设置权限、配置服务器选项、提供访问方式和定期备份等步骤。通过合理的配置和管理,Subversion服务器可以为团队提供高效的版本控制和代码管理服务

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值