我有一个站点在我的 OS X 平台的 XAMPP 服务器上运行,我想让它可以从我们网络上的其他机器访问。当我搜索这个时,我发现了很多关于旧版本 XAMPP 的信息(以及一些与 Windows 版本相关的东西。)
我查看了这个问题,但 XAMPP 看起来已经发生了很大变化,因为界面看起来很不一样。我对所有选项都有些困惑。我正在为 OS X 使用 7.3.5 版。
此外,我不确定为什么需要这样做,但我必须启用端口转发localhost:8080->80(Over SSH)
才能使该站点可以在我自己的计算机上访问。从字面上看,我只是在尝试发现这一点。这需要我localhost:8080
在我的 URL 中使用。它有效,但这与我正在遵循的教程不一致,而且我不知道如何在没有它的情况下使其工作。
我是 XAMPP 的新手,对 Apache 没有太多经验,因此不胜感激。
顺便说一句,这个问题让我在 Meta Stack Exchange 上问了一个问题,关于如何处理可能在 Stack Overflow 上引起更多关注的问题,当更适合另一个板时。
请对下面的所有内容持保留态度。=)
根据这篇关于 XAMPP-VM for Mac 的 Apache Friends 博客文章,看起来 XAMMP for Mac 正在一个独立的虚拟机 (VM) 中运行。这个“虚拟机”是一个软件环境,它使 XAMMP(即它的进程,例如 Apache)与主机操作系统(例如您的 Mac)分开。
需要 XAMMP 接口中的端口转发的原因似乎是因为下面的任何端口都
1024
被视为 *NIX 样式系统(例如 Mac 和 Linux)上的特权端口。在这种情况下,“特权端口”意味着需要运行一个进程(例如httpd.exe
Apache)root
以绑定到它(使用它进行通信)。因此,Apache Friends 的开发人员没有让最终用户摆弄他们的系统以
80
通过 XAMPP 在端口上运行 Apache,而是在非特权端口 (8080
) 上提供了一个到 Web 服务器的接口。请注意,还有一个次要问题是 MacOS 已经预装了
80
默认在端口上运行的 Apache 版本。这两个版本的 Apache 不能使用同一个端口。由于您有 Apache 工作,一般步骤可能是:
确保任何主机防火墙(即在您的 Mac 上)没有阻止 port
80
和/或 port8080
。这在技术上也适用于任何外部防火墙。可能有必要(视情况而定)半永久地禁用 Apache 的默认安装(这个Ask Different question 可能会提供有关如何解决此问题的提示)。
设置端口
80
到端口的转发8080
。您可能希望在 Mac 本身上执行此操作,以便您可以:8080
从您的 URL 中删除(也许看看这个Ask Different question)。另一个选项可能是将传入端口转发80
到路由器中的网络(8080
取决于Your_Mac_IP
您的网络设置方式)。