Potrzebuję pomocy przy konfigurowaniu CertBota dla LetsEncrypt
Korzystam z CentOS 7 z Python 2.7
Po uruchomieniu certbota pojawia się następujący błąd:
[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
Proszę o pomoc
Dziękuję Ci
Odpowiedzi:
Nie próbuj instalować certbota ręcznie w systemach CentOS / RHEL. Po prostu robi wielki bałagan. Zamiast tego zainstaluj go z EPEL.
źródło
pip list 2>/dev/null | grep requests
irpm -q python-requests --queryformat '%{VERSION}\n'
. Jeśli są różne, spróbujpip install --upgrade --force-reinstall 'requests==2.6.0'
.Ten sam problem wystąpił dwa razy na 2 oddzielnych systemach Centos7 w ciągu ostatnich 2 miesięcy. Oto, co zadziałało dla mnie:
Po wykonaniu tych kroków udało mi się pomyślnie odnowić moje certyfikaty za pomocą certbota.
źródło
UnknownExtra: requests 2.6.0 has no such extra feature 'security'
pojawia się błąd śledzenia: kiedy$ certbot certonly ...
Występuje ten sam problem. Używając Pythona Venv udało mi się uruchomić Certbota przy użyciu pip.
Kroki: zainstaluj virtualenv
Utwórz virtualenv
Aktywuj
certbot
virtualenvTwoje zapytanie może zmienić się w coś takiego
(certbot) [root@hostname ~]#
Następnie pip zainstaluj certbota
Po zakończeniu możesz przetestować
certbot
komendę podcertbot
virtualenv, ale nie jest to praktyczne, jeśli zamierzasz użyć crona do skonfigurowania odnawiania certbota. Dezaktywuj więc środowisko wirtualne,Teraz uruchom polecenie certbot z
źródło
To wydaje się działać dla mnie.
Weź rpm stąd: http://rpm.pbone.net/index.php3/stat/4/idpl/31446026/dir/centos_7/com/pyOpenSSL-0.15.1-1.el7.noarch.rpm.html
źródło
Prawidłowa poprawka to:
Dzięki cnritng frim github.
źródło
Nie mieszaj
yum
zainstalowanych pakietów za pomocąpip
jednego. Prawidłowa poprawka polega na usunięciu pakietów pip i instalacji wszystkiego zyum
. Przedstawiłem to tutaj .Nie potrzebujesz nowszej wersji pyOpenSSL na CentOS 7, aby uruchomić certbota!
źródło
Miałem ten sam problem w wersji 0.9.3. Przyczyną było zainstalowanie wtyczki nginx.
Możesz łatwo odtworzyć działającą instalację:
docker run -it --rm centos: centos7 bash mniam -y zainstaluj epel-release mniam -y zainstaluj certbot certbot -h
źródło
właśnie sprawiłem, że działało
usunął wersję 0.13 i zainstalował 0.14, a następnie certbot po prostu działał normalnie.
źródło
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.
Wygląda na to, że wersja źródła epel jest za stara, możesz usunąć certbota z wersji yum i zainstalować go
źródło
Zamiast tego certbot rozwiązał dla mnie problem letsencrypt.
Możesz usunąć innych klientów
A następnie zainstaluj letsencrypt:
źródło