当前位置: > Linux服务器 > SVN >

apache无法加载mod_authz_svn.so与mod_dav_svn.so的解决方法

时间:2014-09-15 03:14来源:linux.it.net.cn 作者:it

安装svn的步骤如下: 
1:安装Berkeley DB(版本:db-4.2.52.NC.tar.gz)到 /usr/local/subversion 下面

2:安装Apache (版本:httpd-2.0.55.tar.gz)到/usr/local/subversion下。 
命令: 
 

复制代码代码示例:
./configure --prefix=/usr/local/subversion 
--enable-dav --enable-so 
--with-dbm=db4 --with-berkeley-db=/usr/local/subversion

3:安装SVN(版本:subversion-1.2.3.tar.gz)到/usr/local/subversion下: 
 

复制代码代码示例:
./configure --prefix=/usr/local/subversion --with-berkeley-db=/usr/local/subversion --with-apxs=/usr/local/subversion/bin/apxs

4:在httpd.conf中有如下片断: 
 

复制代码代码示例:
# Dynamic Shared Object (DSO) Support 

# To be able to use the functionality of a module which was built as a DSO you 
# have to place corresponding `LoadModule' lines at this location so the 
# directives contained in it are actually available _before_ they are used. 
# Statically compiled modules (those listed by `httpd -l') do not need 
# to be loaded here. 

# Example: 
# LoadModule foo_module modules/mod_foo.so 
LoadModule dav_svn_module     modules/mod_dav_svn.so 
LoadModule authz_svn_module   modules/mod_authz_svn.so 
 

启动Apache,老是显示:Cannot load /usr/local/apache/modules/mod_dav_svn.so into server

解决方法:
svn安装在 /usr/local/subversion,检查/usr/local/subversion/modules,里面已包含mod_authz_svn.so 与 mod_dav_svn.so。
要将他们复制或链接到apache的modules目录中才可以。

例如:
 

复制代码代码示例:
#ln -s /usr/local/subversion/modules mod_authz_svn.so /etc/httpd/modules/mod_authz_svn.so
#ln -s /usr/local/subversion/modules mod_dav_svn.so /etc/httpd/modules/mod_dav_svn.so

然后,再返回上面的操作,加载模块,重启apache即可。

另外,补充下,如果是yum方式安装的 mod_dav_svn.so与mod_authz_svn.so模块,则它们已自动添加到/etc/httpd/conf.d中的subversion目录中了。
无需在apache配置文件中二次配置

 
(责任编辑:IT)
------分隔线----------------------------