Certbot: AmazonLinuxでのむンストヌル゚ラヌ

䜜成日 2015幎12月03日  Â·  37コメント  Â·  ゜ヌス: certbot/certbot

走った
./letsencrypt-auto --help --debug
むンストヌルするこずで暗号化できたす。

すべおのパッケヌゞが正垞にむンストヌルされたしたが、次の゚ラヌが発生したす。
仮想環境の䜜成...
letsencryptず仮想環境の䟝存関係を曎新しおいたす......コマンド "/root/.local/share/letsencrypt/bin/python2.7 -c" import setuptools、tokenize; file = '/ dev / shm / pip-build-OslHtf / cffi / setup.py'; execcompilegetattrtokenize、 'open'、open file .read。replace 'rn'、 ' n '、 file 、' exec ' "install --record /tmp/pip-lx9pFX-record/install-record.txt --single-version-externally-managed --compile --install-headers / root / .local / share /letsencrypt/include/site/python2.7/cffi "が/ dev / shm / pip-build-OslHtf / cffiの゚ラヌコヌド1で倱敗したした

䜕か案が アマゟンLinuxのサポヌトは実隓的なものであり、すべおの自動化ツヌルをただ䜿甚する぀もりはありたせんが、少なくずも手動で蚌明曞を生成できれば玠晎らしいず思いたす。

certbot-auto

最も参考になるコメント

pipを介したむンストヌルがオプションであるこずを知りたせんでした。 私はbeanstalkでのcertbotの䜿甚に関するいく぀かのブログ投皿をフォロヌしおいお、䞊蚘のようにスクリプトがそれをダりンロヌドしたした。 おそらくブログの投皿が叀くなっおいたす。 今すぐpipでテスト

# rm -rf /opt/eff.org/*
# pip install -U certbot
# certbot renew --debug

うたくいったようです スクリプトを調敎しお、盎接ダりンロヌドするのではなく、システムpipを䜿甚しおcertbotをむンストヌルしたす。 おそらく、この点でcertbotsの組み蟌みむンストヌラヌ/アップデヌタヌに問題がありたすか

党おのコメント37件

1458から、

最初にpython27-virtualenvパッケヌゞを手動でむンストヌルし、次にRedHatブヌトストラップパスを実行するこずで、Amazon Linux2015.03で倉曎されたletsencrypt-autoを䜿甚しおクラむアントを実行できたした。

私はそれをしたした、そしおそれは働いおいるようです。 sudo yum installpython27-virtualenvおよびsudo./bootstrap/_rpm_common.shを実行する必芁がありたす

@barshinoffこれが1677他のredhatファミリヌディストリビュヌションでcffi䟝存関係をコンパむルするずきのメモリ䞍足゚ラヌに関連しおいるかどうか知りたいです。./letsencrypt-autoがamazonlinux2015.09のクリヌンむンストヌルで機胜するこずを確認したした他に䜕も実行されおいないt2.microむンスタンスの.1および2015.03.1。 これを詊しおいるむンスタンスタむプずAMIは䜕ですか '-v' ./letsencrypt-auto --help --debug -vを䜿甚しお詳现に実行するず、䜕が起こっおいるかに぀いおより倚くの情報が埗られる可胜性がありたす。

こんにちは、アドバむスありがずうございたす。
これはメモリの問題ではありたせん。他に䜕も実行されおいないこずを確認し、40GBのスワップドラむブを接続したこずを確認したす。
すべおのパッケヌゞが曎新された2015.09ディストリビュヌションを実行しおいたす。

最初にpython27-virtualenvパッケヌゞをむンストヌルしおから、 @ kiwimancyによっお提案されたRedHatブヌトストラップパスを実行するず、最初の゚ラヌが発生したした。
私が今受け取る゚ラヌは次のずおりです。
Updating letsencrypt and virtual environment dependencies....... Running with virtualenv: /root/.local/share/letsencrypt/bin/letsencrypt Traceback (most recent call last): File "/root/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module> from letsencrypt.cli import main File "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/letsencrypt/cli.py", line 17, in <module> import OpenSSL ImportError: No module named OpenSSL

同じ2015.09AmazonLinuxで同じ゚ラヌが発生したす。
以䞋は詳现ログです。これが問題の特定に圹立぀こずを願っおいたす。

$ ./letsencrypt-auto help --debug --verbose
Bootstrapping dependencies for Amazon Linux...
yum is /usr/bin/yum
Loaded plugins: priorities, update-motd, upgrade-helper
Package python26-2.6.9-1.80.amzn1.x86_64 already installed and latest version
Package python26-devel-2.6.9-1.80.amzn1.x86_64 already installed and latest version
Package python26-virtualenv-12.0.7-1.10.amzn1.noarch already installed and latest version
Nothing to do
Loaded plugins: priorities, update-motd, upgrade-helper
Package git-2.4.3-6.40.amzn1.x86_64 already installed and latest version
Package gcc-4.8.3-3.20.amzn1.noarch already installed and latest version
Package dialog-1.1-9.20080819.1.5.amzn1.x86_64 already installed and latest version
Package augeas-libs-1.0.0-5.7.amzn1.x86_64 already installed and latest version
Package 1:openssl-devel-1.0.1k-10.87.amzn1.x86_64 already installed and latest version
Package libffi-devel-3.0.13-11.4.amzn1.x86_64 already installed and latest version
Package system-rpm-config-9.0.3-42.27.amzn1.noarch already installed and latest version
Package ca-certificates-2015.2.4-65.0.1.14.amzn1.noarch already installed and latest version
Nothing to do
Creating virtual environment...
Already using interpreter /usr/bin/python2.7
New python executable in /home/ec2-user/.local/share/letsencrypt/bin/python2.7
Also creating executable in /home/ec2-user/.local/share/letsencrypt/bin/python
Installing setuptools, pip...done.
Updating letsencrypt and virtual environment dependencies...
You are using pip version 6.0.8, however version 7.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting setuptools from https://pypi.python.org/packages/3.5/s/setuptools/setuptools-18.7.1-py2.py3-none-any.whl#md5=a793e7b7ad3a91ca796f2e3bbd4ac355
  Using cached setuptools-18.7.1-py2.py3-none-any.whl
Installing collected packages: setuptools
  Found existing installation: setuptools 12.0.5
    Uninstalling setuptools-12.0.5:
      Successfully uninstalled setuptools-12.0.5

Successfully installed setuptools-18.7.1
You are using pip version 6.0.8, however version 7.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-7.1.2-py2.py3-none-any.whl#md5=5ff9fec0be479e4e36df467556deed4d
  Using cached pip-7.1.2-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 6.0.8
    Uninstalling pip-6.0.8:
      Successfully uninstalled pip-6.0.8

Successfully installed pip-7.1.2
Collecting letsencrypt
  Using cached letsencrypt-0.1.0-py2-none-any.whl
Collecting letsencrypt-apache
  Using cached letsencrypt_apache-0.1.0-py2-none-any.whl
Collecting ConfigArgParse from git+https://github.com/kuba/[email protected]#egg=ConfigArgParse (from -r ./py26reqs.txt (line 1))
  Cloning https://github.com/kuba/ConfigArgParse.git (to python2.6-0.9.3) to /tmp/pip-build-3Vgs0V/ConfigArgParse
Collecting acme==0.1.0 (from letsencrypt)
  Using cached acme-0.1.0-py2-none-any.whl
Requirement already up-to-date: setuptools in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt)
Collecting python2-pythondialog>=3.2.2rc1 (from letsencrypt)
  Using cached python2-pythondialog-3.3.0.tar.bz2
Collecting PyOpenSSL (from letsencrypt)
  Using cached pyOpenSSL-0.15.1-py2.py3-none-any.whl
Collecting requests (from letsencrypt)
  Using cached requests-2.8.1-py2.py3-none-any.whl
Collecting parsedatetime (from letsencrypt)
  Using cached parsedatetime-1.5-py2-none-any.whl
Collecting configobj (from letsencrypt)
  Using cached configobj-5.0.6.tar.gz
Collecting pytz (from letsencrypt)
  Using cached pytz-2015.7-py2.py3-none-any.whl
Collecting psutil>=2.1.0 (from letsencrypt)
  Using cached psutil-3.3.0.tar.gz
Collecting six (from letsencrypt)
  Using cached six-1.10.0-py2.py3-none-any.whl
Collecting cryptography>=0.7 (from letsencrypt)
  Using cached cryptography-1.1.1.tar.gz
Collecting zope.interface (from letsencrypt)
  Using cached zope.interface-4.1.3.tar.gz
Collecting zope.component (from letsencrypt)
  Using cached zope.component-4.2.2.tar.gz
Collecting mock (from letsencrypt)
  Using cached mock-1.3.0-py2.py3-none-any.whl
Collecting pyrfc3339 (from letsencrypt)
  Using cached pyRFC3339-1.0-py2.py3-none-any.whl
Collecting python-augeas (from letsencrypt-apache)
  Using cached python-augeas-0.5.0.tar.gz
Collecting pyasn1 (from acme==0.1.0->letsencrypt)
  Using cached pyasn1-0.1.9-py2.py3-none-any.whl
Collecting ndg-httpsclient (from acme==0.1.0->letsencrypt)
  Using cached ndg_httpsclient-0.4.0.tar.gz
Collecting werkzeug (from acme==0.1.0->letsencrypt)
  Using cached Werkzeug-0.11.2-py2.py3-none-any.whl
Collecting idna>=2.0 (from cryptography>=0.7->letsencrypt)
  Using cached idna-2.0-py2.py3-none-any.whl
Collecting enum34 (from cryptography>=0.7->letsencrypt)
  Using cached enum34-1.1.1.tar.gz
Collecting ipaddress (from cryptography>=0.7->letsencrypt)
  Using cached ipaddress-1.0.15-py27-none-any.whl
Collecting cffi>=1.1.0 (from cryptography>=0.7->letsencrypt)
  Using cached cffi-1.3.1.tar.gz
Collecting zope.event (from zope.component->letsencrypt)
  Using cached zope.event-4.1.0.tar.gz
Collecting funcsigs (from mock->letsencrypt)
  Using cached funcsigs-0.4-py2.py3-none-any.whl
Collecting pbr>=0.11 (from mock->letsencrypt)
  Using cached pbr-1.8.1-py2.py3-none-any.whl
Collecting pycparser (from cffi>=1.1.0->cryptography>=0.7->letsencrypt)
  Using cached pycparser-2.14.tar.gz
Installing collected packages: pytz, requests, pyasn1, idna, six, enum34, ipaddress, pycparser, cffi, cryptography, PyOpenSSL, ndg-httpsclient, werkzeug, funcsigs, pbr, mock, pyrfc3339, acme, python2-pythondialog, parsedatetime, configobj, psutil, zope.interface, zope.event, zope.component, ConfigArgParse, letsencrypt, python-augeas, letsencrypt-apache
  Running setup.py install for enum34
  Running setup.py install for pycparser
  Running setup.py install for cffi
  Running setup.py install for cryptography
  Running setup.py install for ndg-httpsclient
  Running setup.py install for python2-pythondialog
  Running setup.py install for configobj
  Running setup.py install for psutil
  Running setup.py install for zope.interface
  Running setup.py install for zope.event
  Running setup.py install for zope.component
  Running setup.py install for ConfigArgParse
  Running setup.py install for python-augeas
Successfully installed ConfigArgParse-0.9.3 PyOpenSSL acme-0.1.0 cffi configobj-5.0.6 cryptography enum34-1.1.1 funcsigs-0.4 idna-2.0 ipaddress-1.0.15 letsencrypt-0.1.0 letsencrypt-apache-0.1.0 mock-1.3.0 ndg-httpsclient-0.4.0 parsedatetime-1.5 pbr-1.8.1 psutil pyasn1-0.1.9 pycparser-2.14 pyrfc3339 python-augeas-0.5.0 python2-pythondialog-3.3.0 pytz-2015.7 requests-2.8.1 six-1.10.0 werkzeug zope.component-4.2.2 zope.event-4.1.0 zope.interface
Running with virtualenv: sudo /home/ec2-user/.local/share/letsencrypt/bin/letsencrypt help --debug --verbose
Traceback (most recent call last):
  File "/home/ec2-user/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module>
    from letsencrypt.cli import main
  File "/home/ec2-user/.local/share/letsencrypt/local/lib/python2.7/dist-packages/letsencrypt/cli.py", line 17, in <module>
    import OpenSSL
ImportError: No module named OpenSSL

https://github.com/letsencrypt/letsencrypt/blob/master/letsencrypt-auto#L181の前に手動でpip install pyOpenSSL pip install cryptographyを远加しお、pyOpenSSLを解決しようずしたしたが、cffiバヌゞョンでスタックしたした非互換性ずあきらめたした。

私にも゚ラヌがありたす

$ ./letsencrypt-auto --apache -d www.3chirurgen.de -d 3chirurgen.de -d incentergy.de -d www.incentergy.de -d shop.incentergy.de
Updating letsencrypt and virtual environment dependencies......Command "/home/ec2-user/.local/share/letsencrypt/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-oV91ZI/cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-GU4tNk-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/ec2-user/.local/share/letsencrypt/include/site/python2.7/cffi" failed with error code 1 in /tmp/pip-build-oV91ZI/cffi
$ uname -a
Linux ip-172-31-11-205 4.1.7-15.23.amzn1.x86_64 #1 SMP Mon Sep 14 23:20:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

@kiwimancyからの解決策が機胜したした

sudo yum install python27-virtualenv
sudo ./bootstrap/_rpm_common.sh
# Output nothing to do

次の問題

$ ./letsencrypt-auto --apache -d www.3chirurgen.de -d 3chirurgen.de -d incentergy.de -d www.incentergy.de -d shop.incentergy.de
Running with virtualenv: sudo /home/ec2-user/.local/share/letsencrypt/bin/letsencrypt --apache -d www.3chirurgen.de -d 3chirurgen.de -d incentergy.de -d www.incentergy.de -d shop.incentergy.de
Traceback (most recent call last):
  File "/home/ec2-user/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module>
    from letsencrypt.cli import main
  File "/home/ec2-user/.local/share/letsencrypt/local/lib/python2.7/dist-packages/letsencrypt/cli.py", line 17, in <module>
    import OpenSSL
ImportError: No module named OpenSSL

解決

$ /home/ec2-user/.local/share/letsencrypt/bin/pip install pyopenssl

次の問題

Complete output from command /home/ec2-user/.local/share/letsencrypt/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-5_HYBt/cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-BxpscI-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/ec2-user/.local/share/letsencrypt/include/site/python2.7/cffi:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/cffi
    copying cffi/ffiplatform.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/api.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/vengine_cpy.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/recompiler.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/vengine_gen.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/setuptools_ext.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/model.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/cparser.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/__init__.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/gc_weakref.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/cffi_opcode.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/lock.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/verifier.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/commontypes.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/backend_ctypes.py -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/_cffi_include.h -> build/lib.linux-x86_64-2.7/cffi
    copying cffi/parse_c_type.h -> build/lib.linux-x86_64-2.7/cffi
    running build_ext
    building '_cffi_backend' extension
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/c
    gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DUSE__THREAD -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-x86_64-2.7/c/_cffi_backend.o
    c/_cffi_backend.c:2:20: fatal error: Python.h: No such file or directory
     #include <Python.h>
                        ^
    compilation terminated.
    error: command 'gcc' failed with exit status 1

    ----------------------------------------
Command "/home/ec2-user/.local/share/letsencrypt/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-5_HYBt/cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-BxpscI-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/ec2-user/.local/share/letsencrypt/include/site/python2.7/cffi" failed with error code 1 in /tmp/pip-build-5_HYBt/cffi

解決

sudo yum install python27-devel

次の問題

apacheプラグむンが機胜しおいたせん。 既存の構成に問題がある可胜性がありたす。
゚ラヌは次のずおりです。NoInstallationError

2015-12-04 08:18:50,797:DEBUG:letsencrypt.cli:Root logging level set at 20
2015-12-04 08:18:50,798:INFO:letsencrypt.cli:Saving debug log to /var/log/letsencrypt/letsencrypt.log
2015-12-04 08:18:50,807:DEBUG:letsencrypt.cli:letsencrypt version: 0.1.0
2015-12-04 08:18:50,807:DEBUG:letsencrypt.cli:Arguments: ['-v', '--debug', '--apache', '-d', 'www.3chirurgen.de', '-d', '3chirurgen.de', '-d', 'incentergy.de', '-d', 'www.incentergy.de', '-d', 'shop.incentergy.de']
2015-12-04 08:18:50,809:DEBUG:letsencrypt.cli:Discovered plugins: PluginsRegistry(PluginEntryPoint#apache,PluginEntryPoint#webroot,PluginEntryPoint#null,PluginEntryPoint#manual,PluginEntryPoint#standalone)
2015-12-04 08:18:50,814:DEBUG:letsencrypt.cli:Requested authenticator apache and installer apache
2015-12-04 08:18:50,820:DEBUG:letsencrypt.plugins.disco:No installation (PluginEntryPoint#apache):
Traceback (most recent call last):
  File "/home/ec2-user/.local/share/letsencrypt/local/lib/python2.7/site-packages/letsencrypt/plugins/disco.py", line 103, in prepare
    self._initialized.prepare()
  File "/home/ec2-user/.local/share/letsencrypt/local/lib/python2.7/site-packages/letsencrypt_apache/configurator.py", line 142, in prepare
    raise errors.NoInstallationError
NoInstallationError
2015-12-04 08:18:50,821:DEBUG:letsencrypt.display.ops:No candidate plugin
2015-12-04 08:18:50,821:DEBUG:letsencrypt.cli:Selected authenticator None and installer None

これに぀いおは埌で掘り䞋げたす。

./letsencrypt-auto -v

Updating letsencrypt and virtual environment dependencies...
Requirement already up-to-date: setuptools in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages
Requirement already up-to-date: pip in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages
Requirement already up-to-date: letsencrypt in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages
Requirement already up-to-date: letsencrypt-apache in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages
Requirement already up-to-date: zope.interface in /home/ec2-user/.local/share/letsencrypt/lib64/python2.7/site-packages (from letsencrypt)
Requirement already up-to-date: setuptools in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt)
Requirement already up-to-date: python2-pythondialog>=3.2.2rc1 in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt)
Collecting PyOpenSSL (from letsencrypt)
  Using cached pyOpenSSL-0.15.1-py2.py3-none-any.whl
Requirement already up-to-date: requests in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt)
Collecting cryptography>=0.7 (from letsencrypt)
  Using cached cryptography-1.1.2.tar.gz
Requirement already up-to-date: parsedatetime in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt)
Requirement already up-to-date: configobj in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt)
Requirement already up-to-date: pytz in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt)
Collecting psutil>=2.1.0 (from letsencrypt)
  Using cached psutil-3.3.0.tar.gz
Requirement already up-to-date: six in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt)
Requirement already up-to-date: acme==0.1.1 in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt)
Requirement already up-to-date: zope.component in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt)
Requirement already up-to-date: mock in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt)
Requirement already up-to-date: ConfigArgParse in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt)
Collecting pyrfc3339 (from letsencrypt)
  Using cached pyRFC3339-1.0-py2.py3-none-any.whl
Requirement already up-to-date: python-augeas in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from letsencrypt-apache)
Requirement already up-to-date: idna>=2.0 in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from cryptography>=0.7->letsencrypt)
Requirement already up-to-date: pyasn1>=0.1.8 in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from cryptography>=0.7->letsencrypt)
Requirement already up-to-date: enum34 in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from cryptography>=0.7->letsencrypt)
Requirement already up-to-date: ipaddress in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from cryptography>=0.7->letsencrypt)
Collecting cffi>=1.1.0 (from cryptography>=0.7->letsencrypt)
  Using cached cffi-1.4.2.tar.gz
Requirement already up-to-date: ndg-httpsclient in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from acme==0.1.1->letsencrypt)
Collecting werkzeug (from acme==0.1.1->letsencrypt)
  Using cached Werkzeug-0.11.3-py2.py3-none-any.whl
Requirement already up-to-date: zope.event in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from zope.component->letsencrypt)
Requirement already up-to-date: funcsigs in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from mock->letsencrypt)
Requirement already up-to-date: pbr>=0.11 in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from mock->letsencrypt)
Requirement already up-to-date: pycparser in /home/ec2-user/.local/share/letsencrypt/lib/python2.7/dist-packages (from cffi>=1.1.0->cryptography>=0.7->letsencrypt)
Installing collected packages: cffi, cryptography, PyOpenSSL, psutil, pyrfc3339, werkzeug
  Running setup.py install for cffi
  Running setup.py install for cryptography
  Running setup.py install for psutil
Successfully installed PyOpenSSL cffi cryptography psutil pyrfc3339 werkzeug
Requesting root privileges to run with virtualenv: sudo /home/ec2-user/.local/share/letsencrypt/bin/letsencrypt -v
Traceback (most recent call last):
  File "/home/ec2-user/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module>
    from letsencrypt.cli import main
  File "/home/ec2-user/.local/share/letsencrypt/local/lib/python2.7/dist-packages/letsencrypt/cli.py", line 17, in <module>
    import OpenSSL
ImportError: No module named OpenSSL

pip install pyopensslはこれを解決したせん。

OK、私はこの問題の解決策を芋぀けたず思いたす。

それはすべお、rootずしお実行するか、sudoを介しお実行するか、pipむンストヌルに耇数のパッケヌゞの堎所を䜿甚するこずになりたすlib / lib64、site-packages / dist-packages、/ usrず/ usr / local。

私はこの同様の問題に遭遇したした
http://stackoverflow.com/questions/33661818/python-virtualenv-importerror-with-celery-and-billiard

Amazon Linuxに同梱されおいるpipずvirtualenvのバヌゞョンは、最新のAMIであっおも叀く、おそらく仮想環境でのlib64 / dist-packagesの凊理方法にバグがありたす。

pipを介しお䞡方のプログラムを曎新しおから仮想環境を再䜜成するず、rootずしおセットアップを実行する堎合sudoを䜿甚しない堎合の問題が修正されるようです。 他のスレッドで提䟛されおいる解決策ず、virtualenvフォルダヌからpipを実行しお䟝存関係を再むンストヌルするための解決策は、原因ではなく症状を修正しおいたす。

ここで報告された同様の問題
https://community.letsencrypt.org/t/letsencrypt-auto-openssl-module-not-found-ec2/4356

䞊蚘のeric-tuckerの゜リュヌションは私にも圹立ちたした。 ありがずう

Googleから来お、最新のAmazon Linux2015.09.1のvirtualenvでコンパむルされたすべおのPythonモゞュヌルで同様の問題が発生したした。

eric-tuckerは正しいです。virtualenvを手動でアップグレヌドするず、ここで圹立ちたす。

原因は環境倉数PYTHON_INSTALL_LAYOUT=amzonであり、デフォルトではAmazon Linuxに蚭定されおいないこずがわかりたした。そうすれば、問題に気付くこずはありたせん。 ただし、これを蚭定するず、デフォルトバヌゞョンのvirtualenvでは機胜しなくなりたす。これは、パッケヌゞがlib64/python2.7/dist-packagesにむンストヌルされ、virtualenvのsite.pyによっお远加されないためです少なくずも、 rpmパッケヌゞ。 lib/python2.7/dist-packagesのみが远加されたす。

少なくずも私にずっお難しい郚分は、どのパッケヌゞがこの倉数を定矩しおいるかを芋぀けるこずでした。 これは、yumによる「 @Developmenttools 」グルヌプ、具䜓的にはsystem-rpm-configパッケヌゞのむンストヌルが原因であるこずが刀明したした。 それほど明癜ではありたせん...

はい 解決したした eric-tuckerありがずうございたす

次のコマンドを実行したした。

# pip install pip --upgrade
# pip install virtualenv --upgrade
# virtualenv -p /usr/bin/python27 venv27 
# . venv27/bin/activate 
# git clone https://github.com/letsencrypt/letsencrypt
# cd letsencrypt
# ./letsencrypt-auto certonly --debug --standalone -d <domain-name>

2017幎の@skatsumataずcertbot-autoに曎新したす。

# rm /root/.local/share/letsencrypt/ -Rf
# pip install pip --upgrade
# pip install virtualenv --upgrade
# virtualenv -p /usr/bin/python27 venv27 
# . venv27/bin/activate 
# ./certbot-auto renew --debug #(or whatever your relevant command is)

これが機胜するためには、 sudo yum install python27-develを実行するだけで枈みたした。ありがずうございたす。

@zarmstrongどうもありがずう、それはうたくいきたす。 ずころで、自動曎新するcronを蚭定したいず思いたす。 あなたの゜リュヌションでそれをどのように行うのですか

これが機胜するかどうかは、テストされおいたせん。 しかし、あなたはそれを詊すこずができたす。

#!/bin/bash
date
cd /root
source venv27/bin/activate
./certbot-auto renew --debug
/etc/init.d/httpd reload

必ず出力をある皮のログにリダむレクトし、それが機胜するこずを確認しおください。

これは、次のリリヌスで4978で修正されるはずです。

@bmwこれが修正されたずは思わない。 次のようにダりンロヌドされた最新バヌゞョンのcertbotを䜿甚したAWSElastic Beanstalk環境でも、これず同じlib / lib64の問題が発生しおいたす。

wget https://dl.eff.org/certbot-auto; chmod a+x certbot-auto

# cat /etc/system-release
Amazon Linux AMI release 2017.09
[root@ip-172-31-10-255 venv]# /certbot/certbot-auto --debug renew
Error: couldn't get currently installed version for /opt/eff.org/certbot/venv/bin/letsencrypt:
Traceback (most recent call last):
  File "/opt/eff.org/certbot/venv/bin/letsencrypt", line 7, in <module>
    from certbot.main import main
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/certbot/main.py", line 10, in <module>
    import josepy as jose
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/josepy/__init__.py", line 41, in <module>
    from josepy.interfaces import JSONDeSerializable
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/josepy/interfaces.py", line 8, in <module>
    from josepy import errors, util
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/josepy/util.py", line 4, in <module>
    import OpenSSL
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import rand, crypto, SSL
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/OpenSSL/rand.py", line 12, in <module>
    from OpenSSL._util import (
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/OpenSSL/_util.py", line 6, in <module>
    from cryptography.hazmat.bindings.openssl.binding import Binding
ImportError: No module named cryptography.hazmat.bindings.openssl.binding

Pythonの䟝存関係にどれほどの問題があるのか​​、そうでないのか、私は困惑しおいたす。

ただし、pipを介しおcertbotをむンストヌルするず、うたくいくず思いたす。 この@utdrmacを詊したしたか 私はそれが私の問題の倚くを解決したこずを知っおいたす。

pipを介したむンストヌルがオプションであるこずを知りたせんでした。 私はbeanstalkでのcertbotの䜿甚に関するいく぀かのブログ投皿をフォロヌしおいお、䞊蚘のようにスクリプトがそれをダりンロヌドしたした。 おそらくブログの投皿が叀くなっおいたす。 今すぐpipでテスト

# rm -rf /opt/eff.org/*
# pip install -U certbot
# certbot renew --debug

うたくいったようです スクリプトを調敎しお、盎接ダりンロヌドするのではなく、システムpipを䜿甚しおcertbotをむンストヌルしたす。 おそらく、この点でcertbotsの組み蟌みむンストヌラヌ/アップデヌタヌに問題がありたすか

正盎なずころ、pipを介したむンストヌルがすべおのオペレヌティングシステムで掚奚されるアプロヌチではない理由はわかりたせん。

virtualenvをセットアップしようずし、半分の時間で惚めに倱敗するファむルのダりンロヌドの元の解決策は、DIAFに必芁です。

゚ラヌは、Pythonパスずdist-packagesの䜿甚にありたす。 dist.pthなどのパス構成を/opt/eff.org/certbot/venv/lib64/python2.7/site-packages/dist.pthに远加できたす。 ただし、 pthファむルは、サむトディレクトリたずえば、 site-packages にある堎合にのみ凊理され、新しく指定されたパス぀たり、dist-packagesにあるpthファむルは凊理されたす。読たない。 次のように/opt/eff.org/certbot/venv/lib64/python2.7/site-packages/にsitecustomize.pyを䜜成したす。

import site
site.addsitedir('/opt/eff.org/certbot/venv/lib64/python2.7/dist-packages')

sitecustomize.pyは、dist-packagesをサむトディレクトリずしお蚭定し、 zope.interface-4.4.3-py2.7-nspkg.pthを正垞に読み取りたす。 これにより、 from zope.interface import Interface゚ラヌImportErrorが回避されたす。

さらに、 /usr/local/bin/certbot-autoがvirtualenv venvを再䜜成するこずを発芋したした。 これにより、回避しようずしおいるのず同じPythonパス゚ラヌが発生したす。 䞊蚘を適甚し、 venvでアクティブ化スクリプトを手動で調達するこずをお勧めしたす。 䟋 . /opt/eff.org/certbot/venv/bin/activate 。

システムレベルのPythonパッケヌゞをバッシングするこずを回避するため、このアプロヌチを奜みたす。

これは䞊蚘ずは異なるこずを蚀っおいるわけではありたせんが、certbot 0.21.1での私にずっおの迅速な修正は、暗号化ハズマットバむンディングをletsencryptのカスタムバヌゞョンのpythonが探しおいる堎所に効果的に「移動」するこずでした。

cd /opt/eff.org/certbot/venv/lib64/python2.7
mv site-packages site-packages.sav
ln -s dist-packages/ site-packages

site-packages / subdirが空なので、これは私にずっおはうたくいきたす。 そしお明確にするために、これはAmazon Linuxの最近のcertbotバヌゞョンで衚瀺される次の゚ラヌに察凊したす。私にずっおはcertbot0.21.0および0.21.1です。

<snip>
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/OpenSSL/_util.py", line 6, in <module>
    from cryptography.hazmat.bindings.openssl.binding import Binding
ImportError: No module named cryptography.hazmat.bindings.openssl.binding

@utdrmacが曞いた答えは、私が最終的に䜿甚したものです、ありがずうマシュヌ

しかし、゚ラヌが発生したした "The requested apache plugin does not appear to be installed"
だから私はした sudo -H pip install certbot-apache

私は同じ゚ラヌがあり、どういうわけかそれを解決したした

python 2ず3の2぀のバヌゞョンのpythonをむンストヌルしおいたので、certbot / letencryptでどちらを䜿甚しおいるかを確認する必芁がありたした。 暗号化をむンポヌトしようずするず゚ラヌが報告されたす。

コマンドラむンで

python
from cryptography.hazmat.bindings._constant_time import lib

むンポヌト゚ラヌがないので、python3でも同じこずをしたしたが、 No module named '_cffi_backend゚ラヌが発生したした。 だから私はpip3でcffiモゞュヌルを簡単にむンストヌルしたした
sudo -H pip3 install cffi

sudo -Hcuzグロヌバルパッケヌゞずしお必芁でした

次にcertbot helpを実行した埌、 urllib3のむンポヌト゚ラヌが発生したした。 それをpip3でむンストヌルするず、すべおが正垞に機胜したす。

誰かがこれが圹立぀こずを願っおいたす

AWS EC2むンスタンスでもこの問題が発生したしたが、 @ utdrmacの゜リュヌションをrootずしお実行するこずで修正されたした。 certbot0.22.0にアップグレヌドしおいたした

解決策をありがずう@utdrmac 。 私はこの2日間、非垞に倚くのこずを詊みおきたしたが、䜕も機胜したせんでした。

今日この問題に遭遇し、さらに@utdrmac゜リュヌションがAmazon Linux AMI2017.09を実行しおいるAWSEC2で機胜しないこずを発芋したした。 最埌のステップで発生する゚ラヌは次のずおりです。

$ sudo certbot renew --debug
/usr/lib64/python2.6/dist-packages/cryptography/__init__.py:26: DeprecationWarning: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. The next version of cryptography will drop support for Python 2.6
  DeprecationWarning
Traceback (most recent call last):
  File "/usr/bin/certbot", line 7, in <module>
    from certbot.main import main
  File "/usr/lib/python2.6/dist-packages/certbot/main.py", line 11, in <module>
    import zope.component
  File "/usr/lib/python2.6/dist-packages/zope/component/__init__.py", line 28, in <module>
    from zope.component.globalregistry import getGlobalSiteManager
  File "/usr/lib/python2.6/dist-packages/zope/component/globalregistry.py", line 18, in <module>
    from zope.interface.registry import Components
  File "/usr/lib64/python2.6/dist-packages/zope/interface/registry.py", line 167
    filtered_state = {k: v for k, v in reduction[2].items()
                             ^
SyntaxError: invalid syntax

certbotを実行するために、新しいPythonをむンストヌルしお利甚するこずで、この゜リュヌションを拡匵する必芁がありたした。

sudo rm -rf /opt/eff.org/*
sudo yum -y install python36 python36-pip python36-libs python36-tools python36-virtualenv
sudo /usr/bin/pip-3.6 install -U certbot
sudo /usr/bin/pip-3.6 install certbot-apache
sudo /usr/local/bin/certbot renew --debug

この提案の各コマンドを個別にsudoするこずに泚意しおください。これは、コマンドをすべおたずめようずするず sudo su -のように、䞀郚の叀いPython蚭定が環境を汚染し、原因ずしおこの䞀連の手順が倱敗したためです。ずにかく、certbotは最終的に倱敗したす。

@wwkimball公平を期すために、私の解決策/問題はElasticBeanstalkに察するものでした。 私もAMI2017.09を実行しおいるようですので、なぜあなたが他の人ず違うのかわかりたせん。

私は同じ問題に遭遇したした。 これが私にずっおそれを解決したものです

/opt/eff.org/certbot/venv/local/bin/pipむンストヌル暗号化むンタヌフェむス

@gmegidishの゜リュヌションは、この問題を修正しおくれたした。

@wwkimballによるhttps://github.com/certbot/certbot/issues/1680#issuecomment-374046383以倖は䜕も機胜したせんでした。
解決しおくれおありがずう 100

FWIW、これは私がAWSLinuxむンスタンスで䜜業するために䞀緒に投げたものです。

#!/bin/bash -x

# If run in cron, add /usr/local to cron's sanitized PATH
export PATH=$PATH:/usr/local/sbin:/usr/local/bin

INSTALLED=/usr/local/bin

$INSTALLED/certbot-auto $@
if [ $? -ne 0 ]; then
  # certbot-auto used venv to install modules, but something
  # about the way it put things together put pieces in a subdir
  # that python doesn't look in by default on AWS Linux. Fix it.
  BASEDIR="/opt/eff.org/certbot/venv/lib64/python2.7"
  cat << "  EOM"
  1. Getting rid of empty $BASEDIR/site-packages.
  2. Create symlink "site-packages" to "dist-packages/".

  EOM

  if [ -d $BASEDIR ]; then
    cd $BASEDIR
    rm -rf site-packages
    ln -s dist-packages/ site-packages
  else
    echo "ERROR: $BASEDIR doesn't exist, python version changed?"
  fi

  $INSTALLED/certbot-auto $@
fi

パス以倖の堎所にcertbot-autoスクリプトをむンストヌルしたい堎合に備えお、 INSTALLED倉数をそのたたにしおおくこずにしたした。 私はそれをrun_certbot.shず呌び、certbot-autoに枡したい匕数を䜿甚しお呌び出したす。

run_certbot.sh renew --debug

@mrballcbありがずう 完璧に動䜜したす。

sudo pip3 install cryptography
sudo pip3 install interface
私のために働いた

./certbot-auto --no-bootstrap

これは私のために働いた

pipメ゜ッドpipを含むpython36を䜿甚しお、Amazon Linux1にcertbotを正垞にむンストヌルしお実行するこずができたした。 yumメ゜ッドで、蚺断胜力を超える以䞋の゚ラヌが発生したした。

Complete!
Creating virtual environment...
Traceback (most recent call last):
  File "<stdin>", line 27, in <module>
  File "<stdin>", line 19, in create_venv
  File "/usr/lib64/python2.7/subprocess.py", line 185, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib64/python2.7/subprocess.py", line 172, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib64/python2.7/subprocess.py", line 394, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.7/subprocess.py", line 1047, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

@ micharu123投皿ありがずうございたす、あなたの解決策は私のために同じ問題を修正したした。 也杯

ここで説明したのず同じ問題がいく぀かありたした。解決策は、「certbot-auto」実行可胜ファむルを/ usr / local / bin /に移動するこずでした。 これにより、AWSサヌバヌ䞊のすべおの゚ラヌが即座に修正されたした。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡