Развертывание с Capistrano: как установить права доступа к файлам и папкам? - PullRequest
2 голосов
/ 21 августа 2011

Я использую камни Ruby on Rails 3.0.9, Paperclip и Capistrano.Когда я развертываю свое приложение (используя Capistrano) на своем VPS под управлением Ubuntu 10.04 и пытаюсь отправить вложение Paperclip, оно не будет работать.Я знаю, что проблема связана с правами доступа к файлам и папкам для каталога public (я загружаю вложенные файлы в этот каталог).

Итак, вместо установленных разрешений вручную каждый раз, когда я развертываю свое приложение, я хотел бы написать рецепт Capistrano, чтобы установить эти разрешения «автоматическим» способом . Как я могу это сделать?

Следует ли мне устанавливать разрешения для файлов и папок на локальном компьютере (Mac OS под управлением Snow Leopard 10.6.7), чтобы Capistrano правильно развертывал и устанавливал эти разрешения?Или я должен добавить какой-нибудь код типа system "chmod -R 777 #{RAILS_ROOT}/public" в файл config/environments/production.rb?

1 Ответ

3 голосов
/ 06 сентября 2011

Вы ошибаетесь.

Я уверен, что вы хотите хранить свои вложения между развертываниями, не так ли? Тогда ваши вложения Paperclip должны находиться в «общей» директории, такой как logs, tmp, pids и т. Д. *

Если вы уважаете расположение по умолчанию Paperclip: ": rails_root / public / system /: attachment /: id /: style /: filename". И вы не искали свой SVN или Git с этим каталогом public / system .

Решение так же просто, как настроить один раз каталог : deploy_to / shared / system с желаемыми разрешениями. И пусть Paperclip и Capistrano легко справятся с этим системным каталогом.

...