S3 認証情報をバックアップ用に設定した後、サイトにアクセスできなくなりました。この設定以外に変更を加えていません。
/var/discourse/shared/log/rails/production.log(またはそれに類するファイル)を確認してエラーを確認してください。
おそらく、以下の手順が必要です。
cd /var/discourse
./launcher enter app
rails c
# そして以下のようなコマンドを実行
SiteSetting.backup_location='local'
ただし、S3 バックアップとは無関係で、ディスク容量がいっぱいになっている可能性もあります。
ありがとうございます。試しましたが、修正できませんでした。エラーログは以下の通りです。
ActionView::Template::Error (s3_upload_bucket)
/var/www/discourse/lib/file_store/s3_store.rb:153:in `s3_bucket'
Started HEAD "/" for 35.111.111.163 at 2020-03-05 06:34:08 +0000
Processing by ListController#latest as HTML
Rendering list/list.erb within layouts/application
Rendered list/list.erb within layouts/application (Duration: 6.1ms | Allocations: 2278)
Rendered layouts/_head.html.erb (Duration: 0.2ms | Allocations: 102)
Rendered common/_google_universal_analytics.html.erb (Duration: 0.2ms | Allocations: 79)
Rendered common/_discourse_stylesheet.html.erb (Duration: 0.4ms | Allocations: 200)
Completed 500 Internal Server Error in 60ms (ActiveRecord: 0.0ms | Allocations: 17538)
ActionView::Template::Error (s3_upload_bucket)
/var/www/discourse/lib/file_store/s3_store.rb:153:in `s3_bucket'
5 GBの空き容量があります。
Rails コンソールから S3 設定を無効にしてください。上記に例を示しました。さらに例を探す必要があるかもしれません。
s3_upload_bucket パラメータが設定されていません。
以下の手順を実行してください。
cd /var/discourse
./launcher enter app
rails c
SiteSetting.s3_upload_bucket = 'thenameofyourbucket'
最後の行を、実際の S3 バケット名に変更してください。
ありがとうございます。これで問題が解決しました。しかし、なぜこのようなことが起きたのでしょうか?私はバックアップ用にのみ S3 を使いたかったので、アップロード用のバケットは入力しませんでした。これは正常な動作でしょうか、それともバグでしょうか?
この問題は、enable_s3_uploads を有効にした場合にのみ再現できます。
以下のような手順を踏んだ結果、「Oops」画面が表示されたと考えられます。
s3 access key idとs3 secret access keyを追加したs3_upload_bucketを設定したenable_s3_uploadsを有効にしたbackup_locationを S3 に設定したs3_backup_bucketを設定する必要があり、同じバケットに設定した- その結果、以下のエラーメッセージが表示された:‘s3_upload_bucket’ と ‘s3_backup_bucket’ に同じバケットを使用することはできません。別のバケットを選択するか、各バケットに対して異なるパスを使用してください。
s3_upload_bucketを空にしてs3_backup_bucketを使用できるようにしたenable_s3_uploadsを無効にしなかった
バグの原因は、enable_s3_uploads を有効にするには s3_upload_bucket の設定が必要であるにもかかわらず、S3 アップロードが有効な状態でこの設定を空にすると、フォーラムがクラッシュしてしまうことです。
上記の問題を解決するために何かできることはありますか、@eviltroutさん?
これを防ぐためのバリデーションは既に存在します:
ただし、アップロードを有効にしたままバケットを空白にするケースはカバーしていません。
これで問題ないはずです:
