Мне нужна помощь в настройке CertBot для LetsEncrypt
Я работаю на CentOS 7 с Python 2.7
Когда я запускаю certbot, я получаю следующую ошибку:
[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: client-dev@letsencrypt.org
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: hs@ox.cx
License: Apache License, Version 2.0
Location: /usr/lib/python2.7/site-packages
Requires: six, cryptography
Пожалуйста, помогите
Спасибо
Ответы:
Не пытайтесь установить certbot вручную в системах CentOS / RHEL. Это просто делает огромный беспорядок. Вместо этого установите его из EPEL.
источник
pip list 2>/dev/null | grep requests
иrpm -q python-requests --queryformat '%{VERSION}\n'
. Если они разные, попробуйтеpip install --upgrade --force-reinstall 'requests==2.6.0'
.Я сталкивался с такой же проблемой дважды на 2 отдельных системах Centos7 за последние 2 месяца. Вот что сработало для меня:
После выполнения этих шагов я смог успешно продлить свои сертификаты с помощью certbot.
источник
UnknownExtra: requests 2.6.0 has no such extra feature 'security'
когда я исполняю$ certbot certonly ...
Я сталкиваюсь с той же проблемой. Используя python venv, я смог заставить работать certbot с помощью pip.
Шаги: Установите virtualenv
Создать виртуал
Активировать
certbot
virtualenvВаше приглашение может превратиться в нечто подобное
(certbot) [root@hostname ~]#
Затем установите pip certbot
После завершения вы можете проверить
certbot
команду подcertbot
virtualenv, но это не практично, если вы собираетесь использовать cron для настройки продлений certbot. Итак, отключите виртуальную среду,Теперь запустите команду certbot из
источник
Кажется, это работает для меня.
Получите обороты отсюда: http://rpm.pbone.net/index.php3/stat/4/idpl/31446026/dir/centos_7/com/pyOpenSSL-0.15.1-1.el7.noarch.rpm.html
источник
Правильное исправление:
Благодаря cnritng от github.
источник
Не смешивайте
yum
установленные пакеты с помощью пакетовpip
. Правильное исправление включает в себя удаление пакетов pip и установку всего изyum
. Я изложил это здесь .Вам не нужен новый pyOpenSSL на CentOS 7 для запуска certbot!
источник
У меня была такая же проблема в 0.9.3. Это было вызвано установкой плагина nginx.
Вы можете легко воспроизвести рабочую установку:
docker run -it --rm centos: centos7 bash yum -y установить epel-release yum -y установить certbot certbot -h
источник
просто заставил это работать, запустив
он удалил версию 0.13 и установил 0.14, затем certbot просто работал нормально.
источник
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.
Кажется, что версия исходного кода epel слишком старая, вы можете удалить certbot из yum-версии и установить его в pip
источник
Вместо certbot, клиент letsencrypt решил для меня проблему.
Вы можете удалить другой клиент (ы)
А затем установите letsencrypt:
источник