Discourse-setup: nc のインストールを前提としています

Ran through the install using discourse-setup (I don’t think I ever have yet, so no time like the present!) and the following error showed up:

Checking your domain name . . .
WARNING:: This server does not appear to be accessible at dotest.example.net:443.

A connection to http://dotest.example.net (port 80) also fails.

This suggests that dotest.example.net resolves to the wrong IP address
or that traffic is not being routed to your server.

Google: "open ports YOUR CLOUD SERVICE" for information for resolving this problem.

You should probably answer "n" at the next prompt and disable Let's Encrypt.

This test might not work for all situations,
so if you can access Discourse at http://dotest.example.net, you might try anyway.

I believe this happened as nc isn’t installed so it couldn’t properly run the test. We should ensure nc is available before erroring out on this check.

「いいね!」 3

I totally believe that I assumed that nc was installed and that on some OSs it’s not.

The messages do suggest that it could be wrong. Did Let’s Encrypt work?

What OS is this? What cloud service?

「いいね!」 2

Fresh debian-9 on DO.

Everything else worked A-OK and it’s up and running great! :+1:

「いいね!」 3

Hmm. Then the question becomes, does discourse-doctor install nc just for one test that might not be necessary, or just say, “well, you don’t have nc, so you’re on your own to see that you have ports open and mapped correctly.”?

I don’t like installing software if it’s not necessary. I think I’ll change the message to recommend installing nc if they want it.

@codinghorror? @mpalmer want to weigh in?

Wasn’t this addressed in a different way by @supermathie?

I’m all for this :+1:

I addressed the problem where Discourse’s email test rake task didn’t properly pick up the STARTTLS option. This is separate.

「いいね!」 2

In that case either stop the script and tell them to re-run with nc installed, or print a warning that the check was skipped because nc was not installed?

「いいね!」 2

I was going to let the script continue with the warning, adding the bit about nc. As it is, it does work, it just suggests that it probably won’t.

「いいね!」 4

@pfaffman さん、これを「正常終了」としてクローズしてもよろしいでしょうか?

さて、6 ヶ月が経ちました。‘nc がインストールされていないため、ポートのテストができません’ というメッセージを追加していませんが、他の人からは苦情も出ていません。おそらく、以下の文言で十分でしょう:

     Google: \"open ports YOUR CLOUD SERVICE\" で、この問題の解決に関する情報を検索してください。
    
     次のプロンプトで \"n\" と入力して、Let's Encrypt を無効にするのがよいでしょう。
    
     このテストはすべての状況で機能するとは限りません。
     そのため、http://$HOST で Discourse にアクセスできる場合は、試してみることをお勧めします。

これはバグ :bug: ではなく、Ubuntu を使いたくないほどシステム管理の知識がある人にとっての単なる不便さでした。Ubuntu では期待通りに動作します(他のディストリビューションについては確認していません)。この件については、もう触れないでおくことにします。

「いいね!」 5