„Lets encrypt“ Bulk-Funktion für Plesk (die Zweite)

Gemäß dem Wiki-Eintrag vom „letsencrypt-plesk“-Repository auf Github hat sich der Befehl zum Bezug von „Let’s Encrypt“-Zertifikaten geändert. Die alte Methode funktioniert zwar auch weiterhin, die Frage ist jedoch, wie lange. Zudem möchte ich meine Beiträge gerne aktuell halten.

Um alle in Plesk angelegten Domains und deren www-Subdomain mit einem Zertifikat zu versehen, empfehle ich, bis diese Funktion eventuell bei der Extension selbst implementiert ist, den folgenden Einzeiler:

for i in `mysql -uadmin -p\`cat /etc/psa/.psa.shadow\` psa -Ns -e "select name from domains"`; do plesk bin extension --exec letsencrypt cli.php -d "$i" -d www."$i"; done

Der Befehl ist mit Vorsicht zu genießen.
Der erste Teil kann so getestet werden:

for i in `mysql -uadmin -p\`cat /etc/psa/.psa.shadow\` psa -Ns -e "select name from domains"`; do echo "$i"; done

Hier sollten nun alle Domains, die in Plesk angelegt sind, angezeigt werden.
Der zweite Teil kann so getestet werden:

plesk bin extension --exec letsencrypt cli.php -d domain.tld -d www.domain.tld

Die Domain „domain.tld“ sollte nun inkl. Subdomain „www.domain.tld“ mit einem Zertifikat versehen worden sein.

Hinweis: Diese neue Methode benötigt die „Let’s Encrypt Plesk-Extension“ mindestens in Version 1.3! Ansonsten die alte Methode nutzen.

2 Gedanken zu „„Lets encrypt“ Bulk-Funktion für Plesk (die Zweite)

    1. Hallo,

      grundsätzlich sollte das auch als Cronjob lauffähig sein. Ich habe gerade mal unter CentOS 6 getestet und vermute, dass du im Cronjob ohne die entsprechenden Umgebungsvariablen zu setzen, das „plesk“-Kommando nutzen möchtest. Das geht leider so nicht.

      Korrekt ist, entweder die Umgebungsvariable zu setzen oder den vollständigen Pfad zum „plesk“-Executable zu nutzen. Getestet habe ich die beiden Möglichkeiten, indem ich jede Minute „plesk version“ ausgeführt und dessen Output in eine Datei geschrieben habe.

      Möglichkeit 1: „PATH“-Umgebungsvariable setzen

      Bei mir liegt laut „whereis plesk“, das Executable hier:

      /usr/sbin/plesk

      Im cron-File folgendes über der auszuführenden Zeile hinzufügen:

      PATH=/usr/sbin

      Möglichkeit 2:

      Statt nur „plesk“, den vollständigen Pfad zum Executable angeben:

      Funktioniert:

      * * * * * /usr/sbin/plesk bin extension –exec letsencrypt cli.php -d domain.tld -d http://www.domain.tld

      Funktioniert nicht:

      * * * * * plesk bin extension –exec letsencrypt cli.php -d domain.tld -d http://www.domain.tld

Schreibe einen Kommentar zu Malte Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert