系统:Ubuntu 13.10
昨天我将 svn 升级到 1.8.5 [wandisco] 后,无法启动 Apache2。我收到的错误
$sudo service apache2 start
* Starting web server apache2 *
* The apache2 configtest failed.
Output of config test was:
apache2: Syntax error on line 142 of /etc/apache2/apache2.conf: Syntax error on line 2 of /etc/apache2/mods-enabled/authz_svn.load: Cannot load /usr/lib/apache2/modules/mod_authz_svn.so into server: libsvn_repos-1.so.1: cannot open shared object file: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.
[apache 日志中没有其他信息]
我尝试过这个:http://ubuntuforums.org/archive/index.php/t-1777292.html
$locate mod_dav_svn.so
/usr/lib/apache2/modules/mod_dav_svn.so
因此我将 /etc/apache2/mods-enabled/authz_svn.load 更改为:
# Depends: dav_svn
# LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
但我仍然收到相同的错误,只是模块路径发生了改变。
$sudo service apache2 start
* Starting web server apache2 *
* The apache2 configtest failed.
Output of config test was:
apache2: Syntax error on line 142 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/authz_svn.load: Cannot load /usr/lib/apache2/modules/mod_dav_svn.so into server: libsvn_repos-1.so.1: cannot open shared object file: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.
最奇怪的是,这两个文件都存在并且可以读取
$ls -la /usr/lib/apache2/modules/mod_authz_svn.so
-rw-r--r-- 1 root root 18872 paź 15 16:03 /usr/lib/apache2/modules/mod_authz_svn.so
$ls -la /usr/lib/apache2/modules/mod_dav_svn.so
-rw-r--r-- 1 root root 173224 paź 15 16:03 /usr/lib/apache2/modules/mod_dav_svn.so
有关我的 svn 的信息:
$svn --version
svn, version 1.8.5 (r1542147)
compiled Nov 19 2013, 15:29:58 on x86_64-unknown-linux-gnu
Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
Są dostępne następujące moduły dostępu do repozytorium (RA):
* ra_svn : Moduł umożliwiający dostęp do repozytorium przy pomocy protokołu svn.
- z uwierzytelnianiem Cyrus SASL
- obsługuje protokół 'svn'
* ra_local : Moduł umożliwiający dostęp do repozytorium na lokalnym dysku.
- obsługuje protokół 'file'
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- using serf 1.3.2
- obsługuje protokół 'http'
- obsługuje protokół 'https'
我没有主意了。我将非常感谢您的帮助。
更新
我将 svn 降级到 1.7.9 - 现在它可以工作了。
答案1
我在将 WANdisco 的代码分发安装到 Debian 6(Squeeze)时遇到了同样的问题。解决方案非常简单:服务器和 Apache 支持位于不同的软件包中。以下是 WANdisco 在其网站上写的内容:
Note: This software will install the Subversion client.
Optionally it can install the Apache HTTPD server (apache2) and Subversion modules.
只需执行apt-get update
,升级libapache2-svn
,即可完成设置。
答案2
如果你仔细看看错误消息,你会发现它实际上抱怨无法加载libsvn_repos-1.so.1
。根据Ubuntu 的软件包搜索,是该软件包的一部分库。
确保库已安装,然后重试。