关闭

Subversion在windows下的安装说明

506人阅读 评论(0) 收藏 举报
Subversion和TortoiseSVN在Windows系统下的安装
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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:551419次
    • 积分:7378
    • 等级:
    • 排名:第3074名
    • 原创:137篇
    • 转载:242篇
    • 译文:0篇
    • 评论:88条
    娱乐