josy38
(Johann Christoph Lindner)
1
こんにちは。
初めて公式の方法で discourse-setup スクリプトを使用して Discourse をインストールしようとしています。Arch VPS(テスト目的でグループと使用)で、nginx は新規インストール済みです。正常にビルドできるように、一時的に停止して無効化しました。
スクリプトは「Checking your domain Name…」で停止します。スクリプトを調べたところ、「connect_to_port」への呼び出しであることがわかりました。おそらくポート 443 に接続しようとしているのだと思います。netcat はインストールされています。シェルで「nc host 443」のように入力すると、出力はなく、何も起こりません。おそらく、外部の nginx が実行されていないため、そのポートに何も接続されていないのだと思います。スクリプトがそこで正確に何をしているのかはわかりません。
そのテストをスキップしようともしましたが、最終的にビルド後に同様の試みが行われ、それも機能しなかったようです。そのため、すべて削除して最初からやり直しました。この netcat 接続テストを実行できるようにするには、どうすればよいでしょうか?おそらく、それが他の問題も解決するかもしれません。
(ひどい英語ですみません。ネイティブスピーカーではありません。)
netcat なしで再度試したところ、ビルドはこのメッセージで終了しました。
docker: Error response from daemon: driver failed programming external connectivity on endpoint app (80e0a31158301339ff7c9567079017bb795b1172ee47e1c6417c29acda3c699a): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 443 -j DNAT --to-destination 172.17.0.2:443 ! -i docker0: Warning: Extension tcp revision 0 not supported, missing kernel module?
Warning: Extension DNAT revision 0 not supported, missing kernel module?
iptables: No chain/target/match by that name.
これは docker の設定問題でしょうか?
pfaffman
(Jay Pfaffman)
2
標準インストールにはnginxを削除する必要があります。Discourseには独自のnginxが含まれているため、別のnginxは不要です(他の理由で必要な場合を除く。その場合、インストールはより複雑になります)。
スクリプトは、ドメイン名を使用して自身に接続しようとします。ドメイン名がVMを指している場合、DNSが正しく、ポート443および80を他に何も使用していないと仮定すると、そのホスト名経由で自身に連絡できるはずです。
チェックを複数回バイパスすると、Let’s Encryptからhttps証明書を取得する試行回数に制限がかかります。
「いいね!」 2
josy38
(Johann Christoph Lindner)
3
ありがとうございます。
マルチサイトセットアップをしたいので、リバースプロキシが必要になります。しかし、ここで見つけた高度なガイドのほとんどは、まず動作する基本的なインストールが必要になります。
より手動でのインストールマニュアルはありますか、それとも、後で構築するために、まずマシンを完全に削減する必要がありますか?
Discourseはこのマシンで実行される唯一のソフトウェアであってはならず、パブリックプロキシレイヤー経由でアクセスしながら、独自のレイヤーに保つ方法のアイデアを得たいだけです。
これはどうせ使い捨てのマシンなので、必ず試してみます。Webアプリケーションのためにこれを行うのは初めてです。「簡単に済ませるため」に。
Jagster
(Jakke Lehtonen)
4
通常通り、proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:; を使用して「外部」nginxでvhostを設定し、そこでSSLを終端します。
次に、app.yml でポートリダイレクトとLet’s Encryptをコメントアウトし、ソケットを使用する必要があります。
nginxを再起動し、Discourseを再構築すると、オープンなフォーラムが利用できるようになります 
手順はこちらにもあります。
「いいね!」 3
josy38
(Johann Christoph Lindner)
5
それは私にとって完全に役立つようです…ありがとう、相棒
それでやってみます…