我正在尝试在以下设置上安装 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
重新启动虚拟机
自动挂载此共享文件夹
安装-t vboxsf magento2_vm_folder /var/www/html
回显“sudo mount -t vboxsf magento2_vm_folder /var/www/html”>> /home/mukesh/.profile
须藤维须藤
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 用户的信息。