Man möchte meinen, es sei eine triviale Aufgabe — aber ich habe gerade zwei Stunden damit vergeudet, den Let’s-Encrypt-Client certbot
unter Red Hat Enterprise Linux 8 (RHEL8) zu installieren. Damit dieser kurze Blog-Beitrag einen Spannungsbogen hat, beginne ich damit, was nicht funktioniert:
EPEL: certbot
befindet sich in der EPEL-Paketquelle. Allerdings gibt es aktuell noch keine EPEL-Paketquelle für RHEL 8. Ich habe stattdessen die EPEL-7-Quelle aktiviert, was grundsätzlich oft funktioniert. yum install python2-certbot-apache
scheitert aber an nicht erfüllbaren Paketabhängigkeiten.
certbot-auto: https://certbot.eff.org/ listet RHEL 8 nicht unter den unterstützten Distributionen auf. Aber unter dem Punkt other Unix empfiehlt die Website, mit wget
das Installations-Script certbot-auto
herunterzuladen und auszuführen. Das funktioniert beinahe, endet aber beim Versuch, certbot
in einem Python-Environment einzurichten, mit einer wenig hilfreichen Fehlermeldung:
certbot-auto --install-only
...
Creating virtual environment...
Traceback (most recent call last):
File "<stdin>", line 27, in <module>
File "<stdin>", line 19, in create_venv
File "/usr/lib64/python2.7/subprocess.py", line 185, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib64/python2.7/subprocess.py", line 172, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib64/python2.7/subprocess.py", line 394, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1047, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Lösung
pip3: Erfolg hatte ich letztlich mit dem Kommando pip3
. Ich sage gleich dazu, dass das nicht die von Red Hat empfohlene Vorgehensweise ist (Quelle). Aber ich habe keinen besseren Weg gefunden, und im Gegensatz zu den bisher empfohlenen Lösungswege klappt es so wenigstens:
yum install python3-pip
pip3 install certbot
pip3 install certbot-apache
/usr/local/bin/certbot --version
certbot 0.35.1
Beachten Sie, dass Sie beim Ausführen von certbot
nun immer den kompletten Pfad angeben müssen, weil das von pip3
genutzte Verzeichnis /usr/local/bin
standardmäßig nicht in der Variablen PATH
enthalten ist.
Einfach getssl [1] (bash) verwenden und glücklich sein ;-)
[1] https://github.com/srvrco/getssl
Geheimtipp : auf RHEL/CentOS 8.1 warten. Bis dahin is der gröbste Unfug ausgebügelt, und man kann einstweilen Baden oder Kraxeln gehen. Liebe Grüße aus dem faulen Südfrankreich. :o)