研究了一天,终于搞定了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
没有评论:
发表评论