接続できません - DOでの新規インストール

DigitalOceanにDiscourseをインストールしようと2回試しました。

試行1:
最初の試みでは、公式のGithubの指示に従い、DO Ubuntu 22.04 LTSイメージ、1GBのドロップレットを使用しました。

既存のドメインのサブドメインと、長年正常に機能している既存のMailjetアカウントの認証情報を使用しました。

Dockerをインストールする必要があることに気づかず、discourse-setupと入力したときに、インストーラーは次のように表示しました。
Failed to find docker or docker.io on your PATH.

そして、DockerをインストールするためにEnterキーを押しました。

その後、インストールは正常に実行されたように見えました。

次のようなメッセージで終了しました。

117:M 25 May 2023 01:14:46.500 * DB saved on disk
117:M 25 May 2023 01:14:46.501 # Redis is now ready to exit, bye bye...

およびいくつかの追加行。

DNSの伝播にどれくらい時間がかかるかわからなかったので、/etc/hostsファイルにDOのIPアドレスを入力しました。

ブラウザでサブドメインURLにアクセスしようとしましたが、「サーバーに接続できません」というメッセージが表示されました。

ブラウザでIPアドレスにアクセスしようとしましたが、「サーバーに接続できません」というメッセージが表示されました。

そこで、別の試みをしました。

試行2:
linuxhandbookの指示に従い、マーケットプレイスタブからDOのワンクリックインストールを使用しました。これにより、2GBのドロップレットが提供されました。

sshでログインした後、インストーラーが自動的に実行され、問題なく実行されたように見えました。最後に、次のようなメッセージが表示されました。
Discourse is now installed. Log into your admin account in a browser to continue configuring Discourse.

しかし、再び、サブドメインURLまたは(この2番目のドロップレット用に新しくなった)DOのIPアドレスにブラウザでアクセスしようとしましたが、ブラウザは接続できませんでした(FirefoxとSafariで試しました)。

./launcher start appを実行すると、次のように表示されます。

x86_64 arch detected.
cadd91ccd0cd
Nothing to do, your container has already started!

discourse-doctorを実行すると、(他のこととともに)次のように表示されます。
Discourse container app is running

そして、正しいDISCOURSE_HOSTNAMEが表示されます。

これらのインストール(どちらか一方または両方)をブラウザで応答させるために、他に何を試すことができますか?

(2番目のIPアドレスはまだhostsファイルにありますが、DNSチェッカーによると伝播も完了しているため、サブドメインURLまたはIPアドレスのみで機能するはずです。)

ご協力いただければ幸いです。

さらに詳しい情報です。

私の知る限り、ドロップレットのいずれにもコントロールパネル(PleskやcPanelなど)はありません。

通常の共有ホスティング環境であれば、public_htmlに移動してtestfile.htmlのような簡単なテストファイルを作成し、プレーンなHTMLファイルをロードできるかどうかを確認しますが、DOドロップレットでそれがどこにあるのか(あるいはできるのかどうか)分かりません。

./discourse-setup が正常に完了したのであれば、それはドメインを解決できたことを意味します。そのため、この件については何もする必要はありません。この時点ですでにサーバーの伝播は完了しています。

1クリックでインストールできるDigitalOcean Discourseは#unsupported-installであることに注意してください。これは、ここでサポートを見つける可能性が低いことを意味します。:slight_smile:

最初からやり直して、標準のインストールを使用することをお勧めします。

  1. ドロップレットを作成する

  2. SSHでログインする

  3. ping yourdomain.com を実行し、サーバーのIPに解決されるか確認します(いずれにしても ./discourse-setup は解決されない場合に警告を表示します)。

    • 解決されない場合は、解決されるまで待ちます。
  4. 解決されたら、公式ガイド discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub を使用してDiscourseをインストールします。

結果を報告してください :slight_smile:

もちろん、私は専門家ではありません。誰かが現在の問題を特定できるかもしれません。

「いいね!」 2

その必要はありませんし、役に立ちません。上記で述べたように、discourse-setupはホスト名を使用して自身と通信できるかどうかをテストします。discourse setupを実行する前に/etc/hostsを編集した場合、DNSが機能せず、let’s encryptから証明書を取得できなかったため、Webサーバーが起動しません。十分に試行すると、レート制限され、1週間待つか、別のサブドメインを使用する必要があります。

問題を確認するには、/var/discourse/shared/logs/var-log/nginx/access.log(またはそれに非常に似たもの)を確認できます。

現時点での最も簡単な方法は、新しいサブドメインを使用し、DNSを設定し、伝播を待って(表示するツールがあります)、discourse-setupを実行することです。

「いいね!」 2

お二方とも、返信ありがとうございます。

新しいサブドメインと新しいドロップレットを作成し、それらを使って3回目の試行を行ったところ、すべて正常に動作するようになりました。

最初の試行で ./discourse-setup を実行した際、ドメインやSSLに問題があるという兆候は出力されませんでした。エラーが報告された可能性もありますが、見落としたのかもしれません。もしそうであれば、そのようなエラー通知をもっと分かりやすくすることも可能かもしれません。

新しいDiscourseをセットアップして稼働させることができて嬉しいです。新参者を助けていただき、重ねて感謝いたします。

discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub にトラブルシューティングのヒントのセクションを追加することは可能でしょうか?もし可能であれば、それに貢献することはできますか?

「いいね!」 1

完全に停止します。見逃すことはないでしょう。私の推測では、/etc/hosts で巧妙に問題を解決したため、スクリプトは満足しましたが、Let’s Encrypt が証明書を取得しようとしたときにはそうではありませんでした。discourse-setup はシェルスクリプトであり、最も初心者向けのユーザーを対象としているため、そのテストはかなり単純です。

標準のインストールに関するトピックを参照してください。

編集:まあ、あまりありません。

どのようなトラブルシューティングのアドバイスを追加したいですか?そこにいくつかの手がかりがあると思います。/etc/hosts エントリを作成して DNS チェックをバイパスする人がいると推測するのは、誰かがそのようなことをしたと聞いたことがありません。 :slight_smile: