J'ai besoin d'aide pour configurer le CertBot pour LetsEncrypt
Je cours sur CentOS 7 avec Python 2.7
Lorsque j'exécute certbot, j'obtiens l'erreur suivante:
[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
S'il vous plaît, aidez
Je vous remercie
Réponses:
N'essayez pas d'installer manuellement certbot sur les systèmes CentOS / RHEL. Cela fait juste un énorme gâchis. Au lieu de cela, installez-le à partir d'EPEL.
la source
pip list 2>/dev/null | grep requests
etrpm -q python-requests --queryformat '%{VERSION}\n'
. S'ils sont différents, essayezpip install --upgrade --force-reinstall 'requests==2.6.0'
.J'ai rencontré ce même problème deux fois sur 2 systèmes Centos7 distincts au cours des 2 derniers mois. C'est ce qui a fonctionné pour moi:
Après avoir terminé ces étapes, j'ai réussi à renouveler mes certificats avec certbot.
la source
UnknownExtra: requests 2.6.0 has no such extra feature 'security'
lorsque$ certbot certonly ...
Je rencontre le même problème. En utilisant python venv, j'ai pu faire fonctionner certbot en utilisant pip.
Étapes: installer virtualenv
Créer un virtualenv
Activez le
certbot
virtualenvVotre invite pourrait se transformer en quelque chose comme ceci
(certbot) [root@hostname ~]#
Puis pip installez certbot
Une fois terminé, vous pouvez tester la
certbot
commande souscertbot
virtualenv, mais ce n'est pas pratique si vous allez utiliser cron pour configurer les renouvellements de certbot. Alors désactivez l'environnement virtuel,Exécutez maintenant la commande certbot depuis
la source
Cela semble fonctionner pour moi.
Prenez un rpm à partir d'ici: http://rpm.pbone.net/index.php3/stat/4/idpl/31446026/dir/centos_7/com/pyOpenSSL-0.15.1-1.el7.noarch.rpm.html
la source
La solution correcte est:
Merci à cnritng frim github.
la source
Ne mélangez pas les
yum
packages installés viapip
ceux-ci. La bonne solution consiste à supprimer les packages pip et à tout installer à partir deyum
. Je l'ai décrit ici .Vous n'avez pas besoin de pyOpenSSL plus récent sur CentOS 7 pour exécuter certbot!
la source
J'ai eu le même problème en 0.9.3. Cela a été causé par l'installation du plugin nginx.
Vous pouvez facilement reproduire une installation fonctionnelle:
docker run -it --rm centos: centos7 bash yum -y install epel-release yum -y install certbot certbot -h
la source
vient de le faire fonctionner en exécutant
il a supprimé la version 0.13 et installé le 0.14, puis certbot a juste fonctionné normalement.
la source
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.
Il semble que la version de la source epel soit trop ancienne, vous pouvez supprimer le certbot de la version yum et l'installer par pip
la source
Au lieu de certbot, le client letsencrypt a résolu pour moi le problème.
Vous pouvez supprimer les autres clients
Et puis installez letsencrypt:
la source