Windows下安装SVN Server的最主要障碍 'Cannot load mod_dav_svn.so'的解决思路
一般总是由于mod_dav_svn.so的依赖dll和Apache已有的dll冲突、不匹配造成的。
这样就需要利用Dependency Walker来检查mod_dav_svn.so的依赖关系并和Apache已有的dll比较,如果Apache已有的,则不要拷贝;如果没有,则拷贝。这样一般都能解决在Windows下安装Subversion Server的问题。
具体办法:
1)重新安装一个干净的Apache2.2.22.
2) 下载 SVN的Windows版本的编译后的包,比如:svn-win32-1.7.5.zip,解压缩,将 c:\svn-win32-1.7.5\bin\mod_dav_svn.so 和 mod_authz_svn.so拷贝到 C:\Apache2.2.22\modules下。
3)下载Dependency Walker http://www.dependencywalker.com/,解压缩后打开程序
4)分析刚才的 mod_dav_svn.so,可以发现mod_dav_svn.so依赖的dll :
libsvn_subr-1.dll
libsvn_repos-1.dll
libsvn_fs-1.dll
libsvn_delta-1.dll
在目录C:\Apache2.2.22\bin下并不存在,则直接从c:\svn-win32-1.7.5\bin\ 拷贝上述dll 到 C:\Apache2.2.22\bin 。
5)编辑http.conf,添加下行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
重启,一般都会OK!
本文参考了:
http://willperone.net/Code/svnserver.php
http://iusesvn.com/bbs/viewthread.php?tid=31&extra=page%3D1