Saya perlu bantuan mengatur CertBot untuk LetsEncrypt
Saya menjalankan CentOS 7 dengan Python 2.7
Ketika saya menjalankan certbot saya mendapatkan kesalahan berikut:
[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
Tolong bantu
Terima kasih
Jawaban:
Jangan mencoba memasang certbot secara manual pada sistem CentOS / RHEL. Itu hanya membuat kekacauan besar. Sebaliknya, instal dari EPEL.
sumber
pip list 2>/dev/null | grep requests
danrpm -q python-requests --queryformat '%{VERSION}\n'
. Jika mereka berbeda, cobalahpip install --upgrade --force-reinstall 'requests==2.6.0'
.Saya mengalami masalah yang sama ini dua kali pada 2 sistem Centos7 yang terpisah dalam 2 bulan terakhir. Inilah yang bekerja untuk saya:
Setelah menyelesaikan langkah-langkah ini, saya berhasil memperbarui sertifikat saya dengan certbot.
sumber
UnknownExtra: requests 2.6.0 has no such extra feature 'security'
ketika saya mengeksekusi$ certbot certonly ...
Saya mengalami masalah yang sama. Menggunakan python venv saya bisa mendapatkan certbot bekerja menggunakan pip.
Langkah-langkah: Instal virtualenv
Buat virtualenv
Aktifkan
certbot
virtualenvPermintaan Anda mungkin berubah menjadi seperti ini
(certbot) [root@hostname ~]#
Kemudian pip instal certbot
Setelah selesai Anda dapat menguji
certbot
perintah di bawahcertbot
virtualenv, tetapi ini tidak praktis jika Anda akan menggunakan cron untuk mengatur pembaruan certbot. Jadi nonaktifkan lingkungan virtual,Sekarang jalankan perintah certbot dari
sumber
Ini sepertinya bekerja untuk saya.
Ambil rpm dari sini: http://rpm.pbone.net/index.php3/stat/4/idpl/31446026/dir/centos_7/com/pyOpenSSL-0.15.1-1.el7.noarch.rpm.html
sumber
Perbaikan yang benar adalah:
Terima kasih cnritng fith github.
sumber
Jangan campur
yum
paket yang diinstal melaluipip
yang. Perbaikan yang tepat melibatkan menghapus paket pip dan menginstal semuanyayum
. Saya sudah menguraikannya di sini .Anda tidak perlu pyOpenSSL yang lebih baru di CentOS 7 untuk menjalankan certbot!
sumber
Saya memiliki masalah yang sama di 0.9.3. Itu disebabkan oleh menginstal plugin nginx.
Anda dapat dengan mudah mereproduksi instalasi yang berfungsi:
run docker -it --rm centos: centos7 bash yum -y install epel-release yum -y install certbot certbot -h
sumber
hanya membuatnya bekerja dengan berlari
itu menghapus versi 0,13 dan menginstal 0,14, maka certbot hanya berfungsi normal.
sumber
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.
Tampaknya versi sumber epel terlalu tua, Anda dapat menghapus certbot versi yum dan menginstalnya
sumber
Alih-alih certbot, klien letsencrypt memecahkan masalah bagi saya.
Anda dapat menghapus klien lain
Dan kemudian instal letsencrypt:
sumber