Page 1 of 1

Nicht-interaktive Installation: Parameter --hostname-fqdn unbekannt?

Posted: Thu 15. Aug 2019, 18:22
by Enigma
Hallo,

ich bastele mir gerade ein Vagrantfile für die automatisierte Installation von Ubuntu 18.04 mit KeyHelp. Die manuelle Installation von KeyHelp verlief bei einem Test reibungslos, aber ich würde das gern automatisieren.

Dank Aufruf von

Code: Select all

php /home/keyhelp/www/keyhelp/install/install.php --help

weiß ich, dass das möglich ist. Also habe ich die entsprechenden Parameter übergeben (in einem vom Vagrantfile aufgerufenen Shell-Skript):

Code: Select all

# Parameters:
# $1 = BOX_HOSTNAME
# $2 = KEYHELP_EMAIL
# $3 = KEYHELP_ADMIN_USERNAME
# $4 = KEYHELP_PASSWORD

# Needed for KeyHelp installation
hostname "$1"
apt-get -y install linux-image-extra-virtual
apt-get -y install fail2ban

ROOT_HOME="/root"

[...]

# Disable IPv6 - otherwise the Installation of KeyHelp will hang at some point
echo "Disabling IPv6"
echo "net.ipv6.conf.all.disable_ipv6 = 1
      net.ipv6.conf.default.disable_ipv6 = 1
      net.ipv6.conf.lo.disable_ipv6 = 1
      net.ipv6.conf.eth0.disable_ipv6 = 1" >> /etc/sysctl.conf
sysctl -p

# Get the KeyHelp installer
mkdir "$ROOT_HOME/keyhelp"
cd "$ROOT_HOME/keyhelp"
wget https://install.keyhelp.de/get_keyhelp.php -O installkeyhelp.sh
chmod u+x installkeyhelp.sh

# Install KeyHelp
bash installkeyhelp.sh --non-interactive --notification="$2" --language="DE" --hostname-fqdn="$1" --admin-username="$3" --admin-password="$4" --admin-email="$2"

Als Ausgabe erhalte ich am Ende allerdings:

Code: Select all

    default: -> Installing KeyHelp...
    default: 2019-08-15 08:41:23 URL:https://install.keyhelp.de/files/releases/19.2.1/19.2.1-php71.tar.gz [10019727/10019727] -> "/tmp/keyhelp.tar.gz" [1]
    default:
    default: -> Installing ionCube...
    default: 2019-08-15 08:41:29 URL:http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz [12489348/12489348] -> "/tmp/ioncube.tar.gz" [1]
    default:
    default: -> Run /home/keyhelp/www/keyhelp/install/install.php --installer-version 1  --non-interactive --notification=meinname@meinedomain.tld --language=DE --hostname-fqdn=mein.hostname.test --admin-username=keyadmin --admin-password=****** --admin-email=meinname@meinedomain.tld
    default: Error: Unknown parameter "--hostname-fqdn"
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

Laut Hilfe ist der Parameter aber korrekt:

Code: Select all

# php /home/keyhelp/www/keyhelp/install/install.php --help
Dieses Programm installiert KeyHelp auf Ihrem Server.

Syntax: php install.php [OPTION] ...

Allgemein:
  --help                          Zeigt diese Hilfe an.
  --non-interactive               Installation wird ohne Rückfragen ausgeführt.
  --no-reboot                     Unterbindet den Reboot im Anschluss an die Installation.
  --notification=<EMAIL_ADDRESS>  Sendet nach Abschluss der Installation eine E-Mail an die angegebene E-Mail-Adresse.
  --language=<LANGUAGE_CODE>      Legt die Standardsprache von KeyHelp und seiner Komponenten fest.
  --extended-log                  Protokolliert alles, auch sensible Daten wie Passwörter etc.

Installationsparameter:
  --hostname-fqdn=<SERVER_DOMAIN> Der 'Vollständig qualifizierte Domainname' (FQDN), z.B. 'keyhelp.example.com'.
  --server-fqdn=<SERVER_DOMAIN>   Alias für --hostname-fqdn | Veraltet
  --admin-username=<USERNAME>     Administratorkonto: Loginname für KeyHelp-Oberfläche (min. 5 Zeichen).
  --admin-password=<PASSWORD>     Administratorkonto: Passwort für KeyHelp-Oberfläche (min. 6 Zeichen).
  --admin-email=<EMAIL_ADDRESS>   Administratorkonto: E-Mail-Adresse für automatisch generierte E-Mails.

Stelle ich mich gerade blöd an und übersehe etwas, oder handelt es sich um einen Bug?

Vielen Dank für Hinweise jeglicher Art! :)

Gruß
Jan

Re: Nicht-interaktive Installation: Parameter --hostname-fqdn unbekannt?

Posted: Thu 15. Aug 2019, 20:28
by nikko
Wenn du dieses manuell startest, dann funktioniert es?

Code: Select all

/home/keyhelp/www/keyhelp/install/install.php --installer-version 1  --non-interactive --notification=meinname@meinedomain.tld --language=DE --hostname-fqdn=mein.hostname.test --admin-username=keyadmin --admin-password=****** --admin-email=meinname@meinedomain.tld
Wie sieht es aus, wenn du ohne übergebene Parameter startest?
Ich möchte nur eingrenzen, ob es ein Fehler generell oder in der Parameterübergabe ist, da ich aktuell zunächst keinen Syntaxfehler sehe.

Re: Nicht-interaktive Installation: Parameter --hostname-fqdn unbekannt?

Posted: Thu 15. Aug 2019, 22:53
by Enigma
Danke für Deine Antwort! :)

nikko wrote: Thu 15. Aug 2019, 20:28 Wenn du dieses manuell startest, dann funktioniert es?

Code: Select all

/home/keyhelp/www/keyhelp/install/install.php --installer-version 1  --non-interactive --notification=meinname@meinedomain.tld --language=DE --hostname-fqdn=mein.hostname.test --admin-username=keyadmin --admin-password=****** --admin-email=meinname@meinedomain.tld
Wie sieht es aus, wenn du ohne übergebene Parameter startest?
Ich möchte nur eingrenzen, ob es ein Fehler generell oder in der Parameterübergabe ist, da ich aktuell zunächst keinen Syntaxfehler sehe.

Ich habe jetzt direkt auf der Konsole getestet, sowohl mit der installkeyhelp.sh als auch mit Direktaufruf von "php /home/keyhelp/www/keyhelp/install/install.php". Jedes Mal kam der bekannte Fehler.

Ich habe es dann mit --server-fqdn statt --hostname-fqdn probiert, und das war erfolgreich. Die Ausgabe der Hilfe verstehe ich allerdings andersherum... Ich schätze, da gibt es wohl einen kleinen Bug, entweder im PHP-Code oder in der Hilfe:

Code: Select all

  --hostname-fqdn=<SERVER_DOMAIN> Der 'Vollständig qualifizierte Domainname' (FQDN), z.B. 'keyhelp.example.com'.
  --server-fqdn=<SERVER_DOMAIN>   Alias für --hostname-fqdn | Veraltet

Ich probier's jetzt noch mal mit der kompletten Generierung der Vagrant-Box - das dauert ja ein paar Minuten...

Gruß
Jan

Re: Nicht-interaktive Installation: Parameter --hostname-fqdn unbekannt?

Posted: Fri 16. Aug 2019, 01:37
by Enigma
Okay, damit ist alles klaglos durchgelaufen, KeyHelp funktioniert. Trotz des Parameters --language="DE" wurde KeyHelp in Englisch angezeigt, aber das ist wirklich nur eine Kleinigkeit. Oder hatte ich das zu verwendende Kürzel von meinem händischen Testlauf neulich falsch in Erinnerung?

Das Problem mit dem nicht funktionierenden Parameter --hostname-fqdn sollte allerdings gelegentlich noch geklärt werden.

Gruß
Jan

Re: Nicht-interaktive Installation: Parameter --hostname-fqdn unbekannt?  [GELÖST]

Posted: Fri 16. Aug 2019, 09:11
by Alexander
Grüße und Danke für die Info!

1) Das lag ein Bug im KeyHelp vor, der verhindert das der Parameter "--hostname-fqdn" eingelesen wird. Ihr habt ja schon die Übergangslösung "--server-fqdn" zu verwenden gefunden :). Im nächsten Update wird dann auch, wie unter "--help" angegeben "--hostname-fqdn" akzeptiert.

2) Im "--help" wird suggeriert, das "--language=<LANGUAGE_CODE>" den Code nur in uppercase akzeptiert - Er akzeptiert aktuell aber nur lowercase. Du müsstest also aktuell " --language="de" " verwenden. Künftig spielt dann für diesen Parameter die Groß- und Kleinschreibung keine Rolle mehr.

Re: Nicht-interaktive Installation: Parameter --hostname-fqdn unbekannt?

Posted: Fri 16. Aug 2019, 14:57
by Enigma
Alexander wrote: Fri 16. Aug 2019, 09:11 1) Das lag ein Bug im KeyHelp vor, der verhindert das der Parameter "--hostname-fqdn" eingelesen wird. Ihr habt ja schon die Übergangslösung "--server-fqdn" zu verwenden gefunden :). Im nächsten Update wird dann auch, wie unter "--help" angegeben "--hostname-fqdn" akzeptiert.

Prima, danke!

Alexander wrote: Fri 16. Aug 2019, 09:11 2) Im "--help" wird suggeriert, das "--language=<LANGUAGE_CODE>" den Code nur in uppercase akzeptiert - Er akzeptiert aktuell aber nur lowercase. Du müsstest also aktuell " --language="de" " verwenden. Künftig spielt dann für diesen Parameter die Groß- und Kleinschreibung keine Rolle mehr.

Die Hilfe war's in meinem Fall nicht; ich dachte, ich hätte das so in der interaktiven Installation gesehen und habe daher Großbuchstaben verwendet. Das kann aber durchaus einer mangelnden Gedächtnisleistung geschuldet sein (ich bin ja schon über 50)... ;)

Vielen Dank jedenfalls für die Behebung dieser Punkte!

Gruß
Jan

Re: Nicht-interaktive Installation: Parameter --hostname-fqdn unbekannt?

Posted: Fri 16. Aug 2019, 18:11
by OlliTheDarkness
Enigma wrote: Fri 16. Aug 2019, 14:57
Alexander wrote: Fri 16. Aug 2019, 09:11 1) Das lag ein Bug im KeyHelp vor, der verhindert das der Parameter "--hostname-fqdn" eingelesen wird. Ihr habt ja schon die Übergangslösung "--server-fqdn" zu verwenden gefunden :). Im nächsten Update wird dann auch, wie unter "--help" angegeben "--hostname-fqdn" akzeptiert.

Prima, danke!

Alexander wrote: Fri 16. Aug 2019, 09:11 2) Im "--help" wird suggeriert, das "--language=<LANGUAGE_CODE>" den Code nur in uppercase akzeptiert - Er akzeptiert aktuell aber nur lowercase. Du müsstest also aktuell " --language="de" " verwenden. Künftig spielt dann für diesen Parameter die Groß- und Kleinschreibung keine Rolle mehr.

Die Hilfe war's in meinem Fall nicht; ich dachte, ich hätte das so in der interaktiven Installation gesehen und habe daher Großbuchstaben verwendet. Das kann aber durchaus einer mangelnden Gedächtnisleistung geschuldet sein (ich bin ja schon über 50)... ;)

Vielen Dank jedenfalls für die Behebung dieser Punkte!

Gruß
Jan
Forderst du Grad den Rentner Bonus ein ?
Geschickt geschickt ;)

Re: Nicht-interaktive Installation: Parameter --hostname-fqdn unbekannt?

Posted: Fri 16. Aug 2019, 18:29
by Enigma
OlliTheDarkness wrote: Fri 16. Aug 2019, 18:11 Forderst du Grad den Rentner Bonus ein ?
Geschickt geschickt ;)

Immerhin habe ich auf den Behinderten-Bonus verzichtet, das sollte man mir zugute halten. :mrgreen:

Ich installiere KeyHelp nicht so häufig. Wird bei der interaktiven Installation der Wert für die Sprache nicht in Großbuchstaben angezeigt? Ich habe gerade keine Zeit, das extra noch mal auszuprobieren...

Gruß
Jan