在 Windows 10 的 VirtualBox 上安装 Ubuntu 20.04 服务器共享文件夹权限问题

在 Windows 10 的 VirtualBox 上安装 Ubuntu 20.04 服务器共享文件夹权限问题

我正在尝试在以下设置上安装 Magento2.4 开源。

在 Windows 10 上安装 VirtualBox 6.1

在 VirtualBox 上安装 Nginx 服务器

在 Virtualbox 上安装 Ubuntu 20.4 Server

Php 7.3.20

为了使 Windows 文件夹在 VirtualBox Ubuntu 20.04 Server 上共享,我使用了以下流程。

参考:https://stackoverflow.com/a/54348495/1616003

1)sudo apt-get 更新

sudo apt-get install virtualbox-guest-dkms

sudo apt-get install virtualbox-guest-utils
  1. 重新启动虚拟机

  2. 自动挂载此共享文件夹

    安装-t vboxsf magento2_vm_folder /var/www/html

    回显“sudo mount -t vboxsf magento2_vm_folder /var/www/html”>> /home/mukesh/.profile

  3. 须藤维须藤

    mukesh ALL = (全部)NOPASSWD:/bin/mount

现在可以在 VirtualBox 的 Ubuntu 服务器中访问 Windows 文件夹/var/www/html

现在我尝试在/var/www/html目录。为此,我运行以下命令

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition .

我收到以下错误

插件安装失败(包括(/var/www/html/qa.magento.com/vendor/magento/magento-composer-installer/src/MagentoHackathon/Composer/Magento/Plugin.php):无法打开流:没有此文件或目录),回滚

笔记:当我在 Ubuntu Server 18.04 中执行上述所有步骤时,一切都正常。似乎是一些权限问题。

那么有人可以帮助我了解 Ubuntu Server 20.04 中是否有变化吗?

即使我授予 /var/www/html 文件夹 777 权限,错误仍然存​​在。

答案1

我的猜测是“/var/www/html/”下的某些文件夹没有 777 权限。

有两种方法可以解决这个问题,一种是将 nginx 添加到 vboxsf,另一种是使用挂载选项。

vboxsf 组:

usermod -aG vboxsf nginx

使用 /etc/fstab 选项:

magento2_vm_folder    /var/www/html     vboxsf    defaults,uid=<nginx uid>,gid=<nginx gid>,umask=0022    0    0

编辑:如果您在 FPM 模式下使用 PHP,则可能需要用 nginx 用户替换 PHP FPM 用户的信息。

相关内容