Certbot: рдЧреБрдг: 'рдореЙрдбреНрдпреВрд▓' рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ 'pyopenssl'

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдЕрдЧре░ 2018  ┬╖  35рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: certbot/certbot

рдЬрдм рдореИрдВ рд╕рд░реНрдмреЛрдЯ рдХреЛ рдРрд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ:
sudo certbot --nginx
рдореБрдЭреЗ рдорд┐рд▓рд╛:

Traceback (most recent call last):
  File "/bin/certbot", line 9, in <module>
    load_entry_point('certbot==0.26.1', 'console_scripts', 'certbot')()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 570, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2751, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2405, in load
    return self.resolve()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2411, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/site-packages/certbot/main.py", line 21, in <module>
    from certbot import client
  File "/usr/lib/python2.7/site-packages/certbot/client.py", line 16, in <module>
    from acme import client as acme_client
  File "/usr/lib/python2.7/site-packages/acme/client.py", line 39, in <module>
    urllib3.contrib.pyopenssl.inject_into_urllib3()
AttributeError: 'module' object has no attribute 'pyopenssl'

рдореЗрд░реЗ рдЕрдЬрдЧрд░ рд╕рдВрд╕реНрдХрд░рдг 2.7.12 рдФрд░ рд▓рд┐рдирдХреНрд╕ рдУрдПрд╕: 7.4 рд╣реИ

fedora / redhat / CentOS help wanted

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

рдпрд╣ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ:

pip install requests==2.6.0
easy_install --upgrade pip

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

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдУрдПрд╕ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдФрд░ # 6245 рдореЗрдВ # pip рддрд░рд╣ рд╕рдВрдШрд░реНрд╖ рдХреЗ рдХрд╛рд░рдг рд╣реИред

рдЖрдк рдХрд┐рд╕ Linux OS рдкрд░ рд╣реИрдВ рдФрд░ рдЖрдкрдиреЗ Certbot рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛?

рдореБрдЭреЗ рд╡рд╣реА (рдпрд╛ рдЕрдзрд┐рдХрддрд░ рд╕рдорд╛рди) рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рд╣реИ:

# yum install certbot
...
Running transaction
  Installing : pyOpenSSL-0.13.1-3.el7.x86_64                                                                                                                                                            1/6
  Installing : python2-josepy-1.1.0-1.el7.noarch                                                                                                                                                        2/6
  Installing : python-ndg_httpsclient-0.3.2-1.el7.noarch                                                                                                                                                3/6
  Installing : python2-acme-0.26.1-1.el7.noarch                                                                                                                                                         4/6
  Installing : python2-certbot-0.26.1-2.el7.noarch                                                                                                                                                      5/6
  Installing : certbot-0.26.1-2.el7.noarch                                                                                                                                                              6/6
  Verifying  : pyOpenSSL-0.13.1-3.el7.x86_64                                                                                                                                                            1/6
  Verifying  : python2-josepy-1.1.0-1.el7.noarch                                                                                                                                                        2/6
  Verifying  : python2-acme-0.26.1-1.el7.noarch                                                                                                                                                         3/6
  Verifying  : python2-certbot-0.26.1-2.el7.noarch                                                                                                                                                      4/6
  Verifying  : certbot-0.26.1-2.el7.noarch                                                                                                                                                              5/6
  Verifying  : python-ndg_httpsclient-0.3.2-1.el7.noarch                                                                                                                                                6/6

Installed:
  certbot.noarch 0:0.26.1-2.el7

Dependency Installed:
  pyOpenSSL.x86_64 0:0.13.1-3.el7    python-ndg_httpsclient.noarch 0:0.3.2-1.el7    python2-acme.noarch 0:0.26.1-1.el7    python2-certbot.noarch 0:0.26.1-2.el7    python2-josepy.noarch 0:1.1.0-1.el7     

Complete!
# certbot --version
Traceback (most recent call last):
  File "/bin/certbot", line 9, in <module>
    load_entry_point('certbot==0.26.1', 'console_scripts', 'certbot')()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/usr/lib/python2.7/site-packages/certbot/main.py", line 21, in <module>
    from certbot import client
  File "/usr/lib/python2.7/site-packages/certbot/client.py", line 16, in <module>
    from acme import client as acme_client
  File "/usr/lib/python2.7/site-packages/acme/client.py", line 39, in <module>
    urllib3.contrib.pyopenssl.inject_into_urllib3()
AttributeError: 'module' object has no attribute 'pyopenssl'

OS рд╕рдВрд╕реНрдХрд░рдг: CentOS Linux рд░рд┐рд▓реАрдЬрд╝ 7.5.1804 (рдХреЛрд░)

Edit2: https://github.com/certbot/certbot/issues/6245 рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, python-urllib3 рдХреЛ yum рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг (1.10.2-5.el7) рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рд╕рд┐рдорд▓рд┐рдВрдХ рдирд╣реАрдВ рд╣реИ packages/ssl_match_hostname рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдпрдорд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВред

рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореБрдЭреЗ рдЗрд╕ рддрдХ рд▓реЗ рдЬрд╛рддреА рд╣реИ:

# python
Python 2.7.5 (default, Jul 13 2018, 13:06:57)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib3.contrib.pyopenssl
>>> urllib3.contrib.pyopenssl.inject_into_urllib3()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 118, in inject_into_urllib3                                                                                                   
    _validate_dependencies_met()
  File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 153, in _validate_dependencies_met                                                                                            
    raise ImportError("'pyOpenSSL' module missing required functionality. "
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
>>>
# yum info pyOpenSSL
...
Installed Packages
Name        : pyOpenSSL
Arch        : x86_64
Version     : 0.13.1
Release     : 3.el7
Size        : 628 k
Repo        : installed

рддреЛ рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ urllib3.contrib.pyopenssl pyOpenSSL v0.14 рдкрд░ рдПрдХ рдореВрдХ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ Centos7 рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: https://cbs.centos.org/koji/buildinfo?buildID=1500 рд╕реЗ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг (0.15.1) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрдкрд░реЛрдХреНрдд рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рдорд╛рдгрд┐рддрдмреЛрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рддреНрд░реБрдЯрд┐ рдирд╣реАрдВред

usr/lib/python2.7/site-packages/acme/client.py рд╕рд╛рде рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдореБрдЭреЗ рдЗрд╕ рдЦреЛрдЬ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЬрдм рдореИрдВ from requests_toolbelt.adapters.source import SourceAddressAdapter рдЖрдпрд╛рдд рдХреА рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рддреНрд░реБрдЯрд┐ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИ!
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рдореИрдВ рдПрдХ source_address рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реВрдВ, рддрдм рддрдХ рдореИрдВ рдЗрд╕ рдЧреИрд░-рд╕реВрдХреНрд╖реНрдо рдирд┐рд░реНрдзрд╛рд░рдг рдХреЗ рд╕рд╛рде рджреВрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред :)

@ github-abcde, рдореИрдВ https://community.letsencrypt.org рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛

python -c 'import requests; requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3()'

рддрдерд╛

python -c 'import urllib3.contrib.pyopenssl; urllib3.contrib.pyopenssl.inject_into_urllib3()'

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

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, python-urllib3 1.10.2-5.el7 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, /usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py рдПрдХ рдЕрдкрд╡рд╛рдж рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ pyOpenSSL рд╕рдВрд╕реНрдХрд░рдг 0.14 рд╕реЗ рдХрдо рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдкреИрдХреЗрдЬ рдХрд╛ рдорд┐рд╢реНрд░рдг рд╣реИред Https://community.letsencrypt.org рдкрд░ рдПрдХ рдмрдбрд╝рд╛ рд╕рдореБрджрд╛рдп рд╣реИ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рддреБрдо рд╕рд╣реА рд╣реЛред рдХреБрдЫ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдХрд┐ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ pip3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ python -m pip ... python2.7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ urllib3/conrtib/pyopenssl.py рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ ... рдзрдиреНрдпрд╡рд╛рдж рдЕрдкрдиреЗ рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдЖрдЧреЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ :)

рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдореЗрд░реЗ рдпрд╣рд╛рдБ рд╣реИред

рдлрд╝рд╛рдЗрд▓ "/usr/lib/python2.7/site-packages/acme/client.py", рдкрдВрдХреНрддрд┐ 39, рдореЗрдВ
urllib3.contrib.pyopenssl.inject_into_urllib3 ()
рдЧреБрдг: 'рдореЙрдбреНрдпреВрд▓' рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ 'pyopenssl'

рд╕реЗрдВрдЯреЛрд╕ 7.3

рдпрд╣ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ:

pip install requests==2.6.0
easy_install --upgrade pip

рдореИрдВ рдпрд╣ рдЕрдм рднреА рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБред рдПрдХ рддрд╛рдЬрд╛ рд╕реЗрдВрдЯреЛрд╕ 7 рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдХреБрдЫ рднреА рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╕рд░реНрдмреЛрдЯ

рд▓рд┐рдирдХреНрд╕ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ.рд▓реЛрдХрд▓реЛрдореЗрди 3.10.0-862.2.3.el7.x86_64 # 1 рдПрд╕рдПрдордкреА рдмреБрдз 9 рдордИ 18:05:47 рдпреВрдЯреАрд╕реА 2018 x86_64 x86_64 x86_64 GNU / Linux

@monkeyWie рдХреА рдЯрд┐рдк рдореЗрд░реЗ рд▓рд┐рдП

[ vagrant @ localhost ~] $ рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдЕрдиреБрд░реЛрдз == 2.6.0
рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрддреБрд╖реНрдЯ: рдЕрдиреБрд░реЛрдз == 2.6.0 in /rr/lib/python2.7/site-packages

рдореИрдВ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рддрдХ рд╕рд┐рд░реНрдл рд╕рд░реНрдмреЛрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬрдм рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рдирдП рд╕реЗрдВрдЯреЛ 7 рдмрд┐рд▓реНрдб рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдкрд╛ рд╕рдХрддрд╛ рдерд╛ред

vagrant<strong i="14">@localhost</strong> ~]$ sudo certbot --nginx
Traceback (most recent call last):
  File "/usr/bin/certbot", line 9, in <module>
    load_entry_point('certbot==0.27.1', 'console_scripts', 'certbot')()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 484, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2714, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2332, in load
    return self.resolve()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2338, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/site-packages/certbot/main.py", line 21, in <module>
    from certbot import client
  File "/usr/lib/python2.7/site-packages/certbot/client.py", line 16, in <module>
    from acme import client as acme_client
  File "/usr/lib/python2.7/site-packages/acme/client.py", line 36, in <module>
    requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3()  # type: ignore
  File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 118, in inject_into_urllib3
    _validate_dependencies_met()
  File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 153, in _validate_dependencies_met
    raise ImportError("'pyOpenSSL' module missing required functionality. "
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.

рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рджреЛрдиреЛрдВ yum рдФрд░ pip рд╕реЗ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕рдВрдХреБрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреЗ рд╣реИрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрдЬрдЧрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк https://community.letsencrypt.org рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣рд╛рдВ рдПрдХ рдмрдбрд╝рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдзрд╛рд░ рд╣реИ рдЬреЛ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред

рдореЗрд░реЗ рдкрд╛рд╕ рд╕реЗрдВрдЯреЛрд╕ 7.6 рдХреА рдПрдХ рд╕рд╛рдл рд╕реНрдерд╛рдкрдирд╛ рдереА рдФрд░ рдПрдкреЗрд▓ рд░реЗрдкреЛ рд╕реЗ рд╕рд░реНрдмреЛрдЯ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред рд░рди рдХрд░рдХреЗ рдлрд┐рдХреНрд╕реНрдб рдореБрджреНрджрд╛
pip install requests==2.6.0

рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИред

рд╡рд╣реАред
CentOS рд▓рд┐рдирдХреНрд╕ рд░рд┐рд▓реАрдЬрд╝ 7.6.1810 (рдХреЛрд░)
рдЗрдВрд╕реНрдЯреЙрд▓:

sudo yum install certbot python2-certbot-nginx

рдФрд░ рднрд╛рдЧ рдЦрдбрд╝рд╛ рд╣реБрдЖ:

# certbot --help
Traceback (most recent call last):
  File "/usr/bin/certbot", line 9, in <module>
    load_entry_point('certbot==0.31.0', 'console_scripts', 'certbot')()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/usr/lib/python2.7/site-packages/certbot/main.py", line 21, in <module>
    from certbot import client
  File "/usr/lib/python2.7/site-packages/certbot/client.py", line 16, in <module>
    from acme import client as acme_client
  File "/usr/lib/python2.7/site-packages/acme/client.py", line 40, in <module>
    urllib3.contrib.pyopenssl.inject_into_urllib3()
AttributeError: 'module' object has no attribute 'pyopenssl'

рдпрд╣ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ:

pip install requests==2.6.0
easy_install --upgrade pip

рд╕реЗрдВрдЯреЛрд╕ 7 рдкрд░ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛

рдорд╛рдирд╛ред рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд╛рдкрдирд╛ред рдХреЛрдИ рдЗрд╕реЗ рдХрд╛рд░реНрдпрд╢реАрд▓ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред

рд╕реВрд░реНрдп рдкрд░, 14 рдЕрдкреНрд░реИрд▓ 2019, 07:54 рдорд╛рдЗрдХрд▓ рд▓рд┐рдВрдбрдирд░, рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдпрд╣ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ:

рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдЕрдиреБрд░реЛрдз == 2.6.0
easy_install - рдЕрдиреБрдкрд▓рдмреНрдз рдкрд╛рдЗрдк

рд╕реЗрдВрдЯреЛрд╕ 7 рдкрд░ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/certbot/certbot/issues/6328#issuecomment-4829221708
рдпрд╛ рдзрд╛рдЧрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AMsov79Wu4KJJLs0jJUN-fhs6WO2YROuks5vgsKzgaJpZM4WS5bq
ред

рдпрджрд┐ рдХреЛрдИ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдбреЙрдХрдЯрд░ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬ рдореЗрдВ, рдореИрдВ рдПрдХ рдФрд░ рд░реВрдк рд▓реЗрдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрди рд╣реЛрдКрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдиреЗ рдХрдИ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рд╣реЛрдВред

рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рджреЛрдиреЛрдВ yum рдФрд░ pip рд╕реЗ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ pip рд╕рд╛рде рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ yum рд╕рд╛рде рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрджреНрджрд╛ред

рдореИрдВ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕реЗрдВрдЯреЛрд╕ 7.6 рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕рд╛рдл рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ
рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдИрдкреАрдПрд▓ рд░реЗрдкреЛред

рд╕реЛрдо рдкрд░, 15 рдЕрдкреНрд░реИрд▓ 2019, 19:35 рдмреНрд░реИрдб рд╡реЙрд░реЗрди, рд╕реВрдЪрдирд╛рдПрдВ @github.com рдиреЗ рд▓рд┐рдЦрд╛:

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

рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдпрдо рдФрд░ рдкрд╛рдЗрдк рдФрд░ рд╕реЗ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреБрдирдГ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛
yum рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/certbot/certbot/issues/6328#issuecomment-483346939 ,
рдпрд╛ рдзрд╛рдЧрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AMsovzeRLjz2j0odmgWGxyyAVy9VBp3Tks5vhLhLgaJpZM4WS5Gq
ред

рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдореБрджреНрджрд╛ (рд╕реЗрдВрдЯреЛ) рдерд╛
[bob<strong i="6">@bla</strong> ~]# certbot renew 2>&1 | tail -2 urllib3.contrib.pyopenssl.inject_into_urllib3() AttributeError: 'module' object has no attribute 'pyopenssl'
рдФрд░ рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ
[bob<strong i="10">@bla</strong> ~]# pip install requests==2.6.0 -bash: pip: command not found

рдореИрдВ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП EPEL рд░реЗрдкреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП Centos 7.6 рдХреА рдПрдХ рд╕рд╛рдл рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдЗрд╕реЗ рдбреЙрдХрд░ рдпрд╛ рд╡реАрдкреАрдПрд╕ рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

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

python -c 'import certbot, requests, urllib3, OpenSSL; print("certbot :", certbot.__version__); print("requests: ", requests.__version__); print("urllib3 :", urllib3.__version__); print("OpenSSL :", OpenSSL.__version__)'
ls /usr/lib/python2.7/site-packages/urllib3/contrib

рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдпрд╣ рд╕реЗрдВрдЯреЛрд╕ 7 рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рджреВрд╕рд░рд╛ рдХреНрд▓реАрди рдЗрдВрд╕реНрдЯрд╛рд▓ рд╣реИред

рдЗрд╕ рдмрд╛рд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдореИрдВрдиреЗ рдиреНрдпреВрдирддрдо рдЖрдИрдПрд╕рдУ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд╛рдл рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Centos рдЕрдиреБрд░реЛрдз рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд 2.6 рд╣реИред рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
python2-requests-2.6.0-0.el7.noarch

[root<strong i="9">@centos7</strong> ~]# python -c 'import certbot, requests, urllib3, OpenSSL; print("certbot :", certbot.__version__); print("requests: ", requests.__version__); print("urllib3 :", urllib3.__version__); print("OpenSSL :", OpenSSL.__version__)'
('certbot :', '0.31.0')
('requests: ', '2.6.0')
('urllib3 :', '1.10.2')
('OpenSSL :', '0.13.1')
[root<strong i="10">@centos7</strong> ~]# ls /usr/lib/python2.7/site-packages/urllib3/contrib
__init__.py  __init__.pyc  __init__.pyo  ntlmpool.py  ntlmpool.pyc  ntlmpool.pyo  pyopenssl.py  pyopenssl.pyc  pyopenssl.pyo
[root<strong i="11">@centos7</strong> ~]# certbot
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Certbot doesn't know how to automatically configure the web server on this system. However, it can still get a certificate for you. Please run "certbot certonly" to do so. You'll need to manually configure your web server to use the resulting certificate.

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╕реЗрдВрдЯреЛрд╕ 7.6 рдкрд░ рдУрд╡реЗрд░рд┐рдЯ 4.3 рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИред рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ

from EPEL:
certbot-0.31.0-2.el7.noarch

from ovirt-4.3-centos-opstools:
python2-requests-2.19.1-4.el7.noarch 
python2-pyOpenSSL-17.3.0-3.el7.noarch

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЕрдЬреАрдм urllib3.contrib рдирд╛рдорд╕реНрдерд╛рди рдпрд╛ рдХреБрдЫ рдФрд░ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ?

>>> import requests
>>> requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'pyopenssl'
>>> import urllib3.contrib.pyopenssl
>>> urllib3.contrib.pyopenssl.inject_into_urllib3()
>>> dir(urllib3.contrib)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', 'pyopenssl', 'socks']
>>> from acme import client as acme_client
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/acme/client.py", line 40, in <module>
    urllib3.contrib.pyopenssl.inject_into_urllib3()
AttributeError: 'module' object has no attribute 'pyopenssl'
>>> dir(urllib3.contrib)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', 'appengine']

рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдЬрдм рдореИрдВ acme/client.py рдореЗрдВ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ:

if sys.version_info < (2, 7, 9):  # pragma: no cover
    import requests.packages.urllib3.contrib.pyopenssl  # pylint: disable=import-error
    requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3()  # type: ignore

рдпрд╣ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ:

pip install requests==2.6.0
easy_install --upgrade pip

рдореЗрд░реЗ рд▓рд┐рдП CentOS 7 рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛

рдзрдиреНрдпрд╡рд╛рдж @monkeyWie - рдореЗрд░реЗ рд▓рд┐рдП CentOS7 рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛

рдпрд╣ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ:

pip install requests==2.6.0
easy_install --upgrade pip

pip install acme
рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗрдВрдЯреЛрд╕ 7 рдкрд░ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛

рддреНрд░реБрдЯрд┐: рдкреНрд░рдорд╛рдг рдкрддреНрд░ 1.0.0 рдХреЗ рд▓рд┐рдП acme> = 0.40.0 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИред

рдкреАрдПрд╕ рд╕реЗрдВрдЯреЛ рдкреИрдХреЗрдЬ рдХреЗ рдмрдЬрд╛рдп рдкрд╛рдЗрдк рд╕реЗ рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рд╡реЗ рдХрднреА-рдХрднреА рдкреБрд░рд╛рдиреЗ рд╣реЛрддреЗ рд╣реИрдВ

рдореИрдВ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП EPEL рд░реЗрдкреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП Centos 7.6 рдХреА рдПрдХ рд╕рд╛рдл рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдЗрд╕реЗ рдбреЙрдХрд░ рдпрд╛ рд╡реАрдкреАрдПрд╕ рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

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

python -c 'import certbot, requests, urllib3, OpenSSL; print("certbot :", certbot.__version__); print("requests: ", requests.__version__); print("urllib3 :", urllib3.__version__); print("OpenSSL :", OpenSSL.__version__)'
ls /usr/lib/python2.7/site-packages/urllib3/contrib

@ рдореЗрд░реЗ рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:

('certbot :', '1.0.0')
('requests: ', '2.6.0')
('urllib3 :', '1.25.7')
('OpenSSL :', '0.13.1')

_appengine_environ.py   appengine.py   __init__.py   ntlmpool.py   pyopenssl.py   _securetransport    securetransport.pyc  socks.pyc
_appengine_environ.pyc  appengine.pyc  __init__.pyc  ntlmpool.pyc  pyopenssl.pyc  securetransport.py  socks.py

рдЬреЛ рдореБрдЭреЗ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпреЗ рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ:

$ python -c 'import requests; requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3()'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: 'module' object has no attribute 'packages'

$ python -c 'import urllib3.contrib.pyopenssl; urllib3.contrib.pyopenssl.inject_into_urllib3()'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 118, in inject_into_urllib3
    _validate_dependencies_met()
  File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 160, in _validate_dependencies_met
    "'pyOpenSSL' module missing required functionality. "
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.

рдЖрд░рдПрдЪрдИрдПрд▓ 7 рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдкреИрдХ urllib3 рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 1.10.2 рд╣реИ рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдкрд╛рд╕ 1.25.7 рд╣реИред рдпрд╣ рд╢рд╛рдпрдж pip рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред urllib3 рдирд┐рдХрд╛рд▓рдирд╛ рдФрд░ yum рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдкреБрдирдГ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╣рд╛рдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореИрдВ https://community.letsencrypt.org рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдкреНрд░рд╢рд╛рд╕рди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд▓реЛрдЧреЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕рдореВрд╣ рд╣реИ рдЬреЛ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЬреЗрдПрдлрд╡рд╛рдИрдЖрдИред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ pip / pip2 рдпрд╛ рдХрд┐рд╕реА рднреА рдкрд╛рдЗрдк рдкреИрдХреЗрдЬ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ centos-release-opstools рдЬреЛ python2-urllib3 1.21.1-1.el7 and python2-request 2.19.1-4.el7` рд▓рд╛рдП рдереЗред

рдЬрдм рдореИрдВрдиреЗ рдЙрд╕ рд░реЗрдкреЛ рдХреЛ рдкреБрдирдГ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд▓рд┐рдпрд╛ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ (рдЙрдирдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ python-urllib3 1.10.2-7.el7 рдФрд░ python-requests 2.6.0-8.el7_7 CentOS 7.7 рдХреЗ рд░реВрдк рдореЗрдВ) рдЧрд╛рдпрдм рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред

@grossws , рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреНрдпрд╛ рдерд╛?

рдЬрдм рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЙрд╕ рд╕реЗрдЯрдЕрдк рдХреЛ рджреЛрдмрд╛рд░рд╛ рдмрдирд╛рддрд╛ рд╣реВрдВ, рддреЛ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЗ рд╕рд╛рде рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:

# certbot --help
Traceback (most recent call last):
  File "/usr/bin/certbot", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 3011, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 630, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (cryptography 1.7.2 (/usr/lib64/python2.7/site-packages), Requirement.parse('cryptography>=1.9'))

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ python2-pyOpenSSL 17.3.0-3.el7 рдкреИрдХреЗрдЬ рдХрд╛ рджрд╛рд╡рд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП python-cryptography >= 1.3.0 , рд▓реЗрдХрд┐рди рдкрд╛рдпрдерди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрднрд░рддрд╛ cryptography>=1.9 рдЬреЛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИред

@ рдмреАрдПрдордбрдмреНрд▓реНрдпреВ , рдореБрдЭреЗ https://github.com/certbot/certbot/issues/6328#issuecomment -482531925 рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдерд╛

рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреЗрд╡рд▓ epel-release + centos-release-opstools рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди cryptography рдмрд╛рд░реЗ рдореЗрдВ рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдШрд░реНрд╖ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдореИрдВрдиреЗ рдореВрд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рджреЗрдЦрд╛ рдЬрд╣рд╛рдВ рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рдФрд░ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ python2-cryptography centos-release-ovirt42 repo рд╣реИред

рдЗрд╕рд▓рд┐рдП рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк centos:7 рд╕рд╛рде docker рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

yum install -y epel-release centos-release-opstools centos-release-ovirt42
yum install -y certbot
certbot --help`

рдпрд╣ рдПрдХ рдордЬреЗрджрд╛рд░ рд╣реИ (рдЖрдкрдХреА рдорд╕реНрддреА рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ)ред

centos:7 рдбреЙрдХрд░ рдЫрд╡рд┐, рдпрджрд┐ рдЖрдк рдЪрд▓рд╛рддреЗ рд╣реИрдВ:

yum install -y epel-release centos-release-opstools centos-release-ovirt42
yum install -y python-requests-toolbelt python2-urllib3
python -c 'import urllib3.contrib.pyopenssl; urllib3.contrib.pyopenssl.inject_into_urllib3()'
python -c 'from requests_toolbelt.adapters.source import SourceAddressAdapter; import urllib3.contrib.pyopenssl; urllib3.contrib.pyopenssl.inject_into_urllib3()'

рдкрд╣рд▓рд╛ рдкрд╛рдпрдерди рдХрдорд╛рдВрдб рд╕рдлрд▓ рд╣реЛрдЧрд╛ рдЬрдмрдХрд┐ рджреВрд╕рд░рд╛ рдЕрд╕рдлрд▓ рд╣реЛрдЧрд╛ред рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ from requests_toolbelt.adapters.source import SourceAddressAdapter рдЖрдпрд╛рдд рд╣реИред

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

рдореИрдВ рдЗрд╕реЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЦреЛрд▓ рд░рд╣рд╛ рд╣реВрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рд░реВрдк рдореЗрдВ рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рдХрд╛ рджрдорди рд╕рд╣реА рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрдЬрдЧрд░ 2 рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХреНрдпрд╛ рддреЛрдбрд╝ рджрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рддрд░рд╣ рдХреА рдмрд╛рддреЗрдВ рд╣рд▓ рд╣реБрдИрдВ:

yum remove python-urllib3
rm -rf /usr/lib/python2.7/site-packages/urllib3 # yes, you need this too
yum reinstall $(yum list installed | grep python | grep -v python3 | awk '{print $1}')
yum install python-urllib3
yum install certbot

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдпрд╣ (рдкрд┐рдк рд╕реЗ рдЙрдиреНрдирдд рдмрдирд╛рдпрд╛ urllib3 рд╕рд╛рде centos 7 рдХреЗ рд░реВрдк рдореЗрдВ @bmw рдКрдкрд░ .. рдореЗрд░реА "рдкрд┐рдк" рдХрдорд╛рдВрдб рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рд▓реМрдЯ рд░рд╣рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЬрд░реВрд░рдд рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рд╡рд░реНрдгрд┐рдд) рдореЗрд░реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛:

sudo yum install -y python2-pip
sudo pip uninstall urllib3
sudo yum install -y python-urllib3

рдлреЗрдбреЛрд░рд╛ / рд╕реЗрдВрдЯреЛрд╕ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдореЗрдВрдЯреЗрдирд░ рдпрд╣рд╛рдВ: рдХреГрдкрдпрд╛ /usr/lib рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ pip /usr/lib рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рди рдХрд░реЗрдВред рдХреБрдЫ CentOS рдкреИрдХреЗрдЬ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреА рдирдХрд▓ рди рдХрд░реЗрдВ рдпрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдордЬрдмреВрдд рди рдХрд░реЗрдВред рдбрд┐рд╕реНрдЯреНрд░реЛ рдкреИрдХрд░реНрд╕ рдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред

рдЖрдк рдЗрд╕ рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЕрдкреНрд░рдмрдВрдзрд┐рдд рдЕрдЬрдЧрд░ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

LANG=C rpm -qf /usr/lib/python2.7/site-packages/* | grep 'is not owned by any package'

рдЖрдкрдХреЛ рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдпрдо рд░реЗрдкреЛ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдлреЗрдбреЛрд░рд╛ рдИрдкреАрдПрд▓ рдХреЛ рд░реЗрдб рд╣реИрдЯ / рд╕реЗрдВрдЯреЛрд╕ рд╕реЗ рдмреЗрд╕ рд░реЗрдкреЛ рдХреЗ рд╕рд╛рде 100% рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рд╣рдо рдХрд┐рд╕реА рдЕрдиреНрдп рд░рд┐рдкреЛрдЬ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ CentOS рд░реЗрдкреЛ (+ EPEL) рд╕рдХреНрд╖рдо рд╣реИ рдФрд░ рдЖрдк рдЕрднреА рднреА рдХреНрд░реИрд╢ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдмреБрдЧреНрдЬрд┐рд▓рд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди @ рдореБрдЭреЗ -рд╕рд╛рде рд╣реА рдпрд╣рд╛рдВ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ (рдЕрднреА рдХреЗ рд▓рд┐рдП - рдлреЗрдбреЛрд░рд╛ / рдИрдкреАрдИрдПрд▓ рдореЗрдВ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдореЗрдВрдЯреЗрдирд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ)ред

@FelixSchwarz , centos-release-opstools рдЬреИрд╕реЗ CentOS SIG рд░реЗрдкреЛ рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдорд╛рдирдХ рд░рд┐рдкреЛрд╕ + рдПрдкрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди fluentd рдХреЗрд╡рд▓ opstools

рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл python3 -mvenv /path/to/new/venv рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдПрдирд╡реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ (рдЬреИрд╕реЗ certbot + рдЖрд╡рд╢реНрдпрдХ рдбреАрдПрдирдПрд╕ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛)ред рд╢реБрдХреНрд░ рд╣реИ рдХрд┐ рдпрд╣ /usr/lib рдкреНрд░рджреВрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@grossws рдлреЗрдбреЛрд░рд╛

рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рд╕реЗрдВрдЯреЛ -рдУрдкрд╕реНрдЯреВрд▓реЛрдВ рдХреЗ рднрдВрдбрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХреА рдФрд░ рддреБрд░рдВрдд рдлреЗрдбреЛрд░рд╛

  • python2-msgpack: EPEL 7 рдореЗрдВ 0.5.6-5.el7 , opstools 0.4.6-3.el7 ( certbot рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди borgbackup рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕реЗ рдореИрдВ Fedora / EPEL рдореЗрдВ рднреА рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реВрдВред
  • python2-request: EPEL 7 рдореЗрдВ 2.6.0-0.el7 , opstools 2.19.1-4.el7
  • python2-urllib3: EPEL 7 1.10.2-7.el7 ( python-urllib3 ), opstools 1.21.1-1.el7
  • рдЕрдЬрдЧрд░-рдЗрджрд╛рдирд╛: рдЖрд░рдПрдЪрдИрдПрд▓ рдмреЗрд╕ рдЬрд╣рд╛рдЬ 2.4-1.el7 , 2.5-1.el7 ( python2-idna )

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ centos-opstools рд░реЗрдкреЛ EPEL рдХреЗ certbot рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕рдВрдШрд░реНрд╖ рд╣реИрдВ рдФрд░ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЕрдкреНрд░рдпреБрдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ centos-opstools рдЖрд░рдПрдЪрдИрдПрд▓ рдмреЗрд╕ рдореЗрдВ рдПрдХ рдкреИрдХреЗрдЬ рдХреА рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддрдиреА рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрдЦреНрдп рдбрд┐рд╕реНрдЯреНрд░реЛ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рд╛рдорд╛рди рдХреЛ рднреА рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

tl; dr: рдпрджрд┐ рдЖрдк рдИрдкреАрдИрдПрд▓ рдХреЗ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдЕрдиреНрдп рдпрдо / рдбреАрдПрдирдПрдл рд░рд┐рдкреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рдЕрд╕рдВрдЧрдд рд╣реИрдВред рдЖрд░рдПрдЪрдИрдПрд▓ рдмреЗрд╕ рдФрд░ рдлреЗрдбреЛрд░рд╛ рдИрдкреАрдПрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рд░реЗрдкреЛ рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рдкреВрдЫреЗрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдлреЗрдбреЛрд░рд╛ рдИрдкреАрдИрдПрд▓ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рдерд╛ рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдПрдХ рдкреИрдХреЗрдЬ рдХреЛ рдпрд╛рдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдкреИрдХреЗрдЬ рдЕрдиреБрд░рдХреНрд╖рдХ рдмрдирдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ (рдпрджрд┐ рдЖрдкрдХреЛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рддреЛ рдореБрдЭреЗ рдкрд┐рдВрдЧ рдХрд░реЗрдВ)ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рд░реВрдк рдореЗрдВ рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рдХрд╛ рджрдорди рд╕рд╣реА рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрдЬрдЧрд░ 2 рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХреНрдпрд╛ рддреЛрдбрд╝ рджрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рддрд░рд╣ рдХреА рдмрд╛рддреЗрдВ рд╣рд▓ рд╣реБрдИрдВ:

yum remove python-urllib3
rm -rf /usr/lib/python2.7/site-packages/urllib3 # yes, you need this too
yum reinstall $(yum list installed | grep python | grep -v python3 | awk '{print $1}')
yum install python-urllib3
yum install certbot

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдиреЗ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдорджрдж рдХреА (рдЗрд╕ рд╡рд┐рд╖рдп рд╕реЗ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ)ред рдзрдиреНрдпрд╡рд╛рджред

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

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

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

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

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

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

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