SVN服务器Windows环境搭建手册
Subversion(SVN)是什么?
Subversion是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目录可以超越时空。也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行,开发速度会更快。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。
某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统。它是一个通用系统,可以管理任何类型的文件集。对你来说,这些文件这可能是源程序—而对别人,则可能是一个货物清单或者是数字电影。
OK开始我们在Windows上配置我们的SVN服务器。
一、首先我配置的环境是 Windows 2008 SP1 zh  按照好系统后,更新好补丁,因为此版本的服务器上市不久,补丁也不是很多可以很快就打好了。
二、开始安装Apache服务器。
警告:请注意,没安装Service Pack 1的Windows XP将导致错误的网络数据从而破坏你的版本库!
从/i 下载最新版本的Apache Web服务器。确保你下载的版本大于2.0.54。2.0.54版本的Apache将不能与Subversion 配合工作。而且,小于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目录中到文件f,将其中的Listen 80改成一个不用的端口,比如Listen 81。然后重新运行这个安装程序,这次应该不会再有问题了。
php项目搭建
现在你可以在你的浏览器中键入 loccalhost/,如果呈现了一个已经配置好的网站,那么你的Apache就安装成功了。
三、安装Subversion
从/servlets/ProjectDocumentList?folderID=91 (英文)
www.iusesvn/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\f),修改以下内容:
去掉以下行的注释(将开头的#删除):
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\f):
在配置文件的最后添加下面这些行:
CODE:
<Location /svn>
DAV svn
SVNParentPath D:\SVNDB 
AuthType Basic
AuthName "Subversion"
AuthUserFile "D:/Apache_SVN_Privilege/passwd " 
AuthzSVNAccessFile  "D:/Apache_SVN_Privilege/authz "
Require valid-user
</Location>
这样配置表示:你所有的版本库将位于D:\SVDBN目录下,要访问你的版本库可以使用这样的URL: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 <username>
删除用户
htpasswd -D D:\Apache_SVN_Privilege/passwd <username>
修改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\<projectname>
测试
测试我们之前建立好的test工程。
用IE访问  192.168.50.78/svn/test/
会提示我们输入用户名和密码。完成后返回此页面为搭建成功。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。