我已经使用 VirtualBox 4.2.6 成功安装了 Ubuntu 12.10 Server 版本。
我已经从我的 Mac OS X(主机)设置了对 Ubuntu 客户机的终端 SSH 访问
我已经使用这个安装了 nginx、mysql 等要旨。
使用此 bash 命令,通过 SSH 从我的 Mac 终端运行:
bash -c "$(curl -fsSL https://raw.github.com/gist/4372049)" <mysqlPassword>
我想继续使用 Mac OS X(主机)安装我最喜欢的编辑器并将我的代码库放在我的主机中。
如何将 ubuntu 服务器(来宾)用作 Web 服务器?如何在主机上通过浏览器测试我的网站?
答案1
解决方案分为两部分。
我们需要允许您的 ubuntu 服务器(访客)通过主机中的浏览器访问。
我们需要使用共享文件夹,以便 ubuntu 服务器(客户机)可以访问这些文件。
允许在主机中通过浏览器访问 ubuntu 服务器(来宾)
我们将在相同的 NAT > 端口转发规则中添加新规则这里
新规则称为web
。主机端口为8888
或大于 1024 的任何值。客户端口为80
。
reboot
在终端中输入并尝试http://localhost:8888
,你应该会看到
欢迎使用 nginx!
假设在你的主机上,你在 /etc/hosts 文件中将 127.0.0.1 与 localhost 匹配
为什么我们不能使用http://localhost
?
因为我们在虚拟机中使用 NAT 设置,所以我们无法将小于 1024 的任何内容转换为客户端口 80。
为什么我们不使用桥接接口而不是 NAT?
这是可行的,但缺点是你需要为客户操作系统分配一个静态 IP。这也很麻烦,因为它还需要你在网络上。
我的建议是,这不值得这么麻烦。简单使用http://localhost:8888
就足够了。
设置共享文件夹
以 root 身份重新登录到您的 ubuntu 客户机
输入以下内容。
sudo apt-get update
sudo apt-get install dkms
sudo apt-get install virtualbox-guest-additions
sudo apt-get install build-essential linux-headers-$(uname -r)
sudo apt-get install virtualbox-ose-guest-x11
这样做的目的是安装一个叫做Virtual Box 客户机添加项
您需要在客户 ubuntu 操作系统中安装这些包。
无论何时更新 VirtualBox,请使用相同的 bash 命令
在客户操作系统上正常关机。
现在选择客户操作系统上的设置,然后转到共享文件夹以添加要从 Mac OS X 共享的文件夹
选择自动挂载和永久挂载可以让您的生活更轻松。
再次运行 ubuntu 服务器(guest)。以 root 身份登录。
确保您的 www-data 或用于访问 /var/virtual 文件夹的任何用户也属于该组vboxsf
。您无法更改自动挂载共享文件夹的组,因此您只能将用户添加到该组。
www-data
要添加的命令vboxsf
是:
sudo adduser www-data vboxsf
现在在 /var/virtual 内创建符号链接以指向适当的文件夹,并且您在实际的 ubuntu 服务器上设置的 Web 服务器将会起作用。