apache+svn配置有关问题及解决

apache+svn配置问题及解决
最近的在配置apache+svn的版本库时遇到了几个问题,解决过程如下。
配置过程按照网上大多数的教程:
1.安装apache、svn
2.使用svn命令创建版本库 svnadmin create d:/svndata/simple
3.使用apache命令创建账号 htpasswd –c  c:/server/apache2.2/conf/passwd.conf svnadmin
4.编写授权文件svnauthz
[groups]
admin=svnadmin,xj
guest=bizduo
[/]
*=r
@admin=rw
[simple:/]
@guest=r
@admin=rw
5.复制svn/bin下的两个.mo文件到apache/modules下
  mod_dav_svn.so 和 mod_authz_svn.so
6.配置apache的httpd.conf
启用下面模块,去掉前面的#
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
增加svn的模块
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
增加svn的模块配置
<Location /svn/>
   DAV svn
   #SVNPath d:/svnReponsitory
   SVNParentPath d:/svndata
   SVNListParentPath on
   AuthType Basic
   AuthName "Subversion Repository"
   AuthUserFile c:/server/Apache2.2/conf/svnpasswd
   AuthzSVNAccessFile c:/server/Apache2.2/conf/svnauthz
   Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/

搭建的过程遇到几个问题:
1.apache启动无法loadmod_authz_svn.so
2.访问http://localhost/svn/报没有权限
第一个问题原因是AuthUserFile和AuthzSVNAccessFile跟实际的位置不一致,拷贝过来没有改。曾怀疑是.mo文件版本不匹配,乱折腾了一番。
第二个问题是版本库单库双库模式在权限文件和svn模块配置上不一致。
单库授权直接[/],模块中配SVNPath,SVNListParentPath不用配。
多库授权在[/]下面增加[simple:/],模块中配SVNParentPath指向库的上级目录,
最后RedirectMatch ^(/svn)$ $1/,使得http访问时地址栏不带/也能显示版本库列表http://localhost/svn;
[simple:/]中间没冒号会出错。