Certbot: рдЕрдореЗрдЬрд╝рди рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╕реНрдерд╛рдкрдирд╛ рддреНрд░реБрдЯрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 3 рджрд┐рд╕ре░ 2015  ┬╖  37рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: certbot/certbot

рдореИрдВ рднрд╛рдЧрд╛
./letsencrypt-auto --help --debug
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред

рд╕рднреА рдкреИрдХреЗрдЬ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЧрдП рд▓реЗрдХрд┐рди рдлрд┐рд░ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ:
рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ...
Letsencrypt рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдкрд░реНрдпрд╛рд╡рд░рдг рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрджреНрдпрддрди рдХрд░ рд░рд╣рд╛ рд╣реИ......Command "/root/.local/share/letsencrypt/bin/python2.7 -c "import setuptools, tokenize; рдлрд╝рд╛рдЗрд▓ ='/ dev/shm/pip-build-OslHtf/cffi/setup.py'; рдирд┐рд╖реНрдкрд╛рджрди (рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ (getattr (рдЯреЛрдХрди, 'рдЦреБрд▓рд╛', рдЦреБрд▓рд╛) ( рдлрд╝рд╛рдЗрд▓ )ред рдкрдврд╝реЗрдВ ()ред рдмрджрд▓реЗрдВ ('рдЖрд░рдПрди', ' n'), рдлрд╝рд╛рдЗрд▓ , 'exec'))" рдЗрдВрд╕реНрдЯрд╛рд▓ --record /tmp/pip-lx9pFX-record/install-record.txt --single-version-externally-managed --compile --install-headers /root/ .local/share/letsencrypt/include/site/python2.7/cffi" рддреНрд░реБрдЯрд┐ рдХреЛрдб 1 рдХреЗ рд╕рд╛рде /dev/shm/pip-build-OslHtf/cffi рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛

рдХреЛрдИ рдЙрдкрд╛рдп? рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдЕрдореЗрдЬрд╝реЕрди рд▓рд┐рдирдХреНрд╕ рд╕рдорд░реНрдерди рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╣реИ рдФрд░ рдореИрдВ рд╕рднреА рд╕реНрд╡рдЪрд╛рд▓рди рдЙрдкрдХрд░рдг (рдЕрднреА рддрдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдХрдо рд╕реЗ рдХрдо рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреВрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдкрддрд╛ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдерд╛ред рдореИрдВ рдмреАрдирд╕реНрдЯреЙрдХ рдкрд░ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЙрдирдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬреИрд╕рд╛ рдореИрдВрдиреЗ рдКрдкрд░ рд░рдЦрд╛ рдерд╛ред рд╢рд╛рдпрдж рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкреБрд░рд╛рдирд╛ рд╣реИред рдЕрдм рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг:

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ! рдореИрдВ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реАрдзреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рд┐рд╕реНрдЯрдо рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реВрдВрдЧрд╛ред рд╢рд╛рдпрдж рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рд╕рд░реНрдЯрд┐рдлрд╝рд┐рдХреЗрдЯ рдмрд┐рд▓реНрдЯ-рдЗрди рдЗрдВрд╕реНрдЯреЙрд▓рд░/рдЕрдкрдбреЗрдЯрд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛ рд╣реИ?

рд╕рднреА 37 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

#1458 рд╕реЗ,

рдореИрдВ рдкрд╣рд▓реЗ python27-virtualenv рдкреИрдХреЗрдЬ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ, рдлрд┐рд░ RedHat рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдкрде рдЪрд▓рд╛рдХрд░, Amazon Linux 2015.03 рдкрд░ рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд letsencrypt-auto рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред

рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЖрдкрдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ sudo yum install python27-virtualenv рдФрд░ sudo ./bootstrap/_rpm_common.sh

@barshinoff рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдБ рдЕрдЧрд░ рдпрд╣ #1677 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ (рдЕрдиреНрдп рд░реЗрдбрд╣реИрдЯ-рдкрд╛рд░рд┐рд╡рд╛рд░рд┐рдХ рдбрд┐рд╕реНрдЯреНрд░реЛрдЬрд╝ рдкрд░ cffi рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп рд╕реНрдореГрддрд┐ рддреНрд░реБрдЯрд┐ рд╕реЗ рдмрд╛рд╣рд░) рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА рд╣реИ рдХрд┐ ./letsencrypt-auto рдЕрдореЗрдЬрд╝рди рд▓рд┐рдирдХреНрд╕ 2015.09 рдХреЗ рдХреНрд▓реАрди рдЗрдВрд╕реНрдЯрд╛рд▓ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ .1 рдФрд░ 2015.03.1 t2.micro рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдЖрдк рдХрд┐рд╕ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдХрд╛рд░ рдФрд░ рдПрдПрдордЖрдИ рдкрд░ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрджрд┐ рдЖрдк рдЗрд╕реЗ '-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.09 рдЕрдореЗрдЬрд╝реЕрди рд▓рд┐рдирдХреНрд╕ рдкрд░ рдпрд╣рд╛рдВ рд╡рд╣реА рддреНрд░реБрдЯрд┐ред
рдиреАрдЪреЗ рд╡рд░реНрдмреЛрдЬрд╝ рд▓реЙрдЧ рд╣реИ, рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред

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

рдореИрдВрдиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ pip install pyOpenSSL pip install cryptography рд╕реЗ рдкрд╣рд▓реЗ https://github.com/letsencrypt/letsencrypt/blob/master/letsencrypt-auto#L181 рдЬреЛрдбрд╝рдХрд░ 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

рдЕрдЧрд▓реА рд╕рдорд╕реНрдпрд╛:

рдЕрдкрд╛рдЪреЗ рдкреНрд▓рдЧрдЗрди рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ; рдЖрдкрдХреЗ рдореМрдЬреВрджрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рддреНрд░реБрдЯрд┐ рдереА: 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 рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдареАрдХ рд╣реИ рддреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╣рд▓ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИред

рдпрд╣ рд╕рдм рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рдиреЗ рдпрд╛ рд╕реБрдбреЛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ, рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХрд╛рдзрд┐рдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ (lib/lib64, рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ/рдбрд┐рд╕реНрдЯ-рдкреИрдХреЗрдЬ,/usr рдмрдирд╛рдо/usr/рд╕реНрдерд╛рдиреАрдп)ред

рдореИрдВ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдЖрдпрд╛ рдерд╛:
http://stackoverflow.com/questions/33661818/python-virtualenv-importerror-with-celery-and-billiard

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЕрдореЗрдЬрд╝реЕрди рд▓рд┐рдирдХреНрд╕ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреАрдЖрдИрдкреА рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рд╕рдВрд╕реНрдХрд░рдг, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдирд╡реАрдирддрдо рдПрдПрдордЖрдИ рдореЗрдВ рднреА рдкреБрд░рд╛рдиреЗ рд╣реИрдВ рдФрд░ (рд╕рдВрднрд╡рддрдГ) рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП lib64/dist-packages рдХреЛ рдХреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдмрдЧ рд╣реИрдВред

рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЛрдиреЛрдВ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛, рд╕реЗрдЯрдЕрдк рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рддреЗ рд╕рдордп (рд╕реБрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛) рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдЕрдиреНрдп рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рджрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдкрд╛рдЗрдк рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд▓рдХреНрд╖рдг рдХреЛ рдареАрдХ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдХрд╛рд░рдг рдирд╣реАрдВред

рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдпрд╣рд╛рдВ рдмрддрд╛рдИ рдЧрдИ рд╣реИ:
https://community.letsencrypt.org/t/letsencrypt-auto-openssl-module-not-found-ec2/4356

рдКрдкрд░ рджрд┐рдП рдЧрдП рдПрд░рд┐рдХ-рдЯрдХрд░ рдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд┐рдпрд╛ред рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

Google рд╕реЗ рдпрд╣рд╛рдВ рдЖрдпрд╛ рдерд╛, рдирд╡реАрдирддрдо рдЕрдореЗрдЬрд╝реЕрди рд▓рд┐рдирдХреНрд╕ 2015.09.1 тАЛтАЛрдкрд░ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ рд╕рднреА рд╕рдВрдХрд▓рд┐рдд рдкрд╛рдпрдерди рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВред

рдПрд░рд┐рдХ-рдЯрдХрд░ рд╕рд╣реА рд╣реИ, рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рд╕реЗ рдпрд╣рд╛рдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИред

рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдЕрдкрд░рд╛рдзреА env рдЪрд░ PYTHON_INSTALL_LAYOUT=amzon рдерд╛ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ Amazon Linux рдкрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ - рдФрд░ рдлрд┐рд░ рдЖрдкрдХреЛ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреА рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдпрд╣ рд╕реЗрдЯ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЪреАрдЬреЗрдВ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкреИрдХреЗрдЬ lib64/python2.7/dist-packages рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ site.py рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдирд╣реАрдВ рдЬреЛ рдЗрд╕рд╕реЗ рдЖрддрд╛ рд╣реИ rpm рдкреИрдХреЗрдЬ; рдХреЗрд╡рд▓ lib/python2.7/dist-packages рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рдореБрд╢реНрдХрд┐рд▓ рд╣рд┐рд╕реНрд╕рд╛, рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдерд╛ рдХрд┐ рдХреМрди рд╕рд╛ рдкреИрдХреЗрдЬ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдпрдо рджреНрд╡рд╛рд░рд╛ " @Development Tools" рд╕рдореВрд╣ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ 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>

2017 рдХреЗ рд▓рд┐рдП @skatsumata рдФрд░ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ-рдСрдЯреЛ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:

# 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 рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред BTW рдореИрдВ рдСрдЯреЛ рдирд╡реАрдиреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд░реЙрди рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВ рдЗрд╕реЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд░реВрдВ?

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдЕрдирдЪрд╛рд╣реЗред рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВред

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

рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реЙрдЧ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЗрд╕реЗ рд╣рдорд╛рд░реА рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ #4978 рдХреЗ рд╕рд╛рде рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@bmw рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдЕрднреА рднреА рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд▓реЛрдЪрджрд╛рд░ рдмреАрдирд╕реНрдЯреЙрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ 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

рдореИрдВ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдЪрдХрд┐рдд рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдкрд╛рдпрдерди рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдХрд┐рддрдиреА рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдЖрдк рдкреАрдЖрдИрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪреАрдЬреЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ @utdrmac ? рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдиреЗ рдореЗрд░реЗ рдХрдИ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ рд╣реИред

рдкрддрд╛ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдерд╛ред рдореИрдВ рдмреАрдирд╕реНрдЯреЙрдХ рдкрд░ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЙрдирдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬреИрд╕рд╛ рдореИрдВрдиреЗ рдКрдкрд░ рд░рдЦрд╛ рдерд╛ред рд╢рд╛рдпрдж рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкреБрд░рд╛рдирд╛ рд╣реИред рдЕрдм рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг:

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ! рдореИрдВ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реАрдзреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рд┐рд╕реНрдЯрдо рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реВрдВрдЧрд╛ред рд╢рд╛рдпрдж рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рд╕рд░реНрдЯрд┐рдлрд╝рд┐рдХреЗрдЯ рдмрд┐рд▓реНрдЯ-рдЗрди рдЗрдВрд╕реНрдЯреЙрд▓рд░/рдЕрдкрдбреЗрдЯрд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛ рд╣реИ?

рдореБрдЭреЗ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрдирд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИред

рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдореВрд▓ рд╕рдорд╛рдзрд╛рди рдЬреЛ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдзреЗ рд╕рдордп рдореЗрдВ рдмреБрд░реА рддрд░рд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рдбреАрдЖрдИрдПрдПрдл рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рддреНрд░реБрдЯрд┐ рдЕрдЬрдЧрд░ рдкрде рдФрд░ dist-packages рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рд╣реИред рд╣рдо рдкрде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, dist.pth , рд╕реЗ /opt/eff.org/certbot/venv/lib64/python2.7/site-packages/dist.pth ред рд╣рд╛рд▓рд╛рдВрдХрд┐, pth рдлрд╝рд╛рдЗрд▓реЗрдВ рдХреЗрд╡рд▓ рддрднреА рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ рдЬрдм рд╡реЗ рд╕рд╛рдЗрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, site-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 рдбрд┐рд╕реНрдЯ-рдкреИрдХреЗрдЬ рдХреЛ рд╕рд╛рдЗрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ zope.interface-4.4.3-py2.7-nspkg.pth рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрдврд╝реЗрдЧрд╛ред рдпрд╣ from zope.interface import Interface рддреНрд░реБрдЯрд┐ ImportError рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ /usr/local/bin/certbot-auto рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ venv рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╡рд╣реА рдкрд╛рдпрдерди рдкрде рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА рдЬрд┐рд╕рд╕реЗ рд╣рдо рдмрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ venv рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реЛрд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, . /opt/eff.org/certbot/venv/bin/activate ред

рдореИрдВ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рд╕реНрдЯрдо-рд╕реНрддрд░реАрдп рдкрд╛рдпрдерди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдХреЛрд╕рдиреЗ рд╕реЗ рдмрдЪрддрд╛ рд╣реИред

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдКрдкрд░ рд╕реЗ рдЕрд▓рдЧ рдХреБрдЫ рднреА рдХрд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ 0.21.1 рдкрд░ рдореЗрд░реЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рд╕реБрдзрд╛рд░ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рд╣реИрдЬрд╝рдореИрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ "рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд" рдХрд░рдирд╛ рдерд╛, рдЬрд╣рд╛рдВ рд▓реЗрдЯреНрд╕рдирдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрд╛рдпрдерди рдХрд╛ рдХрд╕реНрдЯрдо рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ:

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

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ/рдЙрдкрджрд┐рд░ рдореЗрд░реЗ рд▓рд┐рдП рдЦрд╛рд▓реА рд╣реИред рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдореЗрдЬрд╝реЕрди рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╣рд╛рд▓ рдХреЗ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдореЗрд░реЗ рд▓рд┐рдП рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ 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

рдореБрдЭреЗ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдереА рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рд╣рд▓ рдХрд┐рдпрд╛

рдЪреВрдБрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдЬрдЧрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдг рдереЗ, рдЕрдЬрдЧрд░ 2 рдФрд░ 3, рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдерд╛ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ / рд▓реЗрдЯреЗрдирдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рд╡рд╣ рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ ....

рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░

python
from cryptography.hazmat.bindings._constant_time import lib

рдХреЛрдИ рдЖрдпрд╛рдд рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ python3 рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ No module named '_cffi_backend рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ pip3 рдХреЗ рд╕рд╛рде cffi рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рд░рд▓рддрд╛ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛
sudo -H pip3 install cffi

sudo -H cuz рдЗрд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдерд╛

рдХрд┐рдпрд╛ certbot help рдЕрдЧрд▓рд╛ рдлрд┐рд░ urllib3 рдХреЗ рд▓рд┐рдП рдЖрдпрд╛рдд рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ pip3 рдХреЗ рд╕рд╛рде рдФрд░ рдЕрдм рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдорджрджрдЧрд╛рд░ рд▓рдЧреЗрдЧрд╛

рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдИрд╕реА 2 рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рднреА рдереА, рдмрд╕ @utdrmac рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдХрд░ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ 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

рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдПрдХ рдирдпрд╛ рдкрд╛рдпрдерди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реЛрдирд╛ рдкрдбрд╝рд╛, рдЗрд╕ рдкреНрд░рдХрд╛рд░:

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 - ), рддреЛ рдЪрд░рдгреЛрдВ рдХрд╛ рдпрд╣ рдХреНрд░рдо рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдкреБрд░рд╛рдиреА рдкрд╛рдпрдерди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдкреНрд░рджреВрд╖рд┐рдд рдХрд░ рджрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдЕрдВрддрддрдГ рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ, рд╡реИрд╕реЗ рднреАред

@wwkimball рдирд┐рд╖реНрдкрдХреНрд╖ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди/рд╕рдорд╕реНрдпрд╛ рд▓реЛрдЪрджрд╛рд░ рдмреАрдирд╕реНрдЯреЙрдХ рдХреЗ рд▓рд┐рдП рдереАред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдПрдордЖрдИ 2017.09 рднреА рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рд╣рд░ рдХрд┐рд╕реА рд╕реЗ рдЕрд▓рдЧ рдХреНрдпреЛрдВ рд╣реИред

рдореИрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдореЗ рдлрдВрд╕ рдЧрдпрд╛ред рдпрд╣рд╛рдБ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

/opt/eff.org/certbot/venv/local/bin/pip рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

@gmegidish рдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред

рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓реЗрдХрд┐рди https://github.com/certbot/certbot/issues/1680#issuecomment -374046383 @wwkimball рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред
рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! :100:

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд▓рд┐рдирдХреНрд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рде рдлреЗрдВрдХ рджрд┐рдпрд╛:

#!/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 рдХрд╣рддрд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЙрди рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдмреБрд▓рд╛рддрд╛ рд╣реВрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ-рдСрдЯреЛ рдореЗрдВ рдкрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

run_certbot.sh renew --debug

@mrballcb рдзрдиреНрдпрд╡рд╛рдж! рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЛред

sudo pip3 install cryptography
sudo pip3 install interface
рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛

./certbot-auto --no-bootstrap

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛

рдореИрдВ рдЕрдореЗрдЬрд╝реЕрди рд▓рд┐рдирдХреНрд╕ 1 рдкрд░ рдкрд╛рдЗрдк рд╡рд┐рдзрд┐ (рдкрд╛рдпрдерди 36 рдЬрд┐рд╕рдореЗрдВ рдкреАрдЖрдИрдкреА рд╢рд╛рдорд┐рд▓ рд╣реИ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдпрдо рд╡рд┐рдзрд┐ рдореЗрдВ рдиреАрдЪреЗ рджреА рдЧрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдЬреЛ рдирд┐рджрд╛рди рдХрд░рдиреЗ рдХреА рдореЗрд░реА рдХреНрд╖рдорддрд╛ рд╕реЗ рдКрдкрд░ рдереАрдВред

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 рдЖрдкрдХреА рдкреЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рддрдп рдХреАред рдЪрд┐рдпрд░реНрд╕

рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдРрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ рдЬрд┐рдирдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╕рдорд╛рдзрд╛рди рдмрд╕ "рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ-рдСрдЯреЛ" рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ /usr/local/bin/ рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдиреЗ рдореЗрд░реЗ AWS рд╕рд░реНрд╡рд░ рдкрд░ рд╣рд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЛ рддреБрд░рдВрдд рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

KeiroD picture KeiroD  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Mattia98 picture Mattia98  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

eonwhite picture eonwhite  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

TheNikomo picture TheNikomo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

marceliwac picture marceliwac  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ