こんにちは、初めまして。DigitalOcean の Droplet に Discourse をインストールして、GoDaddy でホストされているサブドメインにディスカッションフォーラムを作成しようとしています。最近、そのサブドメインに SSL をインストールしました。インストールを試行している間に、Discourse のインストールプロセスによっていくつかのファイルがインストールされたようです。「https://talk.mydomain.com 」にアクセスすると、管理者のメールアドレスが表示されるページが表示されるので、その部分は正しく動作していると推測されます。以前に何か正しいことをやったはずです。
しかし、./discourse-setup を実行すると、次のエラーメッセージが表示されます。
Discourse のホスト名を入力してください [discourse.example.com]: talk.subdomain.com
ドメイン名を確認しています...
警告:: このサーバーは talk.subdomain.com:443 からアクセスできないようです。
http://talk.subdomain.com (ポート 80) への接続も失敗しました。
これは、talk.subdomain.com が誤った IP アドレスに解決されているか、トラフィックがサーバーにルーティングされていないことを示唆しています。
app.yml の編集に関するコメントもありますが、メール以外にはサブドメインへの参照が含まれていません。
何が間違っているのか、正しい方向へ導いてくれる方はいませんか?よろしくお願いします…
pfaffman
(Jay Pfaffman)
2020 年 3 月 18 日午後 10:14
2
ご指摘の通り、talk.subdomain.com があなたの Droplet を指していない可能性が極めて高いです。あるいは、ポート 80 と 443 を無効化するファイアウォールを有効にするために追加の作業を行った可能性もあります。
「いいね!」 3
ドメインの DNS エントリが正しくありません。subdomain.com ドメインを購入した場所で、DNS を編集する必要があります。
こんにちは、ジェイさん。返信ありがとうございます。
DNS の「A」レコードは、GoDaddy でホストされている私のドメインを指しています。最初に述べた通り、ブラウザで「https://talk.domain.com 」を入力すると、サブドメインのページにアクセスでき、そこに私の管理者用メールアドレスが表示されます。このページは、Discourse のインストールによって自動的に作成・設置されたもののようです。
その「A」レコードは正しいでしょうか、それとも DigitalOcean の Discourse サーバーを指すべきでしょうか?
ファイアウォールについては何も変更していません。Droplet の UFW ステータスでは、ポート 80 と 443 が開放されていると表示されています。
pfaffman
(Jay Pfaffman)
2020 年 3 月 19 日午後 4:49
5
Digital Oceanのドロップレットを指す必要があります。
こんにちは、Jeff さん。ご返信ありがとうございます。Jay への返信をご覧ください。サブドメインの DNS「A」レコードのことをおっしゃっているのでしょうか?私は cPanel を使ってサブドメインを作成し、その際にドメインの IP を指す「A」レコードが生成されました。この「A」レコードを編集して、Discourse サーバーを指すように変更すればよろしいでしょうか?
「いいね!」 1
pfaffman
(Jay Pfaffman)
2020 年 3 月 19 日午後 5:27
7
これ以上どう説明すればよいのか分かりません。talk.domain.com は、Discourse をインストールしている Digital Ocean のドロプレットと同じ IP アドレスに解決されるべきです。GoDaddy で設定している何かに指すと、Digital Ocean のドロプレットではなく、GoDaddy で設定されているものが表示されてしまいます。
「いいね!」 1
pfaffman
(Jay Pfaffman)
2020 年 3 月 19 日午後 6:33
9
「discourse-setup」でどのような表示をすれば、読むだけで何をすべきか分かるようになるか、提案してくれますか?
@sturdy2 さん、これはどうでしょう?
Discourse のホスト名を入力してください [discourse.example.com]: asdf.com
ドメイン名を確認しています . . .
警告: このサーバーは asdf.com:443 からアクセスできないようです。
警告: http://asdf.com (ポート 80) への接続も失敗しました。
これは、asdf.com が誤った IP アドレスに解決されているか、またはトラフィックがサーバーにルーティングされていないことを示唆しています。
最初に行うべきことは、asdf.com がこのサーバーの IP アドレスに解決されていることを確認することです。
通常、これはドメインを購入した場所で設定します。
IP アドレスの解決が正しいと確信している場合は、ファイアウォールの問題の可能性があります。
「open ports YOUR CLOUD SERVICE」でウェブ検索すると役立つかもしれません。
このツールは最も標準的なインストールのみを対象として設計されています。上記の問題を解決できない場合は、containers/app.yml を自分で編集し、次に以下を入力してください。
./launcher rebuild app
おそらく上記のジェイが言ったことを記載する必要がありますね:
forum.example.com の DNS エントリがこのサーバーの IP アドレスを指していません。forum.example.com がこのサーバーの IP アドレスを指すように、DNS を編集する必要があります。DNS の編集は、おそらく example.com ドメインを購入した同じ場所で行うことになります。
ご自身で対応いただいても構いませんし、私が行っても構いません。
「いいね!」 1
私の理解が間違っている可能性の方が高いと思います。discourse-setup の記述も、ドキュメントやフォーラムの回答の大半も非常に一般的です。ネットワーク全般の知識が不足しているため、書かれていることの多くが私には曖昧に感じられます。特に「このサーバー」という表現についてです。
forum.example.com の DNS エントリが、このサーバー の IP アドレスを指していません。example.com ドメインを購入した場所で DNS を編集し、forum.example.com がこのサーバー の IP アドレスを指すようにする必要があります。
上記の文章では、「このサーバー」がどこを指すのか明確にされていません。文脈からすると、以前に言及された私のドメインサーバーを指しているように見えます。「A レコードを変更して別のドメインを指すようにできる」とは全く知りませんでした(今ではわかりました、ありがとうございます)。もし「Discourse サーバー」と書かれていれば、すぐに理解できたでしょう。
同様に、「DNS レコードを編集する」という表現も問題です。初心者である私は、2 日前まで DNS レコードを編集できること自体を知らず、ましてやどのレコードを編集すべきかもわかりませんでした。「A レコードを Discourse サーバーに指す必要がある」という記述を見逃した可能性はありますが、どこにもそのような記述は見当たりませんでした。Discourse のインストール設定で自動的に必要な設定が行われるものだと思っていました。多くの人には自明のことかもしれませんが、私にはそうではありませんでした……ため息です。
これが何かの助けになれば幸いです。多くのことを学び、またご支援いただいたことに心から感謝しています。
pfaffman
(Jay Pfaffman)
2020 年 3 月 19 日午後 8:53
12
「このサーバー」とは、discourse-setup を実行しているコンピュータを指します。
なるほど、わかりました。できる範囲で対応します。ありがとうございます。
「いいね!」 1