虚拟机运行 CentOS,可以 ping 但不能访问 web 服务器

Cas*_*sen 10 windows centos virtualbox xampp virtual-machine

我第一次尝试设置 CentOS 服务器(曾经设置过 Linux 服务器)。安装很顺利,我安装了 LAMPP(以及 x86 所需的依赖项),使用了 lampp 安全工具,然后开始http://192.168.0.112:8888/使用 elinks。

到目前为止一切顺利……但后来我想从我网络中的其他计算机(包括 VM 的主机)访问服务器。但我无法让它工作并不断收到 404 的信息......

请注意,我在该网络上运行了另一个网络服务器(在端口 80 上),因此我在 httpd.conf 中更改Listen 80Listen 8888,并将路由器中的 8888 转发到 CentOS 安装的 IP(静态:192.168.0.112,根据 ifconfig)。

192.168.0.112返回:

Ping statistics for 192.168.0.112:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
Run Code Online (Sandbox Code Playgroud)

服务器详情:

  • CentOS 6.5 最小,从 .iso 安装
  • LAMPP 1.8.1(通过 apachefriends.org 的 wget)

主机详情:

  • 视窗 8.1 x64
  • VirtualBox 正在使用桥接网络适配器(译自荷兰语:Netwerk 桥接适配器)

有关如何解决此问题的任何想法?我对网络和服务器比较陌生,因为我自己是前端开发人员,但我真的很想进入后端的东西。

现在已经很晚了,所以我要睡觉了。希望我早上能对网络/CentOS 的工作方式有一些深入的了解!

提前致谢。

小智 15

我也有这个问题。从你的描述来看,我和你的设置是一样的。原来我已经firewalld安装并正在运行,所以不得不使用以下命令:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)

这使我能够apache从 vm 外部访问在我的虚拟机上运行的服务器。


Lin*_*uxx 0

很可能是 apache 内部的虚拟主机配置。那里有一个部分会说“允许来自[某事]”。确保它写着“允许所有人”。

这是我的样子;

<Directory /var/www/>
    Options FollowSymLinks
    AllowOverride AuthConfig FileInfo Limit
    Order allow,deny
    allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

我个人的意见是根本不使用 xampp。你实际上让事情变得更加困难。只需使用 CentOS 中的本机包即可。这是一个很好的教程(来自快速谷歌搜索)

https://www.digitalocean.com/community/articles/how-to-install-linux-apache-mysql-php-lamp-stack-on-centos-6

或者,您可以安装 Ubuntu Server,并且在安装阶段有一个选项,您可以检查是否安装 LAMP。它将为您下载并安装所有软件包。

祝你好运。