Certbot: خطأ في التثبيت على أمازون لينكس

تم إنشاؤها على ٣ ديسمبر ٢٠١٥  ·  37تعليقات  ·  مصدر: certbot/certbot

جريت
./letsencrypt-auto - help --debug
لتثبيت يتيح تشفير.

تم تثبيت جميع الحزم بنجاح ولكن حدث الخطأ التالي بعد ذلك:
إنشاء بيئة افتراضية ...
تحديث تبعيات Letsencrypt والبيئة الظاهرية ...... الأمر "/root/.local/share/letsencrypt/bin/python2.7 -c" استيراد أدوات الإعداد ، الرمز المميز ؛ 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 -aged --compile - install-headers / root / .local / share / Letsencrypt / include / site / python2.7 / cffi "فشل مع رمز الخطأ 1 في / dev / shm / pip-build-OslHtf / cffi

اي فكرة؟ أدرك أن دعم amazon linux تجريبي ولا أنوي استخدام جميع أدوات الأتمتة (حتى الآن) ، لكن سيكون من الرائع أن أحصل على الشهادات يدويًا على الأقل.

certbot-auto

التعليق الأكثر فائدة

لم أكن أعرف أن التثبيت عبر النقطة كان خيارًا. كنت أتابع بعض منشورات المدونة حول استخدام certbot على شجرة الفاصولياء ونزلتها نصوصها كما ذكرت أعلاه. ربما بلوق وظيفة قديمة. الاختبار عبر النقطة الآن:

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

يبدو أنه عمل! سوف أقوم بتعديل البرامج النصية الخاصة بي لتثبيت certbot باستخدام نظام pip بدلاً من تنزيله مباشرةً. ربما هناك مشكلة في المثبت / المُحدِّث المدمج في certbots في هذا الصدد؟

ال 37 كومينتر

من # 1458

تمكنت من تشغيل العميل باستخدام برنامج يتيح تشفير تلقائي معدّل على Amazon Linux 2015.03 عن طريق تثبيت حزمة python27-virtualenv يدويًا أولاً ، ثم تشغيل مسار RedHat bootstrap.

لقد فعلت ذلك ويبدو أنه يعمل. تحتاج إلى تشغيل sudo yum ، قم بتثبيت python27-virtualenv و sudo ./bootstrap/_rpm_common.sh

barshinoff أشعر بالفضول إذا كان هذا مرتبطًا على الإطلاق بـ # 1677 (خطأ نفاد الذاكرة عند تجميع تبعيات cffi على توزيعات عائلة redhat الأخرى) لقد تحققت من ذلك. /letsencrypt-auto يعمل على تثبيتات نظيفة لـ amazon linux 2015.09 .1 و 2015.03.1 في مثيلات t2.micro مع عدم تشغيل أي شيء آخر. ما نوع المثيل و AMI الذي تحاول ذلك عليه؟ إذا قمت بتشغيله بشكل مطول باستخدام "-v" ./letsencrypt-auto --help --debug -v فقد يلقي مزيدًا من المعلومات حول ما يحدث.

مرحبا، شكرا على النصيحة.
إنها ليست مشكلة في الذاكرة ، للتأكد من أنني تأكدت من عدم تشغيل أي شيء آخر وتوصيل محرك مبادلة 40 جيجابايت.
أقوم بتشغيل توزيعة 2015.09 مع تحديث جميع الحزم.

تثبيت حزمة python27-virtualenv أولاً ، ثم تشغيل مسار التمهيد RedHat كما اقترحه kiwimancy جعلني أتخطى الخطأ الأولي.
الخطأ الذي أتلقاه الآن هو:
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.09 Amazon Linux.
يوجد أدناه السجل المطول ، آمل أن يساعد ذلك في تحديد المشكلة.

$ ./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

لقد حاولت بصراحة حل pyOpenSSL عن طريق إضافة pip install pyOpenSSL pip install cryptography يدويًا قبل https://github.com/letsencrypt/letsencrypt/blob/master/letsencrypt-auto#L181 ، ولكن عالق مع إصدار 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

المشكلة التالية:

البرنامج المساعد اباتشي لا يعمل. قد تكون هناك مشاكل في التكوين الحالي الخاص بك.
كان الخطأ: 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 لم يحل هذا.

حسنًا ، لذلك أعتقد أنني وجدت حلاً لهذه المشكلة.

يعود الأمر كله إلى التشغيل كجذر أو التشغيل عبر sudo ، واستخدام مواقع الحزم المتعددة لتثبيت النقطة (lib / lib64 ، حزم الموقع / حزم التوزيع ، / usr مقابل / usr / local).

لقد صادفت هذه المشكلة المماثلة:
http://stackoverflow.com/questions/33661818/python-virtualenv-importerror-with-celery-and-billiard

اتضح أن إصدارات pip و virtualenv التي يتم شحنها مع Amazon Linux ، حتى في أحدث AMI ، قديمة و (ربما) بها أخطاء في كيفية التعامل مع حزم lib64 / dist للبيئات الافتراضية.

يبدو أن تحديث كلا البرنامجين عبر النقطة ثم إعادة إنشاء البيئة الافتراضية يعمل على حل المشكلة عند تشغيل الإعداد كجذر (وليس باستخدام sudo). الحلول المقدمة في مؤشرات الترابط الأخرى وهذا الحل لتشغيل النقطة من مجلد virtualenv لإعادة تثبيت التبعيات تعمل على إصلاح الأعراض وليس السبب.

تم الإبلاغ عن مشكلة مماثلة هنا:
https://community.letsencrypt.org/t/letsencrypt-auto-openssl-module-not-found-ec2/4356

حل إيريك تاكر أعلاه كان مفيدًا لي أيضًا. شكرا لك!

جئت هنا من Google ، ولديها مشكلات مماثلة مع جميع وحدات Python المجمعة في Virtualenv على أحدث إصدار من Amazon Linux 2015.09.1.

eric-tucker محق ، ترقية virtualenv يدويًا تساعد هنا.

لقد وجدت أن الجاني كان متغير env PYTHON_INSTALL_LAYOUT=amzon والذي لم يتم تعيينه افتراضيًا على Amazon Linux - ومن ثم لن تلاحظ المشكلة. ولكن بمجرد تعيين هذا ، لا تعمل الأشياء مع الإصدار الافتراضي من virtualenv ، لأن الحزم يتم تثبيتها في lib64/python2.7/dist-packages ولا تتم إضافة هذا بواسطة virtualenv's site.py (على الأقل ليس في الإصدار الذي يأتي من rpm ؛ تمت إضافة lib/python2.7/dist-packages فقط).

كان الجزء الصعب ، على الأقل بالنسبة لي ، هو معرفة الحزمة التي حددت هذا المتغير بالنسبة لي. اتضح أن سبب ذلك هو تثبيت مجموعة " Development tools" بواسطة yum وتحديدًا الحزمة system-rpm-config . ليس بهذا الوضوح ...

نعم! أنا حللت !. شكرا لك إيريك تاكر!

قمت بتشغيل الأمر التالي.

# 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>

التحديث إلى skatsumata لعام 2017 و 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 شكرا جزيلا ، هذا يعمل. راجع للشغل أريد إعداد كرون للتجديد التلقائي. كيف أفعل ذلك بحلك؟

لست متأكدا ما إذا كان هذا سيعمل ، لم يتم اختباره. لكن يمكنك تجربتها.

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

تأكد من إعادة توجيه الإخراج إلى نوع من السجل والتحقق من أنه يعمل.

يجب إصلاح هذا في إصدارنا التالي بالرقم 4978.

bmw لا أعتقد أن هذا قد تم إصلاحه. أواجه نفس مشكلة lib / lib64 هذه لا تزال في بيئات AWS Elastic Beanstalk مع أحدث إصدار من certbot الذي تم تنزيله على النحو التالي:

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

أنا محير من مقدار المشاكل التي نواجهها مع تبعيات بايثون وما لا.

رغم ذلك ، إذا قمت بتثبيت certbot عبر pip ، أعتقد أن الأشياء تعمل. هل جربت هذا utdrmac ؟ أعلم أنها حلت العديد من مشاكلي.

لم أكن أعرف أن التثبيت عبر النقطة كان خيارًا. كنت أتابع بعض منشورات المدونة حول استخدام certbot على شجرة الفاصولياء ونزلتها نصوصها كما ذكرت أعلاه. ربما بلوق وظيفة قديمة. الاختبار عبر النقطة الآن:

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

يبدو أنه عمل! سوف أقوم بتعديل البرامج النصية الخاصة بي لتثبيت certbot باستخدام نظام pip بدلاً من تنزيله مباشرةً. ربما هناك مشكلة في المثبت / المُحدِّث المدمج في certbots في هذا الصدد؟

ليس لدي أي فكرة عن سبب عدم كون التثبيت عبر النقطة هو النهج الموصى به في جميع أنظمة التشغيل.

الحل الأصلي لتنزيل ملف يحاول إعداد virtualenv ويفشل بشكل بائس نصف الوقت الذي يحتاجه DIAF.

الخطأ في مسار بايثون واستخدام dist-packages . يمكننا إضافة تكوين مسار ، على سبيل المثال ، dist.pth ، إلى /opt/eff.org/certbot/venv/lib64/python2.7/site-packages/dist.pth . ومع ذلك ، لا تتم معالجة ملفات pth إلا إذا كانت موجودة في دليل موقع (على سبيل المثال ، ملفات site-packages ) وملفات pth في المسار المعين حديثًا (على سبيل المثال ، حزم التوزيع) لا تقرأ. نقوم بإنشاء sitecustomize.py في /opt/eff.org/certbot/venv/lib64/python2.7/site-packages/ مع ما يلي:

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

يعيّن sitecustomize.py حزم التوزيع كدليل موقع وسيقرأ بنجاح 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 .

أفضل هذا الأسلوب لأنه يتجنب تقريع حزم بيثون على مستوى النظام.

لا يعني هذا شيئًا مختلفًا عما ورد أعلاه ، ولكن الحل السريع بالنسبة لي على certbot 0.21.1 كان "نقل" ارتباطات مخاطر التشفير إلى المكان الذي يبحث فيه الإصدار المخصص لـ Litencrypt من Python:

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

هذا يعمل بالنسبة لي لأن حزم الموقع / subdir فارغ بالنسبة لي. ولكي نكون واضحين ، يعالج هذا الخطأ التالي الذي يظهر في إصدارات certbot الحديثة على Amazon Linux ، بالنسبة لي ، certbot 0.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 ، python 2 و 3 ، كان علي أن أعرف أيهما يستخدم في certbot / letencrypt. سيبلغ هذا الشخص عن خطأ عند محاولة استيراد التشفير ....

في سطر الأوامر

python
from cryptography.hazmat.bindings._constant_time import lib

لا يوجد خطأ في الاستيراد ، لذلك فعلت نفس الشيء مع python3 وحصلت على الخطأ No module named '_cffi_backend . لذلك قمت بتثبيت وحدة cffi مع pip3
sudo -H pip3 install cffi

sudo -H لأنه كان مطلوبًا كحزمة عالمية

فعل certbot help بعد ذلك ، ثم حصل على خطأ في استيراد urllib3 . تثبيت ذلك مع pip3 والآن كل شيء يعمل بشكل جيد.

يأمل أن يجد شخص ما هذا مفيدًا

واجهت هذه المشكلة أيضًا في مثيل AWS EC2 ، تم إصلاحها فقط عن طريق تشغيل حل utdrmac كجذر. تم الترقية إلى certbot 0.22.0

شكرا جزيلا utdrmac على الحل. لقد كنت أحاول أشياء كثيرة خلال اليومين الماضيين ولم ينجح شيء.

واجهت هذه المشكلة اليوم ووجدت أيضًا أن حل utdrmac لا يعمل على AWS EC2 الذي يعمل بنظام Amazon Linux AMI 2017.09. الخطأ الذي واجهته في الخطوة الأخيرة هو:

$ 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 لكي نكون منصفين ، كان الحل / مشكلتي هي Elastic Beanstalk. يبدو أنني أقوم أيضًا بتشغيل AMI 2017.09 لذا لست متأكدًا من سبب اختلافك عن الآخرين.

وقعت في نفس المشكلة. إليك ما حل المشكلة بالنسبة لي:

/opt/eff.org/certbot/venv/local/bin/pip تثبيت واجهة تشفير

حل حل gmegidish لي هذه المشكلة.

لا شيء سوى https://github.com/certbot/certbot/issues/1680#issuecomment -374046383 بواسطة wwkimball يعمل معي.
شكرا على الحل! : 100:

FWIW ، هذا ما جمعته معًا للعمل على مثيل AWS Linux الخاص بي:

#!/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

اخترت ترك المتغير INSTALLED في مكانه في حالة رغبة شخص ما في تثبيت البرنامج النصي certbot-auto في مكان آخر غير المسار. أسميها run_certbot.sh ، وأطلق عليها اسم args التي أريد تمريرها إلى certbot-auto:

run_certbot.sh renew --debug

mrballcb شكرا! يعمل بشكل مثالي.

sudo pip3 install cryptography
sudo pip3 install interface
عملت من أجلي

./certbot-auto - لا تمهيد

هذا عمل لي

تمكنت من تثبيت وتشغيل certbot بنجاح على Amazon Linux 1 عبر طريقة pip (python36 التي تتضمن pip). واجهت طريقة 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 التقييمات