如何让 apache 通过 VirtualBox 为站点提供服务?

its*_*_me 8 virtualbox windows-7 webserver

本教程教我如何在Windows 7主机上的 VirtualBox 中创建 Ubuntu Server(12.10,64 位)VM ,安装 Apache 并让它从可通过主机浏览器访问的虚拟域中为站点提供服务。

花了一天时间和很多次尝试(虽然我似乎按照他们的指示去做,但我总是做错事),我终于做到了。

我发现 Ubuntu 是一个比 Windows 更无缝的开发环境,所以我想在 Ubuntu 上做同样的事情。所以,这一次,我在Ubuntu主机上的VirtualBox 中创建了一个 Ubuntu Server VM ,安装了 Apache 并对其进行了配置。但是,当我通过虚拟域访问该站点时,出现“找不到服务器”错误。

是的,我确实按照教程(适用于 Windows 7)中/etc/hosts提到的那样修改了文件。但我无法让它工作。不知道怎么回事。有谁知道我还应该做什么?

编辑:如果我不够清楚,请询问。我愿意澄清。

its*_*_me 5

如果您需要允许物理网络中的其他计算机访问您的 VM,或者如果 VM 需要访问 Internet,请使用桥接网络。否则,请坚持使用仅主机网络。

  1. 停止您的 VM 并在VirtualBox (OSE) 管理器中打开它的设置

  2. 转到网络选项卡

  3. 选择您选择的网络模式(桥接网络或仅主机)

    如果您想使用桥接网络,您必须在Name: ____________处选择正确的网络适配器。对于有线连接,您可以选择名为eth0. 无线连接通常被命名wlan0(数字可能会有所不同)。

  4. 保存设置

  5. 启动 Ubuntu 虚拟机

  6. 启动后,您可以通过运行以下命令来收集 IP 地址:

    sudo ifconfig
    
    Run Code Online (Sandbox Code Playgroud)

    输出应该类似于:

    eth0      Link encap:Ethernet  HWaddr 08:00:27:f4:c3:7b  
              inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: fe80::a00:27ff:fef4:c37b/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:20 errors:0 dropped:0 overruns:0 frame:0
              TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:3244 (3.2 KB)  TX bytes:2512 (2.5 KB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    Run Code Online (Sandbox Code Playgroud)

    在上面的输出中,192.168.1.4(在第二行)是可在您的 Ubuntu 主机系统中用于访问您的 VM 的 IP 地址。

  7. 现在在 Ubuntu 主机中打开hosts文件:

    sudo gedit /etc/hosts
    
    Run Code Online (Sandbox Code Playgroud)

    (如果您不想使用gedit,请将单词替换为您最喜欢的编辑器的名称。例如vimnano。)

    打开文件后,添加此行并保存

    192.168.1.4   my-dummy-site.com
    
    Run Code Online (Sandbox Code Playgroud)
  8. 打开主机上的任何浏览器,然后my-dummy-site.com访问您的网站,直接从 VirtualBox 提供服务。

(特别感谢@iSeth帮助。完全基于这样的回答,有点是不一样的。)