![将默认 Apache “链接”到 MacPorts Apache](https://linux22.com/image/521008/%E5%B0%86%E9%BB%98%E8%AE%A4%20Apache%20%E2%80%9C%E9%93%BE%E6%8E%A5%E2%80%9D%E5%88%B0%20MacPorts%20Apache.png)
我使用的是 Mac OS X 10.6.4(非服务器版本),默认情况下安装了 Apache 2 和 PHP 5.3。但是,因为我需要 ImageMagick 和所有这些扩展,所以我想以某种方式将默认的 Apache 服务器“链接”到 MacPorts 安装提供的服务器。
这意味着,每当我启用“Web 共享”(名字很贴切)时,启动的不是 Apache 服务器,/usr
而是安装。我能以某种方式实现这一点吗?/opt/local
如果没有,我可以将随 MacPorts 安装的扩展/opt/local
与 中的默认 Apache 服务器一起使用吗/usr
?
非常感谢您的帮助。
答案1
macports apache 附带了一个 LaunchDaemon 文件供 launchd 使用,因此“正确”的做法是不要使用 web 共享选项,而是运行
sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
这将确保它在系统启动时启动,并实现所有功能。设置完成后,不要触碰共享面板中的那个。
不过,要回答您的问题:Httpd 已编译了 home 位置的概念,因此只需将库存 httpd 移开并建立到 macports httpd 的符号链接,似乎就可以欺骗共享面板启动 macports apache 而不是库存版本。
sudo mv /usr/bin/httpd /usr/bin/httpd-stock
sudo ln -s /opt/local/apache2/bin/httpd /usr/bin/httpd
再说一遍,这实际上并不是正确的做法,但看起来它有效,至少在我的 Leopard 盒子上有效。没有在 Snow Leopard 上尝试过。希望它们的工作原理类似,我没有把你引向错误的方向。