SVN1.5配置(转)

 

1、安装

  * Subversion1.5版本的安装包自带了Apache2.2.8,所以无需额外安装Apache服务器
  * 一路默认安装,如果需要修改仓库根目录或者Apache2.2.8端口可以自行修改为自己的信息,Apache默认端口为80,Subversion默认仓库存储路径为C:/svn_repository。
    安装的过程中会自动将Subversion和Apache注册成服务,安装完成后重启一下电脑,运行services.msc查看服务,可以看到 “Apache2.2”和“Subversion Server”两个服务已经自动启动,如果不想让他们自动启动,可以修改为手动启动。

    注:安装结束时没有提示重启系统,但重启之前Apache服务无法启动。

  * 安装好后进入安装目录C:/Program Files/CollabNet Subversion Server,里面有一个httpd目录,这里面就是Apache服务器。
    进入httpd下的bin目录,可以看到Apache服务器的各个程序
    双击“ApacheMonitor.exe”打开Apache控制台,可以看到控制台的状态栏有如下内容:
    Apache/2.2.8 (Win32) DAV/2 SVN/1.5.0
    这说明Apache与Subversion在安装的过程中已经整合成功。

  上面介绍的主要是安装的部分,没有什么特殊注意的,一切都很顺利的可以完成。接下来主要讲一下配置用户和权限的过程中需要注意的事项。

2、配置用户和权限

  注:下面用的用户配置文件passwords.auth和权限配置文件access.auth的生成、配置及使用方式,在我的另一篇文章 “Apache2.2.9+Subversion1.4.6(for Apache2.2.X)在windows下的配置与权限设置”中有详细的介绍,这里就不再赘述。

   * 进入安装目录下的httpd目录中的conf目录,如:
C:/Program Files/CollabNet Subversion Server/httpd/conf
    打开httpd.conf文件,先看看文件最后面,已经自动为我们配置好了仓库的信息如下:
<Location /svn>
DAV svn
SVNParentPath C:/svn_repository
</Location>
    在这里我们先加入,用户配置,代码如下:

<Location /svn>
DAV svn
SVNParentPath C:/svn_repository
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "C:/svn_repository/passwords.auth"
Require valid-user
</Location>

    加入那四行新的信息后,重新启动Apache服务器,一切正常,这是可通过浏览器输入 http://localhost/svn测试,会提示输入用户名、密码,用SVN客户端软件同样可以测试得到相同的结果。

    下面是本文的主要内容,及权限配置的注意事项。

    我们再在代码中加入权限配置的代码AuthzSVNAccessFile "C:/svn_repository/access.auth"
    修改后的代码如下:
<Location /svn>
DAV svn
SVNParentPath C:/svn_repository
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "C:/svn_repository/passwords.auth"
AuthzSVNAccessFile "C:/svn_repository/access.auth"
Require valid-user
</Location>

     此时重启Apache服务器,发现无法启动,提示“The requested operation has failed!”

     这是我们需要再次修改httpd.conf配置文件,加入mod_authz_svn.so的加载项。

     找到配置文件的116行(推荐使用UtralEdit或EditPlus编辑工具,不要一行一行的数哦),115和116行的代码如下:

115 LoadModule dav_module         modules/mod_dav.so
116 LoadModule dav_svn_module     modules/mod_dav_svn.so

     其中116行中的mod_dav_svn.so文件就是以前我们安装Subversion1.4.6和Apache时,由Subversion
     的lib目录拷贝到Apache的modules目录的,并在Apache的httpd.conf下新加入的那行代码。   

     再找到84行的代码,会发现和115行的代码一样,只是多了一个#号,表示这一行被注释了,115行的作用就是使这行代码重新生效,这就是以前取消注释的那行代码。

84  #LoadModule dav_module modules/mod_dav.so
   
     如果装过Subversion以前的版本,应该记得当时需要拷贝两个文件到Apache的modules目录下,一个
     是上面说过的mod_dav_svn.so,另一个就是mod_authz_svn.so。在Subversion1.5的安装目录下的 Apache目录httpd的modules中已经包含了mod_authz_svn.so文件,所以无需拷贝,只需要加入一行加载代码即可。

     再次回到116行的位置,在他的下面加入如下一行代码,这行代码就成为了117行:

     LoadModule authz_svn_module  modules/mod_authz_svn.so

     此时我们再保存配置文件,重启Apache服务器,发现又可以正常的启动了。

     到此,我们完成了Subversion1.5的安装与配置工作,可以在实际的开发中使用Subversion1.5了。


3、总结

    Subversion1.5的安装包集成了Apache2.2.8的安装,一次安装就可以完成两个软件的安装,并同时自动完成Subversion与 Apache的集成。但在用户账号配置和用户权限配置的过程中还是需要所有注意,特别的用户权限的配置,需要填入一行模块加载代码,如下:
LoadModule authz_svn_module  modules/mod_authz_svn.so

    在以前版本的Subversion安装中我们通常需要取消注释两行代码,并加入两行新的模块加载代码,而在1.5的版本中,取消注释的工作已经有安装程序自动完成,新加代码的工作也有安装程序完成了一大半,只需要我们加入上面的这一行代码就可以使我们的用户和权限配置生效并正常使用了。

原文: http://www.subversion.org.cn/?action-viewnews-itemid-62
现在用SVN的开源项目太多, 这个工具会比较常用到, 还是存一份的好. TortoiseSVN  版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要管理潜在的混乱。   什么是 TortoiseSVN?   TortoiseSVNSubversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。   某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。   TortoiseSVN 的历史   在2002年,Tim Kemp 发现 Subversion 是一个很好的版本控制系统,但是没有好的图形化客户端,创建一个作为 Windows 外壳集成的 Subversion 客户端的创意来自 TortoiseCVS,一个非常类似的 CVS 客户端。   Tim 学习了 TortoiseCVS 的源代码,将其作为 TortoiseSVN 的基础,然后开始这个项目,注册了域名 tortoisesvn.org,并将源代码提交到网上。此时 Stefan Küng 正在寻找一个好的免费版本控制系统,他发现了 Subversion 和 TortoiseSVN,由于 TortoiseSVN 还不能够使用,他加入了这个项目并开始编程。很快他便重写了大多数代码,并且开始添加命令和特性,此时,最初的代码都已经不复存在了。   随着 Subversion 越来越稳定,吸引了越来越多的用户开始使用 TortoiseSVN 作为他们的 Subversion 客户端。用户群增长迅速(每天都持续增长)。Lübbe Onken 提供了许多漂亮图标和 TortoiseSVN 的 logo,细心照料网站并且管理翻译。   TortoiseSVN 的特性   是什么让 TortoiseSVN 成为一个好的 Subversion 客户端?下面是一个简短的特性列表。   外壳集成   TortoiseSVN 与Windows 外壳(例如资源管理器)无缝集成,你可以保持在熟悉的工具上工作,不需要在每次使用版本控制功能时切换应用程序。   并且你不一定必须使用 Windows 资源管理器,TortoiseSVN 的右键菜单可以工作在其他文件管理器,以及文件/打开对话框等标准的 Windows 应用程序中。你必须牢记,TortoiseSVN 是有意作为 Windows 资源管理器的扩展开发,因此在其他程序可能集成的并不完整,例如重载图标可能不会显示。   重载图标   每个版本控制的文件和目录的状态使用小的重载图标表示,可以让你立刻看出工作副本的状态。   Subversion 命令的简便访问   所有的 Subversion 命令存在于资源管理器的右键菜单,TortoiseSVN 在那里添加子菜单。   因为 TortoiseSVN 是一个 Subversion 客户端,我们也很愿意为你展示一些 Subversion 本身的特性:   目录版本控制   CVS 只能追踪单个文件的历史,但是 Subversion 实现了一个“虚拟”文件系统,可以追踪整个目录树的修改,文件和目录都是版本控制的,结果就是可以在客户端对文件和目录执行移动和复制命令。   原子提交   提交要么完全进入版本库,要么一点都没有,这允许开发者以一个逻辑块提交修改。   版本控制的元数据   每个文件和目录都有一组附加的“属性”,你可以发明和保存任意的键/值对,属性是版本控制的,就像文件内容。   可选的网络层   Subversion 在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,Subversion 的“高级”服务器Apache 网络服务器的一个模块,使用 HTTP 的变种协议 WebDAV/DeltaV 通讯,这给了 Subversion 在稳定性和交互性方面很大的好处,可以直接使用服务器的特性,例如认证、授权、传输压缩和版本库浏览等等。也有一个轻型的,单独运行的 Subversion 服务器,这个服务器使用自己的协议,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值