SVN服务器Windows环境搭建手册

SVN服务器Windows环境搭建手册
SVN服务器Windows环境搭建手册

SVN服务器Windows环境搭建手册

Subversion(SVN)是什么?

Subversion是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目录可以超越时空。也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。

Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行,开发速度会更快。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。

某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统。它是一个通用系统,可以管理任何类型的文件集。对你来说,这些文件这可能是源程序—而对别人,则可能是一个货物清单或者是数字电影。

OK开始我们在Windows上配置我们的SVN服务器。

一、首先我配置的环境是Windows 2008 SP1 zh 按照好系统后,更新好补丁,因为此版本的服务器上市不久,补丁也不是很多可以很快就打好了。

二、开始安装Apache服务器。

警告:请注意,没安装Service Pack 1的Windows XP将导致错误的网络数据从而破坏你的版本库!

从https://www.360docs.net/doc/ff4404471.html,/download.cgi 下载最新版本的Apache Web服务器。确保你下载的版本大于2.0.54。2.0.54版本的Apache将不能与Subversion 1.3.xx配合工作。而且,小于2.0.54的Apache 也因为在windows上的编译存在一个bug而导致不能与subversion1.2配合使用。

一旦你已经有了Apache2的安装程序,你可以双击它,它将引导你完成整个安装过程。

请确保你输入正确的服务器URL(如果你的服务器没有DNS名称,你可以直接输入IP地址)。我建议你将Apache安装成for all Users,on Port 80,as a service。注意:如果你已经有一个IIS或者其它的程序使用80端口,安装可能会失败。如果是这样,你可以到程序目录下的Apache Group\Apache2\conf目录中找到文件httpd.conf,将其中的Listen 80改成一个不用的端口,比如Listen 81。然后重新运行这个安装程序,这次应该不会再有问题了。

现在你可以在你的浏览器中键入http://loccalhost/,如果呈现了一个已经配置好的网站,那么你的Apache就安装成功了。

三、安装Subversion

从https://www.360docs.net/doc/ff4404471.html,/servlets/ProjectDocumentList?folderID=91 (英文)

https://www.360docs.net/doc/ff4404471.html,/bbs/forumdisplay.php?fid=7(中文)下载最新版本的Subversion。

运行Subversion安装程序,如果安装程序能够识别你已经安装了Apache,那么你的安装基本上就OK了。如果它不能,那么你要做一些额外的步骤。

这个时候Apache和Subversion

注:如果你先安装Apache,再安装Subversion,正常情况下下面的工作(2.3配置前)Subversion安装程序已经帮你完成了

使用资源管理器,进入Sibversion的安装目录(通常为c:\program files\Subversion),找到文件mod_dav_svn.so和mod_authz_svn.so,将它们拷贝到Apache的modules目录(通常为c:\program files\apache group\apache2\modules)。

使用如记事本之类的文本编辑器编辑Apache的配置文件(通常为c:\program files\apache group\apache2\conf\httd.conf),修改以下内容:

去掉以下行的注释(将开头的#删除):

CODE:

#LoadModule dav_fs_module modules/mod_dav_fs.so

#LoadModule dav_module modules/mod_dav.so

在LoadModule节的最后添加以下两行:

CODE:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

保存修改。

四、配置

现在,你已经安装了Apache和Subversion,但是Apache还不知道如果处理像TortoiseSVN一样的Subversion客户端。要让Apache知道哪个URL将

被Subversion使用,你要像下面这样编辑Apache的配置文件(通常在c:\program files\apache group\apache2\conf\httpd.conf):

在配置文件的最后添加下面这些行:

CODE:

DA V svn

SVNParentPath D:\SVNDB

AuthType Basic

AuthName "Subversion"

AuthUserFile "D:/Apache_SVN_Privilege/passwd "

AuthzSVNAccessFile "D:/Apache_SVN_Privilege/authz "

Require valid-user

这样配置表示:你所有的版本库将位于D:\SVDBN目录下,要访问你的版本库可以使用这样的URL:http://MyServer/svn/<工程名称>

D:/Apache_SVN_Privilege/passwd表示秘密存放的位置。

D:/Apache_SVN_Privilege/authz表示权限的分配位置。

以上目录均需要在指定的目录创建相应的文件夹。

访问权限将由passwd文

件中的用户名/密码来限制。

要创建passwd文件,可以打开命令行(DOS窗口),将当前目录切换到apache2目录(通常为C:\Program Files\Apache Software Foundation\Apache2.2\bin\),然后运行

创建用户/修改用户密码

htpasswd D:\Apache_SVN_Privilege/passwd

删除用户

htpasswd -D D:\Apache_SVN_Privilege/passwd

修改D:/Apache_SVN_Privilege/authz文件。

[groups]

admin = john, kate

devteam1 = john, rachel, sally

devteam2 = kate, peter, mark

docs = bob, jane, mike

training = zak

# 为所有库指定默认访问规则

# 所有人可以读,管理员可以写,危险分子没有任何权限[/]

* = r

@admin = rw

dangerman =

# 允许开发人员可以完全访问他们的项目版本库

[proj1:/]

@devteam1 = rw

[proj2:/]

@devteam2 = rw

[bigproj:/]

@devteam1 = rw

@devteam2 = rw

trevor = rw

# 文档编写人员对所有的docs目录有写权限

[/trunk/doc]

@docs = rw

# 培训人员可以完全访问培训版本库[TrainingRepos:/]

@training = rw

创建工程

Cmd 定位到C:\Program Files\Subversion\bin\ 运行svnadmin create D:\SVNDB\

测试

测试我们之前建立好的test工程。

用IE访问http://192.168.50.78/svn/test/

会提示我们输入用户名和密码。完成后返回此页面为搭建成功。

相关主题
相关文档
最新文档