以前一度挫折した(古いAmazon Linuxをアップデートして使っているためだと思われる)が、certbotに改名後に試してみたら、できた。
前提
- gitはインストール済み
- WebサーバはApache
手順
- sudo easy_install pip
- sudo pip install --upgrade pip
- sudo /usr/local/bin/pip install --upgrade virtualenv
- (作業用ディレクトリで)
git clone https://github.com/certbot/certbot - cd certbot
- ./certbot-auto certonly --webroot -w /var/www/html -d ドメイン名 --agree-tos -m メールアドレス --debug
- /etc/httpd/conf.d/ssl.confの下記箇所を変更する。(Apache2.4.8より前のバージョン場合は微妙に違うので参考サイト参照。)
SSLCertificateFile /etc/letsencrypt/live/ドメイン名/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン名/privkey.pem - httpdを再起動
証明書の自動更新
証明書の期限は90日なので、cronで定期更新させる。cronがメールを飛ばすように設定してあれば結果がメールで来る。
(例:月に1回更新する場合。日時は月初にすると混雑しそうなので、適当にずらした方がよいかも。)
45 3 12 * * ./certbot/certbot-auto renew && sudo service httpd reload
(2016/6/25 追記)
--debugも付けた方がよいかも?参考→Let's Encryptの cronによる実行が動かなくなった時の対策
(追記終わり)
期限まで30日以上ある場合は更新されない。それでも更新したい場合は--force-renewオプションを付ける。
上記例を試した時はまだ更新されなかったので、本当にこれでよいかはその日が来てから確認する。(--debug無しとか大丈夫か?タイミングによっては、月イチだと期限切れになるケースがあるかも?)
備考的な
- Aapcheは停止しなくても大丈夫。(webrootオプションを使う場合はいいらしい。)
- 証明書生成時にポート443は開いてなくても大丈夫。
- /var/www/htmlに.well-knownディレクトリが残る。消してもいいのかな?
さよなら自己署名!さよならオレオレ証明書!
参考
0 件のコメント:
コメントを投稿