2007年9月9日星期日

Apache 2.2 + SubVersion 1.44 的配置方法 For WindowsXP

Apache 2.2 + SubVersion 1.44 的配置方法 For WindowsXP

研究了一天,终于搞定了Apache2.2版(目前最新)安装Subversion1.44版(目前最新)的方法。

拿出来与大家共享,希望能有所帮助。

请勿盗贴,谢谢

安装Apache2.2略过不谈,SVN安装也没什么特别,一路Next。

再安装TortoiseSVN,并用它在准备存放工程的目录中创建一个仓库,例如:D:/SVN/firstsvnprj。

仓库类型可以任意选择,FSFS或BDB,仁者见仁了。刚开始可以选择BDB。

创建后会出现很多目录、文件,不用管它,准备工作就已经OK了。



安装后配置如下:

* 首先到http://www.apachelounge.com/forum/viewtopic.php?t=121&postdays=0&postorder=asc&start=16

找到与Apache2.2匹配的Apr, 牛人tdonovan提供了一个,自己去下载就可以了。

当然也可以到官方网站找到提供的对应版本。

这是最重要的一步,Apache2.2无法调用SVN1.44版本的Apr

*
从下载的apr将libdb43.dll拷贝到Apache的模块目录/modules/

官网说明附加将mod_dav_svn.so和mod_authz_svn.so也拷贝到模块目录,

但是实际运用不如在配置时设置绝对路径

* 配置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

这里要注意最后追加的2个module,我配置的时候使用的是绝对路径,不然很容易出错。

例如:LoadModule authz_svn_module d:/svn/mod_authz_svn.so

* 权限设置

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



DAV svn

SVNListParentPath on

SVNParentPath D:\SVN

AuthType Basic

AuthName "Subversion repositories"

AuthUserFile passwd

AuthzSVNAccessFile svnaccessfile

Require valid-user



以上配置具体解释参照文章最后提供的官方网站的配置说明

其中passwd文件可以由Apache创建

htpasswd -c passwd <用户名> //创建密码文件,并新建第一个用户

htpasswd passwd <用户名> //追加一个用户

再自己创建一个svnaccessfile文件,当然也可以是其他名字,只要和配置文件的名字统一就可以。

文件内容:

[groups]
groupA = user1,user2
groupB = user3

#全局目录的权限
[/]
* = r
#组权限设置,用户好像可以不加@
@groupA = rw
@groupB = r //用于演示,由于对*作了设置,此行实际无用

#其他具体子目录的权限设置
[/DSS]
@groupB = rw

做好了这两个文件,一起拷贝到Apache的根目录下,重启Apache。

访问http://你的ip/SVN/你的工程目录/,是不是一切OK了呢?

官方配置说明:http://www.subversion.org.cn/tsvndoc/tsvn-serversetup.html#tsvn-serversetup-apache-4

没有评论: