В доступе отказано - /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.
Также я предполагаю, что файловая система в производстве по какой-то причине предназначена только для чтения для хранения статического содержимого. Свяжитесь с вашим хостом.