Necesito ayuda para configurar CertBot para LetsEncrypt
Estoy corriendo en CentOS 7 con Python 2.7
Cuando ejecuto certbot me sale el siguiente error:
[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
Por favor ayuda
Gracias
Respuestas:
No intente instalar certbot manualmente en sistemas CentOS / RHEL. Simplemente hace un gran desastre. En su lugar, instálelo desde EPEL.
fuente
pip list 2>/dev/null | grep requests
yrpm -q python-requests --queryformat '%{VERSION}\n'
. Si son diferentes, inténtalopip install --upgrade --force-reinstall 'requests==2.6.0'
.Experimenté este mismo problema dos veces en 2 sistemas Centos7 separados en los últimos 2 meses. Esto es lo que funcionó para mí:
Después de completar estos pasos, pude renovar con éxito mis certificados con certbot.
fuente
UnknownExtra: requests 2.6.0 has no such extra feature 'security'
cuando ejecuto$ certbot certonly ...
Me encuentro con el mismo problema. Usando python venv pude hacer que certbot funcionara usando pip.
Pasos: Instalar virtualenv
Crea un virtualenv
Activa el
certbot
virtualenvSu aviso podría convertirse en algo como esto
(certbot) [root@hostname ~]#
Luego pip install certbot
Una vez completado, puede probar el
certbot
comando bajocertbot
virtualenv, pero esto no es práctico si va a usar cron para configurar las renovaciones de certbot. Así que desactiva el entorno virtual,Ahora ejecute el comando certbot desde
fuente
Esto parece estar funcionando para mí.
Tome un rpm desde aquí: http://rpm.pbone.net/index.php3/stat/4/idpl/31446026/dir/centos_7/com/pyOpenSSL-0.15.1-1.el7.noarch.rpm.html
fuente
La solución correcta es:
Gracias a cnritng frim github.
fuente
No mezcle
yum
paquetes instalados a través depip
unos. La solución apropiada incluye la remoción paquetes PIP e instalar todo desdeyum
. Lo he delineado aquí .¡No necesita una nueva pyOpenSSL en CentOS 7 para ejecutar certbot!
fuente
Tuve el mismo problema en 0.9.3. Fue causado por la instalación del complemento nginx.
Puede reproducir fácilmente una instalación en funcionamiento:
docker run -it --rm centos: centos7 bash yum -y instalar epel-release yum -y instalar certbot certbot -h
fuente
solo lo hice funcionar ejecutando
eliminó la versión 0.13 e instaló la 0.14, luego certbot simplemente funcionó normalmente.
fuente
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.
Parece que la versión de la fuente de epel es demasiado antigua, puede eliminar el certbot de la versión yum e instalarlo por pip
fuente
En lugar de certbot, el cliente letsencrypt me resolvió el problema.
Puede eliminar los otros clientes
Y luego instala letsencrypt:
fuente