首页 文章

如何为Apache 2.4(OSX)安装模块?

提问于
浏览
0

我用Homebrew安装了apache . 当我启动默认安装时,我收到此错误:

httpd:/usr/local/etc/httpd/httpd.conf第85行的语法错误:无法将lib / httpd / modules / mod_auth_basic.so加载到server:dlopen(/ usr / local / var / www / lib / httpd) /modules/mod_auth_basic.so,10):找不到图像

我经历了对未完成的模块的评论,但似乎它缺少所有这些,特别是像mod_auth_basic这样有用的模块 . 看一下使用自制软件安装apache的教程,我注意到它在我的计算机上安装的路径与教程中的路径大不相同 .

如何安装这些模块(最好是一次性使用一体机,而不是一次一个)?

编辑:

在查看错误消息一秒后,我意识到 dlopen() 正在使用我的ServerRoot作为模块的基础 . 代替

dlopen(/usr/local/var/www/lib/httpd/modules/mod_auth_basic.so)

它应该是

dlopen(/usr/libexec/apache2/mod_auth_basic.so

那么如何将模块加载器指向正确的目录呢?

编辑:

我解决了模块没有加载的问题,但我仍然想知道如何添加模块 .

1 回答

  • 0

    如果你的模块目录是 /usr/libexec/apache2 ,那么你可能需要禁用SIP才能在那里复制模块文件( *.so ) . 以下讨论可能有所帮助:https://apple.stackexchange.com/questions/193368/what-is-the-rootless-feature-in-el-capitan-really

    无论如何,如果您希望通过httpd安装获得更多自由,则可能需要下载并构建源代码 . 它非常简单,您可以将其安装在任何未受保护的目录中(建议的默认值为 /usr/local/apache2 ,这很好),因此您无需经历禁用SIP的麻烦 .

相关问题