Discourse-setup mit netcat und illegaler Optionskombination?

Verwende das Standard-Installationsverfahren discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub unter Centos 7, aber:

Die Netzwerkverbindung auf den Ports 80 & 443 wird mit nc wie folgt getestet:

    echo -e "HTTP/1.1 200 OK\n\n $VERIFY" | nc -w 4 -l -p $PORT >/dev/null 2>&1 &
    if curl --proto =http -s $HOST:$PORT --connect-timeout 3 | grep $VERIFY >/dev/null 2>&1; then
:

Aber nc schlägt fehl mit

nc: kann -p und -l nicht verwenden

wodurch das Setup-Skript die Nichtverfügbarkeit dieser Ports meldet.

man nc sagt:

     -l      Auf eine eingehende Verbindung warten, anstatt eine Verbindung zu einem entfernten Host herzustellen. Kann nicht zusammen mit einer der Optionen -psxz verwendet werden. Außerdem werden alle mit der Option -w angegebenen Timeouts ignoriert.

Es könnte ein nc-Versionsproblem sein. Ich sehe, dass nc linux command man page nicht besagt, dass es einen Konflikt mit den beiden gibt. Mein Netcat kann zuhören, aber nur mit

nc -w 4 -l <IP-Adresse> <Portnummer>

Ich kann Netcat nicht dazu bringen, mir seine Versionsnummer mitzuteilen :confused:

Ok, es gibt also netcat-traditional und netcat-openbsd, und CentOS wird mit dem ersteren geliefert, während discourse-setup letzteres benötigt. Es scheint keine einfache Möglichkeit zu geben, netcat-openbsd auf CentOS zu bekommen…

Kurz gesagt:
yum remove netcat
yum install nmap-ncat

2 „Gefällt mir“

Das ist ein Grund, warum Ubuntu empfohlen wird.

Aber wie ärgerlich ist es, dass es zwei Netcats gibt? Und Ihre Standard-Netcat scheint besonders schwer zu bedienen zu sein.

Gute Arbeit, das herauszufinden!

1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.