Arhn - архитектура программирования

Приложение не может создать доступную для записи папку с Vagrant

Я настроил свой собственный базовый Vagrant Box из официального блока Vagrant Precise64. У меня есть синхронизированная папка, расположенная здесь «/var/www», и общая папка, расположенная в «/var/www/public».

Для «/var/www» мои разрешения:

drwxr-xr-x  1 vagrant vagrant 

Для «/var/www/public» мои разрешения:

drwxr-xr-x  1 vagrant vagrant

Чтобы проиллюстрировать мою проблему, с приложениями WordPress я вручную установил разрешения для загрузок на 777. WordPress может создать папку внутри загрузок за месяц, например «/var/www/public/wp-content/uploads/ 10/"; однако он не может загружать или записывать в только что созданную папку, если я снова вручную не изменю разрешения для вновь созданной папки «10», чтобы она была доступна для записи.

Это происходит со всеми приложениями, такими как папка «хранилище» Laravel, и в основном каждый раз, когда программа пытается создать каталог. Попытка принудительно установить разрешения для Vagrant Up во время подготовки также не работает:

config.vm.synced_folder "/path/to/writable/folder", "/path/to/writable/folder", :mount_options => ["dmode=777","fmode=666"]

Итак, какие разрешения мне нужно установить на виртуальном сервере, чтобы это работало?


Ответы:


1

Я использовал WordPress и Laravel в Vagrant и установил права на запись в Vagrantfile:

config.vm.synced_folder ".", "/vagrant", :mount_options => ['dmode=774','fmode=775']

А также добавьте пользователя Apache по умолчанию в группу vagrant (я использую подготовку оболочки):

usermod -a -G vagrant www-data

15.10.2014
  • Это работает. В моем случае также работает config.vm.synced_folder ., /var/www, :mount_options =› [dmode=777, fmode=666]. Спасибо 15.10.2014
  • разве это не сделает все папки в бродяге доступными для записи? что, если кто-то хочет сделать определенные папки доступными для записи. Я думаю о том, чтобы только папка /cache была доступна для записи, а остальные как есть. 03.03.2016
  • Для пользователей Homestead, которые хотят использовать это: stackoverflow.com/a/56056933/3017716 09.05.2019

  • 2

    Чтобы расширить ответ Jesse, при использовании homestead (и, следовательно, Homestead.yaml) вы можете передать эти параметры через так

    folders:
    - map: ./
      to: /home/vagrant/code
      options:
        mount_options: ['dmode=777','fmode=777']
    

    На основе https://laravel.com/docs/5.8/homestead#configuring-homestead и https://www.vagrantup.com/docs/synced-folders/basic_usage.html#modifying-the-owner-group

    09.05.2019

    3

    Попробуйте добавить следующую строку в ваш файл Vagrant:

    config.vm.synced_folder ".", "/vagrant", :group => "www-data", :mount_options => ['dmode=775','fmode=664']
    
    25.03.2015
  • Не могли бы вы уточнить свой ответ, добавив немного больше описания решения, которое вы предоставляете? 25.03.2015
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..