CentOS Linux ๋ฆด๋ฆฌ์ค 7.3.1611
OS ํจํค์ง ๊ด๋ฆฌ์
์ญ์ถ์ (๊ฐ์ฅ ์ต๊ทผ ํธ์ถ ๋ง์ง๋ง):
ํ์ผ "/bin/certbot", 7ํ,
certbot.main์์ ๊ฐ์ ธ์ค๊ธฐ ๋ฉ์ธ
ํ์ผ "/usr/lib/python2.7/site-packages/certbot/main.py", 17ํ,
certbot ๊ฐ์ ธ์ค๊ธฐ ํด๋ผ์ด์ธํธ์์
ํ์ผ "/usr/lib/python2.7/site-packages/certbot/client.py", 10ํ,
acme์์ ํด๋ผ์ด์ธํธ๋ฅผ acme_client๋ก ๊ฐ์ ธ์ค๊ธฐ
ํ์ผ "/usr/lib/python2.7/site-packages/acme/client.py", 31ํ,
requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3() # ์ ํ: ๋ฌด์
ํ์ผ "/usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", 112ํ, inject_into_urllib3
_validate_dependencies_met()
ํ์ผ "/usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", 147ํ, _validate_dependencies_met
raise ImportError("'pyOpenSSL' ๋ชจ๋์ ํ์ํ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. "
ImportError: 'pyOpenSSL' ๋ชจ๋์ ํ์ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. v0.14 ์ด์์ผ๋ก ์
๊ทธ๋ ์ด๋ํด ๋ณด์ญ์์ค.
์ค๋ฅ ๋์ ์ฑ๊ณต์ ์ผ๋ก ๊ฐฑ์ ๋์ด์ผ ํฉ๋๋ค.
/var/log/letsencrypt
์ ์ ์ฅ๋ฉ๋๋ค. ์ํ๋ ๋๋ก ๋๋ฉ์ธ, ์ด๋ฉ์ผ ๋ฐ IP ์ฃผ์๋ฅผ ์์ ๋กญ๊ฒ ์์ ํ ์ ์์ต๋๋ค.๋ก๊ทธ ํญ๋ชฉ์ด ์์ต๋๋ค. pyopenssl์ ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํ์ต๋๋ค.
์ด๋ฆ: pyOpenSSL
๋ฒ์ : 16.2.0
์์ฝ: OpenSSL ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฃผ๋ณ์ Python ๋ํผ ๋ชจ๋
ํํ์ด์ง: https://pyopenssl.readthedocs.io/
์ ์: ํ์ด๋ฅ ์๋ผ์
์์ฑ์-์ด๋ฉ์ผ: [email protected]
๋ผ์ด์ ์ค: Apache ๋ผ์ด์ ์ค, ๋ฒ์ 2.0
์์น: /usr/lib64/python2.7/site-packages
์๊ตฌ ์ฌํญ: 6๊ฐ, ์ํธํ
๊ทธ๋ฌ๋ ์ค๋ฅ๋ ์ฌ์ ํ ์ง์๋ฉ๋๋ค. ์ด๋ค ์๊ฐ?
urllib3๊ฐ ํผ๋๋ ์ ์๋๋ก ์ฌ๋ฌ pyOpenSSL ๋ฒ์ ์ด ์์ ์ ์์ต๋๋ค. /usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py์ ๋ค์๊ณผ ๊ฐ์ ์ค์ด ์์ด์ผ ํฉ๋๋ค.
# pyOpenSSL 0.14 and above use cryptography for OpenSSL bindings. The _x509
# attribute is only present on those versions.
from OpenSSL.crypto import X509
x509 = X509()
if getattr(x509, "_x509", None) is None:
raise ImportError("'pyOpenSSL' module missing required functionality. "
"Try upgrading to v0.14 or newer.")
๋๋ฒ๊น ์ฝ๋๋ฅผ ์ถ๊ฐํ๊ณ ์ถ๋ ฅ์ ๋ณผ ์ ์์ต๋๊น?
# pyOpenSSL 0.14 and above use cryptography for OpenSSL bindings. The _x509
# attribute is only present on those versions.
import OpenSSL.crypto
print(OpenSSL.crypto)
from OpenSSL.crypto import X509
x509 = X509()
if getattr(x509, "_x509", None) is None:
raise ImportError("'pyOpenSSL' module missing required functionality. "
"Try upgrading to v0.14 or newer.")
Python์ ํญ์ ์ข์ํ์ง ์์ต๋๋ค. ํญ์ ์๋ณ์ ์ํด ๊ณต๋ฐฑ์ ์ฝ์ ํ์ญ์์ค. ๋ํ ์ด ํ์ผ์ ์์ ํ๋ ค๋ฉด ๋ฃจํธ๊ฐ ํ์ํฉ๋๋ค.
์ถ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ญ์ถ์ (๊ฐ์ฅ ์ต๊ทผ ํธ์ถ ๋ง์ง๋ง):
ํ์ผ "/bin/certbot", 7ํ,
certbot.main์์ ๊ฐ์ ธ์ค๊ธฐ ๋ฉ์ธ
ํ์ผ "/usr/lib/python2.7/site-packages/certbot/main.py", 17ํ,
certbot ๊ฐ์ ธ์ค๊ธฐ ํด๋ผ์ด์ธํธ์์
ํ์ผ "/usr/lib/python2.7/site-packages/certbot/client.py", 10ํ,
acme์์ ํด๋ผ์ด์ธํธ๋ฅผ acme_client๋ก ๊ฐ์ ธ์ค๊ธฐ
ํ์ผ "/usr/lib/python2.7/site-packages/acme/client.py", 31ํ,
requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3() # ์ ํ: ๋ฌด์
ํ์ผ "/usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", 112ํ, inject_into_urllib3
_validate_dependencies_met()
ํ์ผ "/usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", 149ํ, _validate_dependencies_met
raise ImportError("'pyOpenSSL' ๋ชจ๋์ ํ์ํ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. "
ImportError: 'pyOpenSSL' ๋ชจ๋์ ํ์ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. v0.14 ์ด์์ผ๋ก ์
๊ทธ๋ ์ด๋ํด ๋ณด์ญ์์ค.
/usr/lib64/python2.7/site-packages/OpenSSL/crypto.so
์ด ๊ฒฝ๋ก๋ ์ด์ pyOpenSSL ํจํค์ง์ ์ ์ฌํฉ๋๋ค. yum์ ํตํด pyOpenSSL์ ์ ๊ฑฐํ๊ณ ๋ค์ ์๋ํ ์ ์์ต๋๊น?
centos7์์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. yum install certbot
๊ฐ ๋ค์ ์ค์นํ๊ธฐ ๋๋ฌธ์ pyOpenSSL.x86_64 0:0.13.1-3.el7์ ์ ๊ฑฐํด๋ ๋์์ด ๋์ง ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๊นจ์ง RPM์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค.
yum remove pyOpenSSL.x86_64
cd
mkdir virtualenv
cd virtualenv/
virtualenv --no-site-packages -p /usr/bin/python2.7 certbot
. ~/virtualenv/certbot/bin/activate
pip import six packaging appdirs
pip install setuptools --upgrade pip install certbot
certbot help
์๋ก์ด centos ์ค์น์์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
rpm --query centos-release # centos-release-7-3.1611.el7.centos.x86_64
wget ftp://ftp.muug.mb.ca/mirror/centos/7.3.1611/cloud/x86_64/openstack-mitaka/common/pyOpenSSL-0.15.1-1.el7.noarch.rpm
sudo rpm -Uvh pyOpenSSL-0.15.1-1.el7.noarch.rpm
sudo yum install certbot
certbot renew # OK
๋๋ ์ด๊ฒ์ด certbot๋ณด๋ค CentOS ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค. pyOpenSSL์ด ๋๋ฌด ์ค๋๋์๋ค๊ณ CentOS์ ๋ณด๊ณ ํ ์ ์๋ ์ฌ๋์ด ์์ต๋๊น?
pyOpenSSL 16.something์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ํ์๋ ๋ฌธ์ ๊ฐ ์์คํ ์์ ์ง์๋์์ต๋๋ค.
์ต๊ทผ CentOS 7 ์ปดํจํฐ์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ ์ผํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ pip install pyOpenSSL=0.13.1
์ง๋ ๋ ๋ฌ๊ฐ, ์คํจํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐ๋ก ์ง๊ธ ๋ค์ ์๋ํ์ง๋ง ๋ค์ ์คํจํ์ต๋๋ค.
์ถ๋ ฅ:
>> sudo certbot certonly --standalone -d mydomain.com
<< Traceback (most recent call last):
File "/bin/certbot", line 9, in <module>
load_entry_point('certbot==0.12.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 10, in <module>
from acme import client as acme_client
File "/usr/lib/python2.7/site-packages/acme/client.py", line 31, in <module>
requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3()
File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 112, in inject_into_urllib3
_validate_dependencies_met()
File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 147, in _validate_dependencies_met
raise ImportError("'pyOpenSSL' module missing required functionality. "
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
๊ทธ๋ฐ ๋ค์ ์ด๊ฒ์ ์๋ํ๊ณ ์๋ํฉ๋๋ค.
๋ต๋ณ ๋งํฌ: https://serverfault.com/questions/830284/certbot-for-letsencrypt-missing-pyopenssl-module
์ฐธ๊ณ ๋ก ... CentOS์์ pip๋ฅผ ํตํด pyOpenSSL์ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๋ฐ ์์ผ๋ก yum์ ๊นจ๋ ๊ฒ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์์ ํ์ง ์์ต๋๋ค.
์ด๋ค certbot ํจํค์ง๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น? epel-testing์์ 0.13.0์ ์ค์นํ๊ณ ์์คํ ์ ์ ์ฒด yum ์ ๋ฐ์ดํธ๊ฐ ์๋์ง ํญ์ ํ์ธํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
์์คํ ์ ๋ณต๊ตฌํ๋ ค๋ฉด yum ์ฌ์ค์น pyOpenSSL์ ์ฌ์ฉํด์ผ ํ ์๋ ์์ต๋๋ค(rpm -qV pyOpenSSL๋ก ์ํ ํ์ธ).
ํด๋น ํจํค์ง์ systemd ๊ฐฑ์ ํ์ด๋จธ์ ๋ฌธ์ ๊ฐ ์์ผ๋ฏ๋ก ์์ ์ ์ผ๋ก ํธ์ํ์ง ์์์ง๋ง certbot ์์ฒญ์ ์ํํ๊ณ ์๋ certbot ๊ฐฑ์ ์ด ์๋ํฉ๋๋ค.
0.14.0 ๋ฆด๋ฆฌ์ค๋ ์งํ ์ค์ด๋ฉฐ ๋ง ๊ทธ๋๋ก AWS์์ ํ ์คํธํ์ต๋๋ค.
๊ถ๊ธํฉ๋๋ค. ์๋ ์์ฑ์๊ฐ ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ํตํด ์ค์นํ๋๋ฐ pip์ฉ ๋ฒ์ ์ ์ด๋์ ๊ณ ์ ํ ๊น์?
์ฌ๋๋ค์ด ์ฌ์ ํ ์ด ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด ์ด๋ค ์ค์น ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ณ ์์ต๋๊น?
๋๋ฅผ ์ํด ์ผํ ์ด Dockerfile์ ์ค๋ช
๋ ๋ฐฉ๋ฒ์ ์๋ํด ๋ณผ ์ ์์ต๋๋ค.
https://github.com/identinetics/docker-nginx/blob/master/Dockerfile#L65
์๋ก ์ค์น ๋ฐ ์
๋ฐ์ดํธ๋ centOS 7.3์์ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์
๋ฐ์ดํธ๋ pyOpenSSL rpm์ ์ค์นํ์ฌ ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค(pyOpenSSL-0.14-3.fc222๋ ์ถฉ๋ถํ์ง๋ง pyOpenSSL-16.2.0-1.fc25๋ ์๋ํ์ง ์์). ํ์ง๋ง ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์๋์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์?!
https://www.rpmfind.net/linux/rpm2html/search.php?query=pyOpenSSL
๊ฐ์ฌ ํด์
@tisc0 ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ด๋ป๊ฒ ์ค์นํ๊ณ ์คํํ๋์ง์ ๋ํด ๋ ์์ธํ
centos7 certbot ํจํค์ง๋ฅผ ๋น๋ํ ๋ AWS์์ ๋ฌธ์ ์์ด ํ ์คํธํ์ต๋๋ค.
ํนํ pyOpenSSL๊ณผ ๊ฐ์ ํต์ฌ ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ centos7์ ์ง์ ์ด์ ๊ฐ์ fedora rpm์ ์ค์นํ๋ ๊ฒ์ ๋์ฐํ ์๊ฐ์ ๋๋ค.
์๋
ํ์ธ์ Hogarthj๋,
์์ฆ ์ข ๋ฐ๋น ์ ๋ํ
์ผ์ด ๋ถ์กฑํด์ ์ฃ์กํฉ๋๋ค:)
๊ฐ๋จํ ๋งํด์ :
[ root@c7-dse ~]# ์์ฝ N | yum ์ ๊ฑฐ python-urllib3 | awk '{$1}'
(...)
์ข
์์ฑ
==============
ํจํค์ง
ํ์ด:
ํ์ด์ฌ-urllib3
ํ์ด
์ธ์ฆ์๋ด
ipa ํด๋ผ์ด์ธํธ
ํ์ด์ฌ ์์ฒญ
python2-acme
python2-certbot
python2-ipaclient
python2-ipalib
์ผ๋ถ ํจํค์ง๋ฅผ ๋ค์ ์ค์นํ๋ฉด ์๋ํ๋ ์ด์ ๋ฅผ ์ค๋ช ํ๋ ์์ด๋์ด๊ฐ ์์ผ๋ฉด ํ์ํฉ๋๋ค. :)
@tisc0 ์ถ๊ฐ ์ ๋ณด ๊ฐ์ฌํฉ๋๋ค
ํจํค์ง๋ฅผ ๊ฐ์ ๋ก ์ค์น/์ ๊ฑฐํ๋ฉด ์์คํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ pip ์ ๊ทธ๋ ์ด๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ข ์ข ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
src.rpm์์ ํจํค์ง ์์ฒด๋ฅผ ๋ค์ ๋น๋ํ์ง ์๊ณ CentOS์ฉ Fedora ํจํค์ง๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ๊ฑฐ์ ์ข์ ์๊ฐ์ด ์๋๋๋ค.
ํจํค์ง๋ฅผ ๋ค์ ์ค์นํ๋ฉด(์ข ์์ฑ ๋ฌธ์ ๊ฐ ์๋ ์ ๊ฑฐ ๋ฐ ์ค์น๋ฅผ ์ํํ๋ ๋์ yum ์ฌ์ค์น๊ฐ ์๋ช ์ ์์ธ์ด ๋ ์ ์์) ์๋ณธ ํ์ผ์ด ์ ์๋ฆฌ์ ์๋์ง ํ์ธํฉ๋๋ค.
CentOS ํจํค์ง๋ฅผ ๋ค์ ์ค์นํ๋ฉด ์๋ํ๋ค๋ ์์์ ๋ค์ผ๋ ๋งค์ฐ ๊ธฐ์ฉ๋๋ค. :)
@tisc0 ์ด ์ ๋๋ก ์๋ํ๋ ๊ฒ
CentOS7์ ๊ฒฝ์ฐ "mv /usr/lib64/python2.7/site-packages/OpenSSL /usr/lib64/python2.7/site-packages/pyOpenSSL"์ ์ํํ๋ฉด ์ ์๊ฒ ๋งค๋ ฅ์ฒ๋ผ ์๋ํฉ๋๋ค!!!
๋๋ฌ์ด ํดํน :1st_place_medal: ;)
pip install -U
๊ฐ RPM์์ ์ค์น๋ ํ์ด์ฌ ๋ชจ๋์ ๋ฎ์ด์ผ๊ธฐ ๋๋ฌธ์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ค์์ ์ํํ์ต๋๋ค.
File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 147, in _validate_dependencies_met
raise ImportError("'pyOpenSSL' module missing required functionality. "
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
[root<strong i="12">@kolla</strong> ~]# rpm -qf /usr/lib64/python2.7/site-packages/OpenSSL/
pyOpenSSL-0.13.1-3.el7.x86_64
[root<strong i="13">@kolla</strong> ~]# rpm -qf /usr/lib/python2.7/site-packages/urllib3
python-urllib3-1.10.2-2.el7_1.noarch
[root<strong i="14">@kolla</strong> ~]# rpm --nodeps -e python-urllib3
[root<strong i="15">@kolla</strong> ~]# rm -rf /usr/lib/python2.7/site-packages/urllib3/
[root<strong i="16">@kolla</strong> ~]# yum -y install python-urllib3
File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 90, in <module>
from urllib3.exceptions import DependencyWarning
ImportError: cannot import name DependencyWarning
[root<strong i="20">@kolla</strong> ~]# rpm -qf /usr/lib/python2.7/site-packages/requests
python-requests-2.6.0-1.el7_1.noarch
[root<strong i="24">@kolla</strong> ~]# rpm --nodeps -e python-requests
[root<strong i="25">@kolla</strong> ~]# rm -rf /usr/lib/python2.7/site-packages/requests
[root<strong i="26">@kolla</strong> ~]# yum -y install python-requests
๊ฐ์ ๋ฌธ์ ๊ฐ ๋ค์ ๋ฐ์ํ์ง๋ง ์ด๋ฒ์๋ ๋์ปค ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์ฌ ์ฌ์ ์ต๋๋ค. :)
alias certbot='docker run --rm -ti -v /etc/letsencrypt:/etc/letsencrypt -p 80:80 certbot/certbot:v0.21.1'
@cnritng ๊ทธ๊ฒ์ ๋ํ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค
์ฌ์ ํ ์ด ๋ฌธ์ ๊ฐ ์๋ ์ฌ๋์ ๋ค์์ ์๋ํ์ญ์์ค.
rpm --query centos-release # centos-release-7-3.1611.el7.centos.x86_64
wget ftp://ftp.muug.ca/mirror/centos/7/cloud/x86_64/openstack-newton/common/pyOpenSSL-0.15.1-1.el7.noarch.rpm
sudo rpm -Uvh pyOpenSSL-0.15.1-1.el7.noarch.rpm
sudo yum install certbot
certbot renew # OK
@sulliwane์์ . ftp://ftp.muug.ca/mirror/...
์ฃผ์๊ฐ ๋ณ๊ฒฝ๋์์์ ์ ์ ์์ต๋๋ค.
@JellyBool ๊ฐ์ฌ
์ด ์์ ์ ์ํํ๊ณ ๋ชจ๋ ์์ ํ์ต๋๋ค. yum ์ค์น http://cbs.centos.org/kojifiles/packages/pyOpenSSL/16.2.0/3.el7/noarch/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm
์ฌ๋ฌ๋ถ, pip
ํจํค์ง๋ฅผ ํตํด yum
์ค์น๋ ํจํค์ง๋ฅผ ํผํฉํ์ง ๋ง์ญ์์ค. ์ ์ ํ ์์ ์๋ pip ํจํค์ง๋ฅผ ์ ๊ฑฐํ๊ณ yum
์์ ๋ชจ๋ ๊ฒ์ ์ค์นํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ฌ๊ธฐ์์ ์ค๋ช
ํ๋ค.
certbot์ ์คํํ๊ธฐ ์ํด CentOS 7์์ ์ต์ pyOpenSSL์ด ํ์ํ์ง ์์ต๋๋ค! ์ธ ๋ฒ์งธ ํจํค์ง์ ์์กดํ๋ค๊ณ ํด์ ๊ฒฐ๊ตญ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ง๋ ๋ชปํ ๊ฒ์ ๋๋ค. :)
pip uninstall requests
yum reinstall python-requests
pip uninstall six
yum reinstall python-six
pip uninstall urllib3
yum reinstall python-urllib3
@dvershinin ์ ์ ๋จ๊ณ๊ฐ ๋๋ฅผ ์ํด ํธ๋ฆญ์ ์ํํ์ต๋๋ค.
@dvershinin์ด ๊ฒ์ํ ๋ด์ฉ๋ ์์ ํ์ต๋๋ค. ๋ง์ง๋ง ์ค์ "yum install python-urllib3"์์ "yum install python-urllib3"์ผ๋ก ๋ณ๊ฒฝํด์ผ ํ์ต๋๋ค.
CentOS7์ ๊ฒฝ์ฐ "mv /usr/lib64/python2.7/site-packages/OpenSSL /usr/lib64/python2.7/site-packages/pyOpenSSL"์ ์ํํ๋ฉด ์ ์๊ฒ ๋งค๋ ฅ์ฒ๋ผ ์๋ํฉ๋๋ค!!!
*nix์ ๊ฐ์ ์์คํ ์๋ ํญ์ ์ ์ฌํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํ์ผ ์ข ์์ฑ์ด ๊นจ์ก์ต๋๋ค.
https://github.com/certbot/certbot/issues/4514#issuecomment -375741595
๋๋ฅผ ์ํด ์ผํ๋ค
์ฌ๊ธฐ์ ์๋ง๋ ์ง์ ํ ์ด์ ์ ํด๊ฒฐ์ฑ
์ด ์์ ๊ฒ์
๋๋ค:
https://www.getpagespeed.com/troubleshooting/fix-importerror-pyopenssl-module-missing-required-functionity-try-upgrading-to-v0-14-or-newer
์ฌ๋ฌ๋ถ,
pip
ํจํค์ง๋ฅผ ํตํดyum
์ค์น๋ ํจํค์ง๋ฅผ ํผํฉํ์ง ๋ง์ญ์์ค. ์ ์ ํ ์์ ์๋ pip ํจํค์ง๋ฅผ ์ ๊ฑฐํ๊ณyum
์์ ๋ชจ๋ ๊ฒ์ ์ค์นํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ฌ๊ธฐ์์ ์ค๋ช ํ๋ค.certbot์ ์คํํ๊ธฐ ์ํด CentOS 7์์ ์ต์ pyOpenSSL์ด ํ์ํ์ง ์์ต๋๋ค! ์ธ ๋ฒ์งธ ํจํค์ง์ ์์กดํ๋ค๊ณ ํด์ ๊ฒฐ๊ตญ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ง๋ ๋ชปํ ๊ฒ์ ๋๋ค. :)
pip uninstall requests yum reinstall python-requests pip uninstall six yum reinstall python-six pip uninstall urllib3 yum reinstall python-urllib3
๊ฐ์ฌํฉ๋๋ค! ์ผ์ด์ผ!
@dvershinin ์์ ์ ํ์ฌ ์๋ํ์ง ์์ต๋๋ค. ๊ทธ๊ฐ Centos 7์์ ์ค๋ช ํ ๋จ๊ณ๋ฅผ ์ํํ ํ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ฒ์ ์ถฉ๋: (urllib3 1.10.2(/usr/lib/python2.7/site-packages), Requirement.parse('urllib3>=1.20,<1.26'))
@keir-lavelle ๋ด ์์ ์ root
์ฌ์ฉ์ ์๋์์ pip
๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๊ฐํ๊ฒ ์์๋ ์์คํ
์ ์๋ ์ํ๋ก ๋ณต์ํ๋ ค๋ ์๋์ผ ๋ฟ์
๋๋ค. CentOS/RHEL ์์คํ
์์๋ ์ ๋ ํ๋ฉด ์ ๋๋ค๋ ์ฌ์ค์ ๊ณ ๋ คํ์ง ์๊ณ !)
๋ฐ๋ผ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋ชจํ์ฌ์ ๋๋๋ค๋ฉด ๋ชจ๋ Python ํจํค์ง( yum
๋ Python ๊ธฐ๋ฐ)๋ฅผ ์ ๊ฑฐํ์ฌ ๋ฌธ์ ๋ฅผ ์ถ๊ฐ๋ก ์์ ํ๋ ค๊ณ ์๋ํ ๋งํฌ๋ฅผ ๋ฐ๋ผ๊ฐ ์ ์์ต๋๋ค. ์ด๋ ๋์ฑ ์ํํ ๊ธฐ์
์
๋๋ค. . (๋ ๋ง์ด ๊นฐ ์ ์๊ธฐ ๋๋ฌธ์).
certbot
์๋ํ๋ ์ผ๋ถ ์ค๋
์ท/๋ฐฑ์
์์ ์๋ฒ๋ฅผ ๋ณต์ํ ์ ์๋ค๋ฉด ๊ด์ฐฎ์ ๊ฒ์
๋๋ค.yum
๋ฅผ ์๋ ์ํ๋ก ๋ง๋ค ์ ์๋ ๊ฒฝ์ฐ ๊ทธ๋ ๊ฒ ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ).๊ทธ๋ฆฌ๊ณ ๋ฌผ๋ก ๋ค์ ๊ธฐ์ตํ๋ ๊ฒ์ด ๋์์ด ๋ฉ๋๋ค. root
์๋์ pip
๋๋ python
์ค์น๋ฅผ ์ฌ์ฉํ์ง ๋ง์ญ์์ค. ์ฒ์์๋ ์ด๋ ๊ฒ ๊นจ์ง๋๋ค. ๊ทธ๊ฒ์ด ์ผ์ด๋์ง ์์๋ค๋ฉด - ๊ทธ๊ฒ์ ๊นจ์ง์ง ์์ ๊ฒ์
๋๋ค.
์๊ฐ์ ๋ด์ด ์ค๋ช ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ง๊ธ์ ํ ์คํธ ์ค์ผ ๋ฟ์ด๋ฏ๋ก ์๋ฒ๋ ์ผํ์ฉ์ด๋ฏ๋ก ๊ณ ์ฅ๋๋๋ผ๋ ํฐ ๋ฌธ์ ๊ฐ ๋์ง ์์ง๋ง ์ ๋ณด์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ฌ๋ฌ๋ถ,
pip
ํจํค์ง๋ฅผ ํตํดyum
์ค์น๋ ํจํค์ง๋ฅผ ํผํฉํ์ง ๋ง์ญ์์ค. ์ ์ ํ ์์ ์๋ pip ํจํค์ง๋ฅผ ์ ๊ฑฐํ๊ณyum
์์ ๋ชจ๋ ๊ฒ์ ์ค์นํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ฌ๊ธฐ์์ ์ค๋ช ํ๋ค.certbot์ ์คํํ๊ธฐ ์ํด CentOS 7์์ ์ต์ pyOpenSSL์ด ํ์ํ์ง ์์ต๋๋ค! ์ธ ๋ฒ์งธ ํจํค์ง์ ์์กดํ๋ค๊ณ ํด์ ๊ฒฐ๊ตญ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ง๋ ๋ชปํ ๊ฒ์ ๋๋ค. :)