0
0

More than 3 years have passed since last update.

本番環境で画像アップロード時のエラー:「Permission denied @ rb_sysopen - /var/www/rails/app/tmp/uploads/cache/xxxxxx」への対処法

Last updated at Posted at 2020-09-04

Rrailでアプリを作りAWSの本番環境でデプロイが完了し、動作確認で画像を投稿しようとしたら以下のエラーが出ました。

Permission denied @ rb_sysopen - /var/www/rails/app/tmp/uploads/cache/xxxxxx

権限周りでエラーが起こっているらしいです。
調べたところこちらの記事が参考になりました。

私の場合EC2にSSHログインし、対象フォルダまで移動、権限の変更で解決できました。
(usernameは適宜変更して下さい。 "whoami" というコマンドで確認できます)

$ ssh app_name_key_rsa
$ cd /var/www/rails/app/tmp/uploads/cache
$ ls -la
  drwxr-xr-x 2 root root  6  8月 14 00:44 .
  drwxr-xr-x 4 root root 32  8月 14 00:44 ..
$ sudo chown -R username .
$ ls -la
  drwxr-xr-x 2 username root  6  8月 14 00:44 .
  drwxr-xr-x 4 root root 32  8月 14 00:44 ..

変更後に再デプロイしたのですが次はこちらのエラーが出ました。
Permission denied @ rb_sysopen - /var/www/rails/app/tmp/uploads/store/xxxxxx

こちらも上記と同様のコマンドで権限を変更します。内容は殆ど一緒のため割愛します。

同様に権限変更後に再デプロイして確認すると無事に画像の投稿ができるようになっていました。
また、今回のエラー時にトップページで表示されるはずの画像(CSSでバックグラウンドイメージに指定していた)が表示されていませんでした。こちらは別階層にあるcacheファイルを権限変更すれば解決できました。

$ ssh app_name_key_rsa
$ cd /var/www/rails/app/tmp
$ ls -la
  :
  drwxr-xr-x  3 root root   20  8月 14 23:40 cache
  :
$ sudo chown -R username cache
$ ls -la
  :
  drwxr-xr-x  3 username root   20  8月 14 23:40 cache
  :

以上、どのたかのお力になれたら幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0