Я пытаюсь установить Magento2.4 с открытым исходным кодом на следующей установке.
VirtualBox 6.1, установленный на Windows 10
Сервер Nginx, установленный на VirtualBox
Сервер Ubuntu 20.4, установленный на Virtualbox
Php 7.3.20
Чтобы сделать папку Windows общей на VirtualBox Ubuntu 20.04 Server , Я использовал следующий процесс.
Ссылка: https://stackoverflow.com/a/54348495/1616003
1) sudo apt-get update
sudo apt-get install virtualbox-guest-dkms
sudo apt-get install virtualbox-guest-utils
Перезагрузите виртуальную машину
Сделайте эту общую папку автоматически смонтированной
mount -t vboxsf magento2_vm_folder / var / www / html
echo "sudo mount -t vboxsf magento2_vm_folder / var / www / html ">> /home/mukesh/.profile
sudo visudo
mukesh ALL = (ALL) NOPASSWD: / bin / mount
Папка Windows теперь доступна на сервере VirtualBox Ubuntu / var / www / html
Теперь я пытаюсь установить Magento2.4 в каталог / var / www / html . Для этого я запускаю следующую команду
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition .
. Я получаю следующую ошибку:
Ошибка установки плагина (include (/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?
Даже если я дам разрешение 777 для папки / var / www / html, ошибка останется.
Я предполагаю, что какая-то папка в "/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
EDIT: Если вы используете PHP в режиме FPM, вам может потребоваться заменить пользователя nginx на информацию о пользователе PHP FPM.