Имам приложение Rails (магазин Spree Commerce), работещо на Digital Ocean и внедрено чрез Cloud 66.
Бих искал да направя SSH в моя сървър, да стартирам rails конзола и да коригирам някои конфигурационни настройки на Spree. Когато се опитам да направя това, получавам грешка в разрешенията:
Errno::EACCES: Разрешението е отказано @ dir_s_mkdir - /var/deploy/my-app/web_head/releases/20150220220517/tmp/cache/29B
Според страницата за предпочитания на ръководството за разработчици на Spree, това е така, защото предпочитанията се кешират в паметта за подобряване на производителността. Проблемът (мисля) е, че моят потребител няма достъп за запис в директорията tmp/cache
и моят потребител е този, който изпълнява rails конзолата.
Ако ls -l
в директорията $STACK_PATH/tmp/cache, получавам следното:
> lrwxrwxrwx 1 nginx nginx 43 Feb 20 22:05
> tmp/cache ->
> /var/deploy/my-app/web_head/shared/cache
Предполагам, че трябва да дам на моя потребител достъп за писане в директорията, както има потребителят на nginx. Опитах се да се добавя към потребителската група на nginx, но това изглежда нямаше ефект. Какво мога да направя, за да предотвратя тази грешка в разрешенията?
ls -l /var/deploy/my-app/web_head/releases/20150220220517/tmp/cache
? - person sites   schedule 21.02.2015lrwxrwxrwx 1 nginx nginx
.$STACK_PATH
е променлива, която препраща към/var/deploy/my-app/web_head/current
, което от своя страна препраща към най-новата/releases
директория. - person michaelmichael   schedule 21.02.2015