ふえんわーくすらいふろぐ

Fuen-Works(https://fuen-works.tokyo/)の管理人のまとめ。 アニメ、IT関係、日々考えてることだったりをテキトーに書いてます。

Mastodonで画像をアップロードしようとすると、「500 Internal Server Error」になる。

f:id:spiralalive:20180418084207p:plain

 

kurosawa-ruby.xyz

 

先日、わたしのMastodonサーバ「クロサワドン!」の数少ないユーザ様から、「画像がアップロードできない」という指摘がありました。

確認してみると、確かにアップロードできなかった。

前はアップロード出来たんだけどなぁ...。

ちなみに、アイコンやヘッダーの変更も出来なくなってた。

 

なお、前にアップデートするのに失敗した経験や、単にまとまった時間が取れなかったり、他に優先したいことなんかもあって、いまだにバージョンは1.6.1です。。。

近々アップデートします(´・_・`)

 

さて、とりあえずnginxのログ( /var/log/nginx/error.log )を確認してみたところ、ブラウザ上で画像のアップロードをした時にこんなログを吐いてました。

 

2018/04/16 11:50:26 [crit] 1100#0: *1670 open() "/var/lib/nginx/tmp/client_body/0000000010" failed (13: Permission denied), client: xxx.xxx.xxx.xxx, server: kurosawa-ruby.xyz, request: "POST /api/v1/media HTTP/2.0", host: "kurosawa-ruby.xyz", referrer: "https://kurosawa-ruby.xyz/web/getting-started"

 

そこで、このエラーログを元にググってみたところ、行き着いたのがこのページ。

 

qiita.com

 

/var/lib/nginxの所有者が/etc/nginx/nginx.confのuserになっていないのがいけませんでした。

 

そこで確認してみたところ、/etc/nginx/nginx.confは

 

user  mastodon

 

になってたのに対し、/var/lib/nginxの所有者はrootになってました。

※nginxのインストールユーザがrootなのです。それの是非はまた別の話。。。

 

というわけで、このコマンドを実行して所有者変更。

 

chown -R mastodon:mastodon /var/lib/nginx

 

無事、アップロードできるのを確認しました。

 

 

...まぁ、このあとで/etc/nginx/conf.d/nginx.confの記述内容間違えて、今度は「502 Bad Gateway」でアップロード出来なくなった問題が起こったのですが...。

それはまた別の話。

リクエストボディのバッファリングサイズが大きすぎて、Wartning吐きまくるのをなんとかしたかっただけなのに。

 

qiita.com