Preciso de ajuda para configurar o CertBot for LetsEncrypt
Estou executando no CentOS 7 com Python 2.7
Quando executo o certbot, recebo o seguinte erro:
[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 ajude
Obrigado
Respostas:
Não tente instalar o certbot manualmente nos sistemas CentOS / RHEL. Isso apenas faz uma bagunça enorme. Em vez disso, instale-o a partir do EPEL.
fonte
pip list 2>/dev/null | grep requests
erpm -q python-requests --queryformat '%{VERSION}\n'
. Se eles são diferentes, tentepip install --upgrade --force-reinstall 'requests==2.6.0'
.Eu experimentei esse mesmo problema duas vezes em 2 sistemas Centos7 separados nos últimos 2 meses. Isto é o que funcionou para mim:
Após concluir essas etapas, consegui renovar meus certificados com sucesso com o certbot.
fonte
UnknownExtra: requests 2.6.0 has no such extra feature 'security'
quando eu executar$ certbot certonly ...
Estou enfrentando o mesmo problema. Usando python venv, consegui que o certbot funcionasse usando pip.
Etapas: Instale o virtualenv
Crie um virtualenv
Ativar o
certbot
virtualenvSeu prompt pode se transformar em algo assim
(certbot) [root@hostname ~]#
Em seguida, pip instala o certbot
Depois de concluído, você pode testar o
certbot
comando sob ocertbot
virtualenv, mas isso não é prático se você usar o cron para configurar renovações do certbot. Então, desative o ambiente virtual,Agora execute o comando certbot em
fonte
Isso parece estar funcionando para mim.
Pegue um rpm a partir daqui: http://rpm.pbone.net/index.php3/stat/4/idpl/31446026/dir/centos_7/com/pyOpenSSL-0.15.1-1.el7.noarch.rpm.html
fonte
A correção correta é:
Graças ao cnritng frim github.
fonte
Não misture
yum
pacotes instalados por meio de pacotespip
. A correção adequada envolve a remoção de pacotes pip e a instalação de tudoyum
. Eu descrevi aqui .Você não precisa de pyOpenSSL mais recente no CentOS 7 para executar o certbot!
fonte
Eu tive o mesmo problema na 0.9.3. Isso foi causado pela instalação do plugin nginx.
Você pode facilmente reproduzir uma instalação funcional:
docker run -it --rm centos: centos7 bash yum -y instala o epel-release yum -y instala certbot certbot -h
fonte
apenas fez funcionar executando
removeu a versão 0.13 e instalou a 0.14, depois o certbot funcionou normalmente.
fonte
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 a versão da fonte epel é muito antiga, você pode remover o certbot da versão yum e instalar o pip
fonte
Em vez do certbot, o cliente letsencrypt resolveu para mim o problema.
Você pode remover os outros clientes
E instale letsencrypt:
fonte