У меня есть среда бродяг, которую я очень хотел бы запустить на порт 80 с помощью NFS. Первый, потому что это Drupal и нестандартный порт, вызывают немного изжоги, а последний - исключительно для производительности. Для этого, насколько мне известно, мне нужно использовать sudo
. Нет проблем, sudo vagrant up
есть.Vagrant, NFS, порт 80 и sudo
Проблема, с которой я столкнулся, заключается в том, что приложение генерирует файлы и, предположительно, потому что VM была вставлена под sudo
, эти файлы принадлежат root
на хост-системе (OS X), поэтому, когда приложение пытается написать файлы на сервер, разрешение отклонено.
Я изменил свой файл бродяг, чтобы установить весь каталог проекта в 777
. Только ради раскрытия, вот соответствующие (и нестандартные) фрагменты из моих Vagrantfile
:
config.vm.network :hostonly, "192.168.33.10"
config.vm.forward_port 80, 80
# config.vm.share_folder("v-root", "/vagrant", ".", :nfs => (RUBY_PLATFORM =~ /mingw32/).nil?, :extra => 'dmode=777,fmode=777')
config.vm.share_folder("v-root", "/vagrant", ".", :extra => 'dmode=777,fmode=777')
config.vm.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
Vagrant::Config.run do |config|
config.vm.provision :shell, :path => "provision.vm.sh"
end
Вот что я вижу, что происходит:
- Когда я загрузиться с чистого клона в репозитории нет проблем. Ура.
- Я делаю, однако, замечаю, что содержание
/vagrant
, если смотреть с самой ВМ, не дано полным perms (777
). Это произошло до этих изменений.
- Я делаю, однако, замечаю, что содержание
- Когда я загружусь после останавливающей виртуальной машины ...
- Создаваемых файлы не могут быть записаны.
- Файлы в
/vagrant
(опять же, если смотреть с VM) принадлежат пользователюdialout
. Это похоже на NFS, поэтому нет проблем, пока я могу получить первый элемент для работы.
UPDATE
Похоже, что проблема может быть мое понимание того, как работает NFS. Мне нужно попытаться исправить это, но если я просто удалю компонент NFS (теперь прокомментировал &, замененный в перевернутом выше), вещи кажутся гораздо более полезными. Хотелось бы еще узнать, могут ли другие люди справиться с этим.
Стоит отметить, что при настройке хост-сети для работы nfs вы можете фактически получить доступ к машине на порту 80 на этом ip-сервере, не требуя взлома sudo. Поэтому 192.168.33.10:80 должен работать. – timmow
В то время как немного несвязанный, высевал бы ваш бродячий экземпляр с помощью марионетки? У них есть полезные значения по умолчанию, и их легко настроить после создания. – T0xicCode