【问题标题】:Apache Not Following Symlinks (403) : Creating Symlinks Within Vagrant : Windows Host, Ubuntu GuestApache 不遵循符号链接 (403):在 Vagrant 中创建符号链接:Windows 主机、Ubuntu 来宾
【发布时间】:2016-03-17 19:44:31
【问题描述】:
对我来说主要问题是 apache 没有遵循我的符号链接并且给了我 403 错误。
我使用的是 Windows 主机和 Ubuntu ~14.04 Guest
我已经在 Windows 主机中创建了符号链接,并且位于 vagrant/virtualbox 共享文件夹中。
- 在我的虚拟主机中,我将 apache 设置为遵循符号链接。
- 我还将 chmod -R /var/www 设置为用户 www-data
-
在我的 Vagrantfile 中,我有如下一行:
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
config.vm.provider "virtualbox" do |v|
v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/", "1"]
end
Ubuntu 告诉我由于协议错误而无法创建符号链接
【问题讨论】:
标签:
apache
ubuntu
vagrant
virtualbox
symlink
【解决方案1】:
解决方案:
据我所知,Windows 符号链接在 Linux 中不起作用。
使用 ln -s 创建符号链接时,当我使用 vagrant 进入我的盒子时,会出现“协议错误”。
我必须在具有管理属性和 ssh 的 Windows 中启动命令行,然后才能创建 linux 符号链接。一旦我在 linux 中创建了符号链接,它就可以正常工作了。
【解决方案2】:
我最近遇到了同样的问题,我在尝试在两个同步的 vagrant 文件夹 (NFS) 之间创建符号链接 (ln -s) 时收到“协议错误”。
由于这些文件夹在技术上位于 Windows 中,ln -s 将返回错误;如果您在命令提示符中的 Windows 目录之间执行 mklink 之后尝试将 cd 转到目录(在您的 vagrant 框中),您也会收到错误消息。
因此,我尝试使用 unix 风格的目录格式创建指向目标目录的 Windows 符号链接,如下所示:
mklink /D "D:\My New Symlink\" "/home/vagrant/my_target_folder"
如果它不适合你,请告诉我,我会检查我的 vagrant 配置文件是否有任何允许这样做的潜在设置。