【问题标题】: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 配置文件是否有任何允许这样做的潜在设置。

      【讨论】:

        猜你喜欢
        • 2015-11-06
        • 2012-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多