使在 OS X 中运行的 XAMPP 7 中的站点可通过本地网络(LAN)访问

使在 OS X 中运行的 XAMPP 7 中的站点可通过本地网络(LAN)访问

我在 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 上获得更多关注的问题,而这些问题更适合放在其他论坛上

答案1

请谨慎对待以下所有内容。=)

我不确定为什么我需要这样做,但我必须启用端口转发localhost:8080 -> 80 (Over SSH)才能在我自己的机器上访问该网站。

根据这个Apache Friends 博客文章:XAMPP-VM for Mac,看起来 XAMMP for Mac 正在一个独立的虚拟机 (VM) 中运行。此“虚拟机”是一个软件环境,它将 XAMMP(即其进程,如 Apache)与主机操作系统(例如您的 Mac)分开。

XAMMP 接口需要端口转发的原因似乎是因为下面的任何端口1024在 *NIX 样式系统(如 Mac 和 Linux)上都被视为特权端口。在这种情况下,“特权端口”意味着httpd.exe需要运行一个进程(如 aka Apache)以root绑定到它(使用它进行通信)。

80因此,Apache Friends 的开发人员在非特权端口 () 上提供了 Web 服务器接口,这样最终用户就不必费心摆弄系统来通过 XAMPP 在端口上运行 Apache 8080


请注意,还有一个次要问题,即 MacOS 已预装了80默认在端口上运行的 Apache 版本。这两个版本的 Apache 不能使用相同的端口。


我想让我们网络上的其他机器可以访问 [Apache]。

由于 Apache 正在运行,因此一般步骤可能是:

  1. 确保任何主机防火墙(即 Mac 上的防火墙)没有阻止端口80和/或端口8080。从技术上讲,这也适用于任何外部防火墙。

  2. 可能需要(根据情况)半永久地禁用 Apache 的默认安装(这询问不同问题可能会提供关于如何解决这个问题的提示)。

  3. 设置从端口80到端口的转发8080。您可能希望在 Mac 上执行此操作,以便可以:8080从 URL 中删除(也许可以看看这个询问不同问题)。另一个选项可能是将传入端口转发80到路由器8080Your_Mac_IP的网络(取决于您的网络设置方式)。

相关内容