Mac OS-从源代码构建SVN,现在Apache2不加载站点

Mac OS-从源代码构建SVN,现在Apache2不加载站点,svn,apache,macos,tomcat,Svn,Apache,Macos,Tomcat,这与我今天早些时候提出的另一个问题有关 我从源代码构建了SVN1.6.2。在这个过程中,它完全破坏了我的开发环境 在我构建SVN之后,Apache没有加载。它给了我这个错误: Syntax error on line 117 of /private/etc/apache2/httpd.conf: Cannot load /usr/libexec /apache2/mod_dav_svn.so into server: dlopen(/usr/libexec/apache2/mod_dav_svn

这与我今天早些时候提出的另一个问题有关

我从源代码构建了SVN1.6.2。在这个过程中,它完全破坏了我的开发环境

在我构建SVN之后,Apache没有加载。它给了我这个错误:

Syntax error on line 117 of /private/etc/apache2/httpd.conf: Cannot load /usr/libexec
/apache2/mod_dav_svn.so into server: dlopen(/usr/libexec/apache2/mod_dav_svn.so, 10): no
suitable image found.  Did find:\n\t/usr/libexec/apache2/mod_dav_svn.so: mach-o, but
wrong architecture
看来SVN重写了旧的mod_dav_SVN,所以我无法让它像脂肪一样生长,我也无法恢复原来的东西

我暂时解决了这个问题?通过注释掉加载mod_dav_svn.so的行,让Apache从这一点开始

但是,即使Apache正在运行,我现在在尝试访问我的开发站点时也会遇到以下错误:

Directory index forbidden by Options directive: /usr/share/tomcat6/webapps/ROOT/
我的阿帕奇坐在Tomcat6前面。我使用内部名称访问本地开发人员站点。我已经建立了虚拟目录,直到SVN崩溃

Tomcat安装在/usr/local/apache-Tomcat,webapps安装在/usr/local/apache-Tomcat/webapps

我们的生产服务器将tomcat部署到/usr/share/tomcat6,因此我在系统上设置了符号链接来复制它。这些指向实际安装路径。这一切都运作良好

Apache2、Tomcat或.htaccess的配置均未更改。周末,我在系统上执行了修复磁盘权限的操作。这是在我发现mod_dav_svn.so问题之前

我整个上午都在读这篇文章,最常见的答案是有一个选项-索引集。我们在一个配置文件中有它,但它之前就存在,当我在测试中删除它时,我仍然从Apache中得到相同的错误

在这一点上,我假设我要么完全破坏了这个Mac上的本机Apache2安装,要么就是我遗漏了某个地方的权限错误。权限错误可能来自SVN安装或我的修复过程

有人知道问题出在哪里吗?我现在完全被封锁了,不知道下一步去哪里检查。

试试看

grep -n Options /etc/httpd/*
获取包含选项指令的所有行。如果有任何一行中有-索引,那么可能就是它。您可能还需要检查文件。在/private/etc/httpd/users/*中,我认为

另一件事是权限。这听起来更有可能。我相信Apache需要文件夹上的+x来显示其内容的索引。试一试

ls -l /usr/share/tomcat6/webapps/
寻找

drwxr-xr-x  1 user  user  100 Jun 15 13:37 ROOT/
         ^
您可能需要将其设置为

chmod a+x /usr/share/tomcat6/webapps/ROOT
我不确定这一点,因为我自己也没有同样的问题。希望它能起作用! 干杯


旁注:这可能不是你想要的,但我可以强烈推荐MacPorts——它是一种工具,允许你自动安装apache、svn、mysql等软件,并将依赖项解析到沙盒中,这样你的默认Mac OS X就不会受到影响。您可以停用和激活软件,从而轻松尝试不同版本等。链接:

这可能与您遇到的选项指令问题有关,也可能与此无关,但第一个错误中的关键位是

确实找到:\n\t/usr/libexec/apache2/mod_dav_svn.so:mach-o,但是 错误的架构

我在Apache和SVN之间遇到了类似的问题,但是使用了不同的库。对此我的记忆有点模糊,但我想不久前苹果公司为了一些东西改用了64位二进制文件。Mac OS X上的大多数库将采用i386或x86_64体系结构。您可以使用“file”命令查找架构,例如:

文件/usr/libexec/apache2/mod_dav_svn.so

哪个可能输出

mod_dav_svn.so:Mach-O 64位动态链接共享库x86_64


如果比较svn和httpd可执行文件的体系结构以及mod_dav_svn插件,您可能会发现冲突。

Macports听起来不错。你知道Linux Ubuntu是否也有类似的功能吗?绝对知道!Ubuntu是基于Debian的,Debian有一个很好的工具来做同样的事情,开箱即用!它被称为APT,你可以用它来阅读更多的内容。