Amazonは「Amazon Linux 2」と呼ばれる新しいLinuxをリリースしました
Certbotを試してみると...
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto
このエラーを与えます
Sorry, I don't know how to bootstrap Certbot on your operating system!
You will need to install OS dependencies, configure virtualenv, and run pip install manually.
Please see https://letsencrypt.readthedocs.org/en/latest/contributing.html#prerequisites for more info.
それから私は試しました:
yum install pip
yum install python-pip
pip install cryptography
pip install certbot
yum install python-urllib3
yum install augeas
/usr/bin/certbot
そして私はこのメッセージを受け取ります
Traceback (most recent call last):
File "/usr/bin/certbot", line 7, in <module>
from certbot.main import main
File "/usr/lib/python2.7/site-packages/certbot/main.py", line 19, in <module>
from certbot import client
File "/usr/lib/python2.7/site-packages/certbot/client.py", line 11, in <module>
from acme import client as acme_client
File "/usr/lib/python2.7/site-packages/acme/client.py", line 34, in <module>
import urllib3.contrib.pyopenssl # pylint: disable=import-error
File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
from ndg.httpsclient.ssl_peer_verification import SUBJ_ALT_NAME_SUPPORT
ImportError: No module named ndg.httpsclient.ssl_peer_verification
ここからどこへ行くべきか分かりません。どんな提案も大歓迎です!
Amazon Linux 2のリポジトリにepel-release
がないため、これでも問題が発生しましたが、EPEL RPMパッケージ自体をインストールすると、certbot
をインストールできるようになるか、そこからcertbot-nginx
。
RPMをダウンロードする
curl -O http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
それをインストールします
Sudo yum install epel-release-latest-7.noarch.rpm
これでcertbotをインストールできます
Sudo yum install certbot
そしてそれをいつものように実行します
Sudo certbot
その後の設定の詳細については、 certbotページ を確認してください。
Certbotの代わりに Acme を使用できます。これは機能し、十分に文書化されています。 Amazon LinuxでLet's Encryptを設定するチュートリアルがあります here 。
Nginx設定
Let's Encryptは、証明書が発行される前に、サーバーを呼び出して要求を確認する必要があります。 Acmetoolは、組み込みのWebサーバーまたは外部のWebサーバーを使用できます。これが私のサイトの残りの部分にサービスを提供する安全なサーバーブロックの横にある私のNginx構成です。
# This server directly serves ACME / certificate redirects. All other requests are forwarded the https version of the page
server {
listen 80;
server_name example.com;
access_log /var/log/nginx/access.log main;
# Let's Encrypt certificates with Acmetool
location /.well-known/acme-challenge/ {
alias /var/www/.well-known/acme-challenge/;
}
location / {
return 301 https://www.photographerstechsupport.com$request_uri;
}
}
Nginxフォルダ
mkdir -p /var/www/.well-known/acme-challenge
chmod -R user:www-data /var/www/acme-challenge/*
find /var/www/acme-challenge/ -type d -exec chmod 755 {} \;
vi /var/www/acme-challenge/.well-known/acme-challenge/text.html (add "hello world" or similar)
Acmeをインストール
Sudo -i (this is run as root)
cd /opt
wget https://github.com/hlandau/acme/releases/download/v0.0.62/acmetool-v0.0.62-linux_386.tar.gz (NB check for newer versions here)
tar -xzf acmetool-v0.0.62-linux_386.tar.gz
cd acmetool-v0.0.62-linux_386/bin
cp ./acmetool /usr/local/bin
/usr/local/bin/acmetool quickstart
クイックスタートで、これをウェブルートとして入力します
/var/www/.well-known/acme-challenge/
証明書をリクエストする
/usr/local/bin/acmetool want example.com www.example.com
トラブルシューティング#1
acmetool --xlog.severity=debug > /tmp/dump 2>&1 want example.com www.example.com
fgrep -v fdb: /tmp/dump | fgrep -v storageops: > /tmp/dumpout
ブログ記事に他のトラブルシューティングのヒントがあります。