web-dev-qa-db-ja.com

不足しているpyopensslモジュールをletsencryptするためのcertbot

LetsEncrypt用のCertBotの設定についてサポートが必要です

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: [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

助けてください

ありがとうございました

10
cs378

CentOS/RHELシステムにcertbotを手動でインストールしないでください。それは巨大な混乱を引き起こすだけです。代わりに、EPELからインストールしてください。

yum install epel-release
yum install certbot
7
Michael Hampton

私は過去2か月間に2つの別々のCentos7システムで同じ問題を2回経験しました。これは私のために働いたものです:

  • yum remove pyOpenSSL [これはepel経由でインストールされたcertbotを削除します]
  • yum install openssl-devel python-devel [実際に必要な場合とそうでない場合があります]
  • pipインストールcertbot
  • pip install certbot-Apache

これらの手順を完了した後、certbotを使用して証明書を正常に更新することができました。

4
bluemorpho

同じ問題が発生しています。 python venvを使用して、pipを使用してcertbotを動作させることができました。

手順:virtualenvをインストールする

pip install virtualenv --upgrade

Virtualenvを作成する

virtualenv -p /usr/bin/python2.7 certbot

certbot virtualenvをアクティブ化

. /root/certbot/bin/activate

あなたのプロンプトはこのようなものになるかもしれません

(certbot) [root@hostname ~]#

次に、証明書ボットをインストールします

pip install certbot

完了したら、certbot virtualenvの下でcertbotコマンドをテストできますが、cronを使用して証明書ボットの更新を設定する場合、これは実用的ではありません。仮想環境を非アクティブにし、

(certbot) [root@hostname ~]# deactivate

今からcertbotコマンドを実行します

/root/certbot/bin/certbot
3
Danie

これは私のために働いているようです。

ここからrpmを取得します: http://rpm.pbone.net/index.php3/stat/4/idpl/31446026/dir/centos_7/com/pyOpenSSL-0.15.1-1.el7.noarch。 rpm.html

wget ftp://ftp.muug.mb.ca/mirror/centos/7.2.1511/cloud/x86_64/openstack-mitaka/common/pyOpenSSL-0.15.1-1.el7.noarch.rpm
Sudo rpm -Uvh pyOpenSSL-0.15.1-1.el7.noarch.rpm
Sudo yum install certbot
2
user353255

正しい修正は次のとおりです。

mv /usr/lib64/python2.7/site-packages/OpenSSL /usr/lib64/python2.7/site-packages/pyOpenSSL

Cnritng frim githubに感謝します。

2
Tim Duncklee

yumパッケージを介してpipインストール済みパッケージを混在させないでください。適切な修正には、pipパッケージの削除とyumからのすべてのインストールが含まれます。私はそれを概説しました ここ

Certbotを実行するためにCentOS 7で新しいpyOpenSSLを使用する必要はありません。

pip uninstall requests
yum reinstall python-requests

pip uninstall six
yum reinstall python-six

pip uninstall urllib3
yum reinstall python-urllib3
1

実行するだけで機能しました

Sudo pip install pyOpenSSL==0.14.0

0.13バージョンを削除して0.14をインストールすると、certbotは正常に機能しました。

0
ignivs

Epelソースのバージョンが古すぎるようです。yumバージョンのcertbotを削除して、pipでインストールできます

0
yingjia

0.9.3でも同じ問題が発生しました。 nginxプラグインをインストールしたことが原因です。

動作しているインストールを簡単に再現できます。

docker run -it --rm centos:centos7 bash yum -y install epel-release yum -y install certbot certbot -h

0
rhoerbe