Mac OS 10.4 - 如何使用自定义 Apache 2 安装而不是 Apache 1.3?

Mac OS 10.4 - 如何使用自定义 Apache 2 安装而不是 Apache 1.3?

我们办公室里有一台小型 Mac Mini,我们将其用作 Web 服务器。它运行 OS 10.4.11 (Tiger)。它运行自定义安装的 Apache 2 和 PHP 5。我最近安装了 Apple 的安全更新。从那时起,Mac 加载默认安装的 Apache 1.3,而不是 Apache 2。

我该如何配置它以使用 Apache 2 安装而不是 Apache 1.3?我需要重新安装 Apache 2 吗?

答案1

检查 Apache 2 的错误日志,看看它是否抱怨尝试获取端口,时间戳接近重新启动。如果是,则表明 Apache 1.3 以某种方式重新打开。

检查 launchd 配置运行了什么:

launchctl list

... 然后您可以使用 launchctl 关闭一切。要完全禁用 Apache 1.3,请破坏 /etc/httpd 中的配置... Apple 非常擅长不对 httpd.conf 进行重大更改,因此您可以在其中添加一些垃圾,这样 1.3 就不会启动。(或者告诉它在其他端口上启动,如果您想监控这种情况发生的频率)。

更新:我应该提一下——这假设您将 Apache 2 安装(并将其配置目录设置)到 Apple 安装的默认值以外的某个地方...如果没有,那么您需要重新安装。

答案2

在 Tiger 中,launchd 尚未取代 StartupItems,因此您将要处理它。在启动时,系统将运行 /System/Library/StartupItems/Apache/Apache 中的脚本,该脚本检查WEBSERVER=-YES-/etc/hostconfig 中是否存在该行,如果存在则运行apachectl start。您需要做的是让它使用您自己的 apachectl 版本,它可能位于 /Library/Apache2/bin/apachectl 中(但也可能位于其他地方 — 希望您知道)。

首先,确保“系统偏好设置”的“共享”窗格中的“个人网络共享”已关闭。

然后,从这一页

cd /usr/sbin
sudo mv apachectl apachectl-1.3
sudo ln -s /Library/Apache2/bin/apachectl apachectl

可选:为确保共享首选项窗格指向您自己安装的 Apache,请编辑相应的 .conf 文件,并添加/更改此行:

PidFile "/private/var/run/httpd.pid"

希望这些能够帮助你顺利上路。

答案3

您不能直接升级到 Apache 2 附带的 10.5 (或 10.6) 吗?这样,您就不会在每次更新时都遇到这个问题。

相关内容