0

我已经用 xampp 在一个小 ubuntu 上网本上本地开发了大约 7 个月。两周前,我得到了一台我想用作服务器的计算机。我已经安装了最新的 Ubuntu 发行版和 xampp,将所有文件移过来,并转发了端口 80。我还从 dyndns.com 获得了一个域名,该域名正在由运行在我的路由器中的客户端更新(Netgear WGR6154 v8)。

现在,当我尝试通过输入从 dyndns.com 获得的地址来访问我的服务器时,浏览器会加载直到超时。我可以使用 localhost 作为地址在本地访问所有内容,所以我相信 xampp 正在运行,只是无法连接到互联网。

为了能够在 Internet 上查看我的文件,接下来我应该怎么做?

提前感谢大家...

[我开始为第一个帮助我成功在线获取文件的人提供赏金]

4

2 回答 2

9

您在这里遇到了一系列问题,这是一个问题。每个问题本身都很复杂。这是我建议您确定的建议。

首先验证您是否可以从您的服务器上网。这将确认您有一个工作的以太网接口。

第 1 步确保 XAMPP 和您的文件可以从您的家庭网络查看。我假设你正在为你的网络使用类似 192.168.1.X 的东西,也许你的服务器是 192.168.1.10

转到您家中的另一台计算机并键入http://192.168.1.10/并查看是否可以看到您的文件。如果可以,那么您知道服务器已正确配置并且 XAMPP 正在工作。

然后在您的主机文件中添加一个条目,以将 yourdnsrecord.com(或任何您的 dyndns 记录)解析为您的私有 IP 地址。然后,当您在该计算机上的浏览器中键入 yourdnsrecord.com 时,您仍然应该获得您的文件。这将排除您的服务器未正确配置为侦听该域名。

接下来需要测试看看是否存在防火墙问题。为了简化这一点,首先从等式中删除您的家庭路由器。相反,将您的新服务器直接放在您的互联网连接上。(假设你可以)。这样,您无需正确配置 NAT 或防火墙。您的 dyndns 名称应映射到公共 IP,然后您的服务器应具有该 IP 并直接连接到 Internet。如果您的服务器直接连接,并且根提示符下的命令 ifconfig 返回您的动态 dns 记录指向的相同公共 IP 地址,那么它应该可以工作。

如果您有一部 iphone 或其他方式来测试您的网络是如何从 Internet 上看到的,那么这将使您的生活更轻松。

如果 ifconfig 显示的公共 IP 与 dyndns 帐户中的 IP 记录不同,则您的动态 dns 更新脚本已损坏。手动设置IP,看看是否有效。

这很可能行不通。一些 ISP 防火墙端口 80 阻止其订户托管服务器。将服务器直接连接到 Internet 后,您可以使用公共 IP 地址对此进行测试(即使您的 dns 不工作)。以 root 身份在命令提示符下键入 ifconfig 以获取您的公共 IP 地址。然后输入命令 tcpdump -i eth? 根提示符下的端口 80。伦理?需要与您在 ifconfig 命令中看到的具有公共 IP 地址的接口相同。通常这是 eth0 但它可能是 wire0 或类似的东西。

此命令将向您显示从端口 80 到您的服务器的所有流量。

从 iphone(或您拥有的任何第二个 Internet 连接)浏览到您从 ifconfig 命令获得的 IP 地址。如果您在服务器上看到某些东西(并且它直接连接到您的 ISP),那么您的 ISP 没有为您设置防火墙。

如果您可以访问您的服务器,当它通过 IP 地址或 DynDNS 地址直接连接到 Internet 时,那么您的 ISP 是正常的,是时候调试您的防火墙了。

为您的防火墙配置 NAT 需要做两件事,其中您的路由器从您的 ISP 获得的公共地址被转换为您的私有网络,以及一个允许该流量的防火墙规则。如果你走到这一步,那么你就知道你的防火墙是问题所在,然后只需正确配置即可。这里有很多家用路由器要记录,但您通常可以从制造商网站上找到有关路由器执行此任务的操作说明(通常是手册的一部分)

如果您完全按照这些说明进行操作,您的系统将会正常工作。对流程发表评论,我很乐意对其进行修改以使其更清晰。

HTH, -FT

于 2009-09-23T17:34:02.783 回答
1

您应该确保您的 xampp 不只听 localhost。

为此,请编辑您的 apache 配置文件并检查并搜索Listen指令

您还应该能够通过分析netstat -a.

之后确保您的路由器正确转发,使用tcpdump会有所帮助。

如果您需要更多帮助,请给我留言。

干杯

于 2009-09-17T04:31:26.710 回答