私はcapistranoを使って新しいRails 3.1サーバーにアプリケーションをデプロイしています。Rails 3.1 - capistranoでのデプロイメント後のアクセス許可
ページを参照しようとすると、レールエラーが発生します。
error.log
で見ながら、これは私が見たものである。
ActionView::Template::Error (Permission denied - /var/www/episodecalendar/production/releases/20111227204950/tmp/cache/55B):
32: </div>
33: <div id="footer">
34: <div id="footer_content">
35: <% cache("footer") do %>
36: <%= render :partial => "partials/footer" %>
37: <% end %>
38: </div>
app/views/layouts/application.html.erb:35:in `_app_views_layouts_application_html_erb___3483336897212790867_58416560'
明らか/tmp
フォルダ内のファイルは、「正しい」権限がありません。例:
[email protected]:/var/www/episodecalendar/staging/current/tmp/cache/assets/C0C/690# ls -la
total 12K
drwxr-xr-x 2 root root 4.0K 2011-12-27 21:33 .
drwxr-xr-x 3 root root 4.0K 2011-12-27 21:33 ..
-rw-r--r-- 1 root root 2.6K 2011-12-27 21:33 sprockets%2F31007441199035e09c0c45c33930cf06
それを修正する唯一の方法は、chmod 777 tmp/ -R
あり、その後、サイトはすぐにロードします。
私はカピストラーのレシピにchmodの修正を入れることができましたが、それは醜いハックのようです。
配備後に/ tmpフォルダに「正しい」権限がないのはなぜですか?どのように修正できますか?
rootユーザー経由で導入していますか?もしそうなら、あなたはそれを再考したいかもしれません。 –
私はそれが悪いと聞いたことがあります:)しかし、ユーザーを変えるだけで同じ問題が起こるでしょうか? – Frexuz