В доступе отказано - /tmp/.ruby_inline/Inline_ImageScience_cdab.c

У меня есть приложение Ruby on Rails, которое я недавно развернул на удаленном сервере (Ubuntu 9.10, nginx, passenger, ruby-enterprise), и я получаю сообщение об ошибке (работает локально):

В доступе отказано - /var/www/project_name/tmp/.ruby_inline/Inline_ImageScience_cdab.c

Во-первых, папка /tmp/.ruby_inline/ пуста - так и должно быть? Он пытается создать Inline_ImageScience_cdab.c или прочитать его?

Я думаю, что у меня установлены все необходимые гемы: в списке гемов показаны image_science и RubyInline. libfreeimage3 и libfreeimage-dev также установлены.

Я запустил chmod 755 в /tmp/.ruby_inline/, чтобы сопоставить разрешения для окружающих папок, но я не могу пойти выше, чем это, или я получаю другую ошибку:

/var/www/project_name/tmp/.ruby_inline небезопасен (40777). Это не может быть группа или мир для записи. Выход.

И я думаю, во-вторых, почему я получаю эту ошибку?:)

Спасибо

2 ответа

Решение

Я смог решить проблему. Папка /tmp/.ruby_inline/ не должна была быть пустой, поэтому она не находила Inline_ImageScience_cdab.c и не выдавала "разрешение запрещено". Необходимые файлы были установлены в ~/.ruby_inline, поэтому я просто скопировал их в /tmp/.ruby_inline и выполнил chmod 755.

Также я предполагаю, что файловая система в производстве по какой-то причине предназначена только для чтения для хранения статического содержимого. Свяжитесь с вашим хостом.

Другие вопросы по тегам