Neptun
(MaT)
1
皆様、こんにちは
私のインストール試行で発生しているバグについて、どなたかお手伝いいただけませんでしょうか。状況は以下の通りです。
Debian 10
php 7.3.6
nginx
私はこのガイドを使用しています:
https://github.com/discourse/discourse/blob/master/docs/DEVELOPER-ADVANCED.md
しかし、データベースマイグレーションのたびに以下のエラーが発生します。異なるリリース版を試してみましたが、同じ問題が常に発生します:
/var/www/discourse# RAILS_ENV=production bundle exec rake db:migrate
rake aborted!NoMethodError: undefined method `keys' for nil:NilClass/var/www/discourse/app/models/global_setting.rb:57:in `load_defaults'/var/www/discourse/config/application.rb:32:in `<top (required)>'/var/www/discourse/Rakefile:5:in `require'/var/www/discourse/Rakefile:5:in `<top (required)>'/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `eval'/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `<main>'
ウェブ上で他のガイドや関連情報を探してみましたが、このエラーを修正する方法やインストールを継続する方法は見つかりませんでした。
Docker によるインストール方法も試しました。セットアップ自体は正常に完了しましたが、使用している ISPConfig との互換性に問題があります。サブドメインでの Discourse 表示が一部破損しており、管理者アカウントの登録後、ウィザードが進行せず、常に空白のページが表示されてしまいます。
ご多忙の折とは存じますが、何卒よろしくお願い申し上げます。
Mat
そのガイドは開発環境のセットアップを目的としたものであり、本番サーバー向けではありません。サーバーについては、公式にサポートされているのは Docker ガイドのみです:discourse/docs/INSTALL.md at main · discourse/discourse · GitHub
開発目的のガイドを使って本番サーバーに Discourse をインストールするのは、信頼性がなく、おそらく不可能だと思います。
ISP の問題を回避するか、外部プロバイダーで Discourse をホストすることを検討してみてはいかがでしょうか?
Neptun
(MaT)
3
お早いご返信ありがとうございます。
「ガイド」については、あくまで参考までという意図でした。ご指摘の通り、Docker での試行も行いましたが、正常に動作させることはできませんでした。
リバースプロキシなどの設定はすべて完了しています。
セットアップ自体は問題なく完了しました。
しかし、管理者登録後、Discourse の表示スタイルが崩れ、管理画面では空白ページが表示されるのみです。また、ウィザードが起動しない、または進まないという状況です。データベースや Ruby アプリケーション内でも確認しましたが、管理者アカウントはアクティブでした。
ISPConfig 側からは、これは ISPConfig パネルとは無関係であり、Discourse 側の問題であるとの回答でした。また、ISPConfig は Docker をサポートしていないとも伝えられています。
問題は nginx の vhost 設定にあると考えていますが、ISPConfig のコントロールパネルにどの部分を挿入すればよいか(例えば Plesk の場合のように)がわかりません。こちらの投稿も読み、様々な試みを行ってきました。
そこで、Docker を使用せずにインストールする方法を試みました。例えば、以下のガイドが参考になります:Install Discourse Forum on Ubuntu 18.04 Without Docker
特別な設定は行いません。Docker によるデフォルトのセットアップと同様の構成です。
私が求めているサポートは、前述のデータベースマイグレーションで発生しているエラーが何なのか、という点です。
Web 上でも関連情報が見つからず、私の WordPress サイトへの統合(コメント機能やサポート機能など)に Discourse を活用したいと考えています。
もし Docker と ISPConfig の組み合わせで Discourse を動作させる方法をご存知であれば、それも大変助かります。これは私のサーバーですので、自由に設定を変更可能です。
唯一の制約は、Discourse をインストールする前に必ず ISPConfig をインストールしなければならない点です。ISPConfig は、100% 正常に動作させるためにクリーンなサーバー環境を必要とするためです。まず Docker で Discourse を入れ、その後に ISPConfig と他の設定を行うことは不可能です。
何卒よろしくお願いいたします。
pfaffman
(Jay Pfaffman)
4
Run other websites on the same machine as Discourse - #281 をご覧ください。
ISPConfig との連携は困難、あるいは不可能かもしれません。ISPConfig を使用して Discourse を運用したい場合は、ISPConfig のサポートにお問い合わせください。
Neptun
(MaT)
5
Docker を使用して、Discourse と同じマシンで他の Web サイトを動かす という投稿の手順を試してみましたが、数時間経っても成功しませんでした。
ISPConfig が Docker をサポートしていないため、現在は Docker を使わない方法で検討していますが、以下のエラーメッセージについて助けていただけますでしょうか。
/var/www/discourse# RAILS_ENV=production bundle exec rake db:migrate
rake aborted! NoMethodError: undefined method `keys’ for nil:NilClass
/var/www/discourse/app/models/global_setting.rb:57:in load_defaults' /var/www/discourse/config/application.rb:32:in <top (required)>’
/var/www/discourse/Rakefile:5:in require' /var/www/discourse/Rakefile:5:in <top (required)>’
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-12.3.2/exe/rake:27:in <top (required)>' /var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in eval’
/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/ruby_executable_hooks:24:in `’
2.4 ベータ版(Docker 経由でインストール可能)や GitHub から取得した他のリリース版も試しました。
ご協力よろしくお願いいたします。
pfaffman
(Jay Pfaffman)
6
ISPConfig は Discourse コミュニティではサポートされていません。
本番環境のサイトを、開発用インストールで実行しても良い結果は得られません。月額5ドルで Digital Ocean のドロプレット(または同様のもの)を取得でき、すぐに動作します。