Windows基于Apache的svn服务器配置

参照 http://bbs.iusesvn.com/thread-158-1-1.html文章,经过svn的洗刷,终于把它配置成功,现在把我所配置的方法,记录下来,以供其他有需要的朋友参考,需要改进的地方,请指教!

一 环境

  操作系统:windows2003 server

  Apache版本:2.0.55

subversion版本: Setup-Subversion-1.5.3.msi

 TortoiseSVN版本: TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi

二 安装步骤

1.安装Apache

如果您已经拥有Apache的安装程序,那么你就可以双击安装程序开始安装。请确保你输入正确的服务器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。然后重新运行这个安装程序,这次应该不会再有问题了。

测试Apache是否安装成功?

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

2.安装Subversion并配置

a,双击Subversion的安装程序来完成安装,安装完毕之后。我们进入subversion文件目录中(默认安装位置是:c:\Program Files\Subversion), 在该目录中的bin文件夹中找到httpd/mod_dav_svn.so、mod_authz_svn.so和libdb44.dll,将它们拷贝到Apache的modules目录(通常为c:\Program Files\Apache Group\Apache2\modules)下。

b,打开Apache的配置文件httd.conf(通常为c:\Program Files\Apache Group\Apache2\conf\httd.conf),修改以下内容:

#LoadModule dav_fs_module modules/mod_dav_fs.so

#LoadModule dav_module modules/mod_dav.so

修改为:

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

*注意: 这两行的代码顺序不能错,以免带来不必要的麻烦。

C, 然后在该文件最末进行相应的配置,以便客户端 TortoiseSVN和浏览器知道如何访问:

<Location /svn> #意味着可以通过像这样的URL(http://MyServer/svn)来访问Subversion版本库

DAV svn # 告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块

SVNParentPath C:\svn #告诉Subversion在目录C:\svn下寻找版本库

AuthType Basic #启用基本的验证,使用用户名/密码验证

AuthName "test" # test为版本库

AuthUserFile c:\svn\passwd #passwd问密码和用户文件,用来验证用户的用户名及密码

AuthzSVNAccessFile C:\svn\svnaccessfile #权限控制文件,限定各个用户或组在版本库中目录的访问权限

Require valid-user #限定用户只有输入正确的用户名及密码后才能访问这个路径

</Location>

d,下面,我们就来创建passwd文件,你打开命令行(DOS窗口),将当前目录切换到apache2目录(通常为c:\Program Files\Apache Group\Apache2),然后打入以下命令以创建文件:

bin\htpasswd -c passwd <username>

比如: bin\htpasswd -c c:\svn\passwd admin

命令分析:

c:\svn\passwd 表示会在:c:\svn目录下创建一个passwd文件

admin 表示用户名

此命令执行Apahce的bin目录下的htpasswd.exe来创建一个密码文件,创建完成之后,重启Apache服务。

e,权限控制文件创建

在c:\svn目录下创件svnaccessfile文件,然后打开进行配置,可以参照下面的示例:

#组配置 组 = 用户名

[groups]

@admin = admin

@user = test #test用户还需要按照上面d步骤来创建它和它的密码

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

# 所有人可以读

[/]

* = r

# 为test版本库制定权限

#admin组拥有读写权限

#user组只有读取权限

[test:/svn/test]

@admin = rw

@user = r

代码:

3.TortoiseSVN

双击安装程序,默认安装即可!完成之后,你就可以用URL(http://IP/svn/test)来访问版本库了!

好了,现在你就应该可以去体会一下你的劳动成果咯!

* 为什么要先装Apahce后安装SVN呢?

先安装Apahce后安装的原因是,如果Apache安装成功,那么在安装 SVN的时候,会自动配置相关的属性!不过也没什么关系,我们还是可以自己来配置的!