Ich benötige Hilfe beim Einrichten des CertBot für LetsEncrypt
Ich verwende CentOS 7 mit Python 2.7
Wenn ich certbot ausführe, wird folgende Fehlermeldung angezeigt:
[root@li86-193 frappe-bench]#certbot certonly --manual
Traceback (most recent call last):
File "/usr/bin/certbot", line 7, in <module>
from certbot.main import main
File "/usr/lib/python2.7/site-packages/certbot/main.py", line 21, in <module>
from certbot import client
File "/usr/lib/python2.7/site-packages/certbot/client.py", line 10, in <module>
from acme import client as acme_client
File "/usr/lib/python2.7/site-packages/acme/client.py", line 31, in <module>
requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3()
File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 112, in inject_into_urllib3
_validate_dependencies_met()
File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 147, in _validate_dependencies_met
raise ImportError("'pyOpenSSL' module missing required functionality. "
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
[root@li86-193 frappe-bench]# pip show certbot
Name: certbot
Version: 0.11.1
Summary: ACME client
Home-page: https://github.com/letsencrypt/letsencrypt
Author: Certbot Project
Author-email: [email protected]
License: Apache License 2.0
Location: /usr/lib/python2.7/site-packages
Requires: ConfigArgParse, configobj, zope.component, pytz, setuptools, cryptography, zope.interface, pyrfc3339, mock, parsedatetime, six, acme, PyOpenSSL
[root@li86-193 frappe-bench]# pip show pyopenssl
Name: pyOpenSSL
Version: 16.2.0
Summary: Python wrapper module around the OpenSSL library
Home-page: https://pyopenssl.readthedocs.io/
Author: Hynek Schlawack
Author-email: [email protected]
License: Apache License, Version 2.0
Location: /usr/lib/python2.7/site-packages
Requires: six, cryptography
Bitte helfen sie aus
Vielen Dank
Antworten:
Versuchen Sie nicht, certbot manuell auf CentOS / RHEL-Systemen zu installieren. Es macht nur ein großes Durcheinander. Installieren Sie es stattdessen von EPEL.
quelle
pip list 2>/dev/null | grep requests
undrpm -q python-requests --queryformat '%{VERSION}\n'
. Wenn sie unterschiedlich sind, versuchen Sie espip install --upgrade --force-reinstall 'requests==2.6.0'
.Ich habe dasselbe Problem in den letzten 2 Monaten zweimal auf zwei separaten Centos7-Systemen festgestellt. Das hat bei mir funktioniert:
Nach Abschluss dieser Schritte konnte ich meine Zertifikate mit certbot erfolgreich erneuern.
quelle
UnknownExtra: requests 2.6.0 has no such extra feature 'security'
$ certbot certonly ...
Ich habe das gleiche Problem. Mit Python Venv konnte ich Certbot mit Pip zum Laufen bringen.
Schritte: Installieren Sie virtualenv
Erstellen Sie eine virtuelle Umgebung
Aktivieren Sie die
certbot
virtuelle UmgebungIhre Eingabeaufforderung könnte sich in so etwas verwandeln
(certbot) [root@hostname ~]#
Dann pip install certbot
Sobald
certbot
dercertbot
Vorgang abgeschlossen ist, können Sie den Befehl unter virtualenv testen. Dies ist jedoch nicht praktikabel, wenn Sie cron zum Einrichten von Certbot-Erneuerungen verwenden möchten. Deaktivieren Sie also die virtuelle Umgebung.Führen Sie nun den Befehl certbot aus
quelle
Das scheint für mich zu funktionieren.
Holen Sie sich hier eine Drehzahl: http://rpm.pbone.net/index.php3/stat/4/idpl/31446026/dir/centos_7/com/pyOpenSSL-0.15.1-1.el7.noarch.rpm.html
quelle
Die richtige Lösung ist:
Dank cnritng frim github.
quelle
Ich hatte das gleiche Problem in 0.9.3. Es wurde durch die Installation des Nginx-Plugins verursacht.
Sie können eine funktionierende Installation problemlos reproduzieren:
docker run -it --rm centos: centos7 bash yum -y install epel-release yum -y install certbot certbot -h
quelle
Ich habe es einfach zum Laufen gebracht
es entfernte die 0.13 Version und installierte die 0.14, dann funktionierte certbot einfach normal.
quelle
ERROR: Cannot uninstall 'pyOpenSSL'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
Es scheint, dass die Version der Epel-Quelle zu alt ist. Sie können den Certbot der Yum-Version entfernen und per Pip installieren
quelle
Mischen Sie
yum
installierte Pakete nicht überpip
solche. Die richtige Lösung besteht darin, Pip-Pakete zu entfernen und alles von zu installierenyum
. Ich habe es hier skizziert .Sie benötigen kein neueres pyOpenSSL unter CentOS 7, um certbot auszuführen!
quelle
Stattdessen hat certbot der letsencrypt Client für mich das Problem gelöst.
Sie können die anderen Clients entfernen.
Und dann installiere letsencrypt:
quelle