我在 MacBook Pro 中安装了 Ubuntu 14.04.2 作为虚拟机 (VirtualBox)。我试图使用 LAMP (Linux、Apache、MySQL 和 PHP) 堆栈来运行 Web 服务器,但我甚至无法获得 Apache 欢迎页面(通过在浏览器中输入我的 IP 地址)。
我怀疑这是由于网络配置错误造成的。我尝试将/etc/network/interfaces
配置编辑为:
$ sudo nano /etc/network/interfaces
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
bridge_ports eth0 vbox0 vbox1
# The loopback network interface
auto lo
iface lo inet loopback
正如 Ubuntu 文档所建议的那样,但我无法成功使 Apache 服务器运行。每当我安装 Ubuntu 时,我都会预先安装 OpenSSH、LAMP 和 MailServer 软件包,所以我不知道这是否会对配置造成一些干扰。
另外,我的 MacBook Pro 是新款,所以我只有 Wi-Fi。我在 VirtualBox 中的“设置 > 网络”下配置虚拟机的网络,并选择连接到:“桥接适配器”,然后选择我的 Wi-Fi 适配器 (AirPort),如下所示 -> 名称:en0:Wi-Fi (airport)
有人知道为什么我无法输入我的静态 IP 并获取 Apache 欢迎页面吗?
答案1
根据评论 - 您的问题源于您为虚拟机配置了错误的接口。虽然不熟悉 VirtualBox 内部工作原理,但我建议使用一般的工作流程(目前广泛用于容器等):
- 按照惯例创建具有“正常”不可路由 IP 的虚拟机。例如,RedHat 系列将默认网络 192.168.122/24 指定为虚拟机的默认网络
使用主机的防火墙(无论是 Mac 的 ipw 还是他们现在使用的任何防火墙,或者如果您为主机安装了 Linux,则是 Linux iptables)并将 *:80 上的任何入站流量“nat”到您的 VM 的 IP。
- 作为这个的一个选项,你可以安装一些简单的反向代理,如 nginx pound 等,并让它监听