CFXIXI工作室首页
CF西西的博客 | WinServer2003环境下如何配置TortiseSVN(版本控制)服务器端

WinServer2003环境下如何配置TortiseSVN(版本控制)服务器端

4. 三月 2012

首先请大家了解TortiseSVN(SVN)只不过是一个供多人开发版本控制的工具,并不是把文件上传到服务器,让大家下载而已,所以以为这样可以直接对网站应用进行更新操作的同志,请大家另外想办法(除非服务器那边再装一个TortiseSVN客户端,从版本控制那里获得文件)。

原理:http://zhidao.baidu.com/question/311793111.html

1.安装 Apache(lz装的是httpd-2.2.22-win32-x86-no_ssl.msi)

从Apache网站http://httpd.apache.org/download.cgi下载最新版本的Apache,请确定你下载的版本高于2.0.54-1.3.xx的版本不能工作!同样,低于2.0.54的版本不能与Subversion 1.2一起工作,因为Apache低于2.0.54的Windows版本的编译存在问题。

 

2.修改服务的端口,如果80端口被占用了的话。

一旦你有了Apache2安装程序,你可以双击它,然后它会指导你的安装过程,请确认你输入的server的URL正确(如果你的服务器没有dns名称,请直接输入IP地址)。我建议安装Apache为所有用户,在80端口,作为一个服务。注意: 如果你已经有了IIS或其他监听80段口的程序,安装会失败,如果发生这种情况,直接到程序的安装目录\Apache Group\Apache2\conf,打开httpd.conf。编辑文件的Listen 80为其他可用的端口,例如Listen 81,然后重新启动-这样就不会那个问题了。

 

3.测试apache是否已成功

现在可以测试Apache服务器了,将浏览器指向http://localhost/-将会看到一个预先配置的网站。

 

4.安装 Subversion(lz装的是svn-1.4.6-setup.exe)

http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91下载最新版本的Subversion。

 

5.运行Subversion安装程序

运行Subversion安装程序,并根据指导安装,如果Subversion认识到你安装了Apache,你就几乎完成了工作,如果它没有找到Apache服务器,你还有额外的步骤。

 

6.复制两个so文件到apache modules目录下

使用Windwos资源管理器,来到Subversion的安装目录(通常是c:\program files\Subversion),找到文件/httpd/mod_dav_svn.somod_authz_svn.so,复制这些文件到Apache的模块目录(通常是c:\program files\apache group\apache2\modules 

 

7.将libdb44.dll和intl3_svn.dll复制到Apache的bin目录下

从Subversion安装目录将/bin/libdb*.dll/bin/intl3_svn.dll复制到Apache的bin目录。

 

8.使用记事本之类的文本编辑器修改Apache的配置文件(通常是 C:\Program Files\Apache Group\Apache2\conf\httpd.conf),做出如下修改:

去掉如下几行的注释(删除 '#'标记):

#LoadModule dav_fs_module modules/mod_dav_fs.so

#LoadModule dav_module modules/mod_dav.so

将下面几行添加到LoadModule部分的最后。

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

 

9.配置

 

现在你已经设置了Apache和Subversion,但是Apache不知道如何处理Subversion客户端,例如TortoiseSVN。为了让Apache知道哪个目录是用来作为Subversion版本库,你需要使用编辑器(例如记事本)编辑Apache的配置文件(通常是c:\program files\apache group\apache2\conf\httpd.conf):

 

10.

  • 在配置文件最后添加如下几行:

    <Location /svn>
    DAV svn
    SVNListParentPath on
    SVNParentPath D:\SVN
    #SVNIndexXSLT "/svnindex.xsl"
    AuthType Basic
    AuthName "Subversion repositories"
    AuthUserFile D:\SVN\passwd
    #AuthzSVNAccessFile svnaccessfile
    Require valid-user
    </Location>
    

    这个配置告诉 Apache 你的所有 Subversion 版本库位于D:\SVN,版本库对外的URL是: http://MyServer/svn/ 。访问被文件passwd中的用户/密码限制。

  •  

    11.

  • 为了创建passwd文件,再次打开命令行提示符(DOS),来到apache2目录(通常是c:\program files\apache group\apache2)通过输入下面的命令创建文件

    bin\htpasswd -c passwd <username>
    

    创建第二个用户可以使用

    bin\htpasswd passwd <username>
    
    创建完后检查D:/SVN是否有passwd文件,没有的话用搜索把这个文件找出来复制到D:/svn目录下

    12.
    Subversion目录下使用svnadmin命令创建工程:
    svnadmin create d:/svn/repos
  •  

    13.再次重启Apache服务。

     

    14.将浏览器指向http://MyServer/svn/repos(repos是你此前创建的版本库名),如果一切正常,你会被提示输入用户名和密码,然后你会看到版本库的内容。

    如下图如果Revision 0 显示说明配置成功了

     

    15.使用tortiseSVN CheckOut功能从repos目录下获得文件即可

     

    参考文档:

    TortoiseSVN_zh_CN_中文帮助手册.chm (1.23 mb)

    参考文献:http://hi.baidu.com/patrolsun/blog/item/a176ff2403c33e064c088dcd.html

    http://wenku.baidu.com/view/d6042ed6c1c708a1284a4466.html?from=related

    系统运维