WinServer2003环境下如何配置TortiseSVN(版本控制)服务器端
首先请大家了解TortiseSVN(SVN)只不过是一个供多人开发版本控制的工具,并不是把文件上传到服务器,让大家下载而已,所以以为这样可以直接对网站应用进行更新操作的同志,请大家另外想办法(除非服务器那边再装一个TortiseSVN客户端,从版本控制那里获得文件)。
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.so
和mod_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目录下获得文件即可