如何在运行于 Virtual Box Guest OS 上的 Apache 中托管来自 HOST OS 的本地文件

如何在运行于 Virtual Box Guest OS 上的 Apache 中托管来自 HOST OS 的本地文件

我正在 Mac Book Pro 上运行 Virtual Box Machines 作为主机操作系统,并且希望能够使用在带有虚拟盒的客户操作系统设置中运行的 Apache 服务器将我的所有文件本地存储在主机操作系统的分区上。

我打算使用系统链接和更改 conf 文件来实现这一点,希望我可以在 Mac 上本地完成大部分编码和版本控制,然后只使用虚拟机进行测试。

我运行以下 VM 来工作,并将其作为此过程的第一个测试用例:

Win7 Pro,带有XAMPP 1.8.2

默认情况下,Apache 服务器设置为使用以下文档:

文档根目录“/xampp/htdocs”

我通过在 Virtual Box 中启用共享文件夹将本地目录添加到机器,以便当 Win7 启动时,我可以访问 OSX 上的本地文件。

我想将该映射驱动器中的项目添加到我的 appache httpd.conf 中,以便我可以从 Win7 内部托管和访问它们。

我已经关注这个问题的建议为了使其正常工作,每种方法似乎都将远程目录添加到 apache,但是我收到权限错误。

例如,假设在 Win7 中我从 OSX 共享的目录是:

D:\开发

然后我在 httpd.conf 文件中添加了一个目录和别名:

Alias /dev/ "D:\Development"
<Directory "D:\Development">
      Options Indexes FollowSymLinks MultiViews ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
</Directory>

当我从客户操作系统(Win7)中打开 Web 浏览器并转到 localhost/development 时,我会收到权限错误。

然后,我尝试使用符号链接,通过在 cmd 提示符中执行以下命令,在 C:\xamp\htdocs 中创建指向 D:\Development 位置的链接

mklink /d dev D:\Development

这样就创建了链接,目录位于 xampp 的 htdocs 中。但是,当我尝试在 Web 浏览器中打开时,我仍然收到权限错误。

我尝试将符号链接路径和挂载路径添加到 httpd.conf 的别名和目录中

我确信我只是误解了某些东西,这可能是一个简单的修复,也许我必须通过完整的网络路径或其他方式指定文件夹?这个过程是否不同,因为我从 Vbox 使用 Apache 并希望将文件保存在主机操作系统上?

答案1

通过回答这里提出的问题,我找到了一种让它工作的方法:在 Windows 中创建到映射网络驱动器的符号链接

甚至没有改变 xampp 中 apache 的 http.conf,我只需使用完整的 UNC 路径而不是映射目录创建了一个符号链接,它就运行良好。

所以基本上我只是用

mklink /D C:\xampp\htdocs\development \\OSX\users\user\deveopment

相关内容