Subversion在windows下的安装说明

  SubversionTortoiseSVNWindows系统下的安装

1、软件下载
l         下载Subversion服务器程序。
l         下载Subversion的Windows客户端TortoiseSVN及中文汉化软件
2.服务器和客户端安装
l         安装TortoiseSVN,同样直接运行TortoiseSVN-1.3.5.6804-svn-1.3.2.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。
l         安装TortoiseSVN简体中文语言包。
3.建立版本库(Repository
运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如: svnadmin create E:/SVN/repository,就会在目录E:/SVN/repository下创建一个版本库。
         我们也可以使用TortoiseSVN图形化的完成这一步:在目录E:/svn/repository下"右键->TortoiseSVN->在此创建文件库, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
4.Subversion服务器的搭建
 
Apache中配置使用SVN--For Windows
   版本:Apache服务器采用2.0.59版本,
         SVN采用1.3.2版本 !!
         注意1.3.2版本不能和Apache2.2版本集成
安装配置过程如下:
 
安装要点记录如下:
0 安装Apache2.0D:/Apache2。如果在安装SVN之间已经安装Apache2.0,步骤123可以省略。
1 复制%SVN_HOME%/bin/libdb42.dlllibeay32.dll、以及 ssleay32.dll%APACHE_HOME%/bin
2 复制%SVN_HOME%/bin/*.so%APACHE_HOME%/modules
3 修改%APACHE_HOME%/conf/httpd.conf,增加或修改:
修改Apachehttpd.conf文件,在模块加载列表找到以下语句:
       #LoadModule dav_module modules/mod_dav.so
       #LoadModule dav_fs_module modules/mod_dav_fs.so
去掉前面的“#”号,启用加载这两个模块。然后再在模块加载语句最后添加以下两行:
       LoadModule dav_svn_module modules/mod_dav_svn.so
       LoadModule authz_svn_module modules/mod_authz_svn.so 
4 <VirtualHost>中增加/svn<Location>
       <Location /svn>
     DAV svn
    SVNPath E:/SVN/repository
    </Location>
5 重起apache,通过浏览器访问http://localhost/svn 可看到Subversion的信息。 
6 访问控制。此处采用文件方式,首先建立一个保存密码的文件
利用 apache 自带的 htpasswd 生成可访问用户的列表文件,这个文件中包含了用户名及其 MD5 之后的密码:(在cmd中,既默认apache路径C:/Apache Group/Apache2/bin执行该命令htpasswd -cm E:/SVN/users/svn-auth-file user1
# htpasswd -cm E:/SVN/users/svn-auth-file user1  
New password: *****
Re-type new password: *****
Adding password for user user1
如果还需要添加新的用户,继续使用
# htpasswd -m E:/SVN/users/svn-auth-file user2
注意,这一次不再使用 -c 参数,这个参数是用来新建文件的,所以第二个用户开始就不需要这个参数了,否则会重新创建文件,把第一个用户给去掉了。
接下来做一个简单的权限配置,举个简单的例子。具体权限视工程而制定。我们假设任何人都可以有读的权限,但只有 members 开发成员可以写trunk中的内容,这需要创建一个访问控制文件,假设为 E:/svn/users /svn-access-file。文件内容大概如下:
[groups]           // 定义组
members = user1, user3, user2
 
[svn:/]
* = r              // 任何人都可以读
[svn:/trunk]
member = rw       // trunk 的权限只有members组成员可以读写
* =               // 使其他人没有读写权限
//@members =rw
httpd.conf中的/svn处增加权限控制部分:
      <Location /svn>
      DAV svn
      SVNPath E:/SVN/repository
      AuthType Basic
      AuthName "Subversion repository"
      AuthUserFile E:/SVN/users/svn-auth-file
      AuthzSVNAccessFile E:/svn/users /svn-access-file
      Require valid-user
    </Location>
重启服务器,浏览http://localhost/svn,出现安全对话框,输入用户名密码即可成功。 
 
 
 
 
 
文件svn-access-file例子1如下:
[groups]          
tests = hmf,zym,yj
admins = admin
 
 
 
[svn:/]
* = r
admin =rw
 
[svn:/test]
@tests = rw
* =
 
 
 
编写的svn-access-file文件例子2如下:
 [groups]
 admin = paleswd, admin
 guest = guest, rsgs
 pro = project
 swd =swd, @pal
 pal = Paleswd
 
 # Default access rule for ALL repositories
 # Everyone can read, admins can write
 [/]
 * = r
 @admin = rw
 
 [Repository:/Project-1]
 @pro = rw
 
 [Repository:/Paleswd]
 @pal = rw
 
 [Paleswd:/]
 @pal = rw
 
 [Paleswd:/Paleswd 2006-08-23]
 @swd =rw
 
 [Guest:/]
 @guest = rw
 @swd =rw
 
 [Project:/]
 @pro = rw
◎◎◎◎特别提示:
 组成员居然还可以相互引用
 注意:对某一个文档库下的文件夹施行访问控制时该文件夹的路径后不能跟"/"
 比如要对Repository版本库中根目录下的Paleswd文件夹实行控制,路径要写成:[Repository:/Paleswd],而不能为:[Repository:/Paleswd/]
 组成员居然还可以相互引用
 注意对某一个文档库下的文件夹施行访问控制时该文件夹的路径后不能跟"/"
 比如要对Repository版本库中根目录下的Paleswd文件夹实行控制,路径要写成:[Repository:/Paleswd],而不能为:[Repository:/Paleswd/]
 可以支持带有空格路的径
 经过测试,发现subversion是可以很好地控制中文目录的权限的。
 方法很简单,就是将你的权限控制文件的格式转换为UTF-8格式,
 将权限文件改成UTF-8格式我使用的是UltraEdit的菜单"ASCII to UTF-8 (Unicode Editing)"
 
 :SVN版本库根目录下有PaleswdRepositoryGuestProject几个版本库
 
※※※注意在编写svn-access-file文件时,如果要使用SVNPath功能时在Location设置中最后一定要加上/
应该是<Location /svn/>而不是<Location /svn>,否则可能不能访问的,将出现如下错误:
 Forbidden
 You don't have permission to access /svn/ on this server.
 --------------------------------------------------------------------------------
 Apache/2.0.59 (Win32) SVN/1.3.2 DAV/2 Server at localhost Port 80
不使用svn-access-file文件配置时写成<Location /svn>不会出现该问题!切记!!!
另外必须指定svn-auth-filesvn-access-file文件的路径
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁宁可可

您的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值