SVN8.COM - SVN中文技术网

投递文章 投稿指南 SVN中文技术网公告:技术交流诚聘优秀版主最新公告
搜索: 您的位置主页>SVN使用>Subversion For Apache配置的详细介绍

Subversion For Apache配置的详细介绍

SVN技术网 www.svn8.com 2008-10-02 23:37:39   来源:   作者:  评论:0 点击:
如何在apache下配置subversion的经验总结。

1. 使用Dependency Walker,将mod_dav_svn.so所关联的所有动态库全部找出来,收集到一个目录下,包括
mod_dav.so   libhttpd.dll   libapr.dll   libaprutil.dll   libapriconv.dll   (从 apachebin 目录拷贝)
libdb43.dll   intl3_svn.dll   ssleay32.dll   libeay32.dll (从 svn-win32-1.3.2bin 目录拷贝)
共9个动态库,放在 modulessvn 目录下,然后修改 apache2confhttpd.conf文件    LoadModuledav_svn_module   modules/svn/mod_dav_svn.so ,终于成功启动apache 的 services

2. 给 httpd.conf 添加如下指令,重启 apache 失败
<Location /svn>
     DAV svn
     SVNParentPath d:svn_repository
     AuthType Basic
     AuthName "my Subversion Server"
     AuthUserFile d:svn_repositorypasswd.conf
     AuthzSVNAccessFile d:svn_repositoryauthz.conf
     Require valid-user
</Location>

3. 将 LoadModule authz_svn_module    modules/svn/mod_authz_svn.so 加入配置,并将mod_authz_svn.so 拷贝入 modulessvn 目录, 再次启动 services 成功

4. 将
LoadModule dav_svn_module      modules/svn/mod_dav_svn.so
LoadModule authz_svn_module    modules/svn/mod_authz_svn.so
改成
LoadModule dav_svn_module "D:Program Filessvn-win32-1.3.2binmod_dav_svn.so"
LoadModule authz_svn_module "D:Program Filessvn-win32-1.3.2binmod_authz_svn.so"
重启 apache services 成功。至此,一切顺利,而昨晚出现的问题并没有重现。不死心,继续试验。

5. 设置
LoadModule dav_svn_module      modules/svn/mod_dav_svn.so
LoadModule authz_svn_module    modules/svn/mod_authz_svn.so
但是,将libapr.dll   libaprutil.dll   libapriconv.dll 三个动态库从 svn-win32-1.3.2bin 目录拷贝过来覆盖,结果还是成功启动apache

认真查看昨晚留下的痕迹,发现原目录没有 intl3_svn.dll 文件。于是准备继续试验

6. 删除 modulessvn 目录下的 intl3_svn.dll,打开dos窗口用 path=%path%;"D:ProgramFilessvn-win32-1.3.2bin" 命令将 D:Program Filessvn-win32-1.3.2bin目录加入本dos窗体的临时 path 内,然后打开dos窗口执行 apache,失败

7. 打开“我的电脑”属性,选“高级”下面的“环境变量”,将系统变量中path内,加入上述内容。然后打开dos窗口执行 apache,哈,成功了。接着启动 apache services ,果然,失败!!


【总结】
1. 在以应用程序模式启动apache的时候,其搜索动态库的路径,与以services方式启动时候的搜索路径不一样。以应用程序模式启动时,其搜索路径为
动态库本地目录-->apachebin目录-->系统path
而以windows services模式启动时,其搜索路径只有前两项,没有第三项。

所以当你将 subversionbin 目录设置入系统的环境变量,而没有将相关几个动态库放在apache关联目录下的时候,就会出现apache services启动失败而apache applichation启动成功的情况。

【注:本结论仅适用于将 svn-win32-1.3.2.zip 预编译包解压后就直接使用的情况。对于使用 svn-1.3.2-setup.exe 安装包正规安装的用户,本结论也许不适合。】

2. 当apache抱怨说无法启动,或者无法加载某个动态库的时候,一般先检查该动态库的关联情况。


技术交流 录入:SVN中文技术网[www.svn8.com]
Tags:  
责任编辑:
  • 请文明参与讨论,禁止漫骂攻击。 用户名:新注册) 密码: 匿名:
    评论总数:0 [ 查看全部 ] 网友评论
    关于我们 - 联系我们 - 广告服务 - RSS订阅 - 网站地图 - 返回顶部