代码之家  ›  专栏  ›  技术社区  ›  Geuis

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

  •  0
  • Geuis  · 技术社区  · 15 年前

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

    我从源代码构建了SVN 1.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.so,我无法让它变成脂肪,也无法恢复原来的脂肪。

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

    但是,即使Apache正在运行,我在尝试访问我的dev站点时也会遇到此错误:

    Directory index forbidden by Options directive: /usr/share/tomcat6/webapps/ROOT/
    

    我让阿帕奇2坐在Tomcat6前面。我使用内部名称访问本地开发人员站点” http://localthesite “。我已经建立了虚拟目录,直到SVN崩溃。

    Tomcat安装在/usr/local/apache tomcat,webapps安装在/usr/local/apache tomcat/webapps。

    我们的生产服务器将Tomcat部署到/usr/share/tomcat6,所以我的系统上也设置了symlinks来复制它。这些指向实际的安装路径。一切都很顺利。

    我们对Apache2、Tomcat或.htaccess的配置都没有更改。周末,我在系统上执行了“修复磁盘权限”。这是在我发现mod-dav-svn.so问题之前。

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

    在这一点上,我假设我或者完全借用了这个Mac上的本机Apache2安装,或者在我丢失的某个地方存在权限错误。权限错误可能来自SVN安装,也可能来自我的修复过程。

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

    2 回复  |  直到 14 年前
        1
  •  0
  •   Morgan    15 年前

    这可能与您所拥有的“选项指令”问题有关,也可能与之无关,但第一个错误中的关键位是

    Did find:\n\t/usr/libexec/apache2/mod_dav_svn.so: mach-o, but wrong architecture

    我在Apache和SVN之间有一个类似的问题,但是有一个不同的库。我的记忆在这方面有点模糊,但我想苹果公司不久前就换了一些64位二进制文件。Mac OS X上的大多数库将是i386或x86_体系结构。您可以使用“file”命令查找体系结构,例如:

    file /usr/libexec/apache2/mod_dav_svn.so

    可能会输出

    mod_dav_svn.so: Mach-O 64-bit dynamically linked shared library x86_64

    如果比较SVN和HTTPD可执行文件的体系结构以及mod_Dav_SVN插件,可能会发现冲突。

        2
  •  0
  •   0scar    15 年前

    尝试

    grep -n Options /etc/httpd/*
    

    获取所有有选项指令的行。如果你有任何一行 -Indexes 可能就是这样。您可能还需要检查文件。中 /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等),并将依赖项解析为一个沙盒,这样你的默认MacOSX就不会受到影响。您可以停用和激活软件,从而轻松尝试不同版本等。链接: www.macports.org )