Let's Encryptを使ってみる(CentOS7)
前提
これをちらっとでも読もうという人は「証明書ってなに?」という人はいないと思いますが・・・
「Let's Encryptで証明書を取得する@CentOS7」以上のことは書いておりません(/・ω・)/ご承知おきを。
確認環境
「さくらのVPS」 http://vps.sakura.ad.jp/
カスタムOSインストール:CentOS7
での確認となります。
以下ルート権限での作業となります。
また架空のドメイン名「hogehogeboon.jp」を使って説明しています。
(2016/10/9現在、このドメイン名はいないけど・・・。)
適宜自分の所有しているドメイン名と置き換えてください。
前準備
もしもgitが入っていなければ・・・
さくっと入れましょう。
# yum install git
取得~設定
CertbotクライアントをGitHubから取得
/opt以下に取得したものを置くこととします。
# cd /opt
# git clone https://github.com/certbot/certbot
certbot-autoで環境確認
certbot-autoコマンドでCertbotクライアントが実行できる環境か確認します。
# cd /opt/certbot
# ./certbot-auto
はい、なんとなくうまくいったかなと思いきや・・・
「Certbotちゃんはこのシステム上でWEBサーバーが動いているか解らないでやんす。"certbot-auto certonly"でマニュアル設定してヨロシクやってチョ!」と。
certbot-auto certonlyや!
というわけでそう言われたならそうするまでよと。。。
わたくしが(仮ですよ)hogehogeboon.jpというアドレスの持ち主として・・・
# ./certbot-auto certonly --standalone -d hogehogeboon.jp
ちょっぴり怒られた
「80番のポートだれか使ってますよ」と。。。
Certbotさん、証明書発行するのに一時的にとはいえ80番使うのね。。。
ワタクシはnginx使ってるので
# systemctl stop nginx
自分の使っているWEBサーバーを止めてください。
もいっぺんcertbot-auto
# ./certbot-auto certonly --standalone -d hogehogeboon.jp -d www.hogehogeboon.jp
メールアドレスの確認があります。緊急通知や鍵を紛失した時の復旧用途とのこと。
はい、よい子はちゃんと読んで承諾しましょう。Agreeぽちっと。
証明書できた!
/etc/letsencrypt/live/ドメイン名/fullchain.pem できたよ!とお褒めの言葉が。
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/hogehogeboon.net/fullchain.pem. Your cert will
expire on 2017-01-07. To obtain a new or tweaked version of this
certificate in the future, simply run certbot-auto again. To
non-interactively renew *all* of your certificates, run
"certbot-auto renew"
証明書はというと・・・
それでは/etc/letsencrypt/live/hogehogeboon.jp/の中身を見てみましょう。
cert.pem -> ../../archive/hogehogeboon.jp/cert1.pem (サーバー証明書)
chain.pem -> ../../archive/hogehogeboon.jp/chain1.pem (中間証明書)
fullchain.pem -> ../../archive/hogehogeboon.jp/fullchain1.pem (サーバー証明書+中間証明書)
privkey.pem -> ../../archive/hogehogeboon.jp/privkey1.pem (秘密鍵)
実態はarchive側になります。
ご注意
Let's Encryptで取得した証明書の期限は「90日」なので、
ワタクシみたいなボンヤリさんはcronでも組んでおくのが吉です。
おまけ
証明書をどうするかはその人次第ですが・・・nginxで使ってみましょう。
/etc/nginx/conf.d/hogehogeboon.jp.confを作成。
SSLを有効に、サーバー証明書+中間証明書と秘密鍵を指定します。
server{
listen 443 default ssl;
server_name hogehogeboon.jp;
ssl on;
ssl_certificate /etc/letsencrypt/live/hogehogeboon.jp/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hogehogeboon.jp/privkey.pem;
root /var/www/hogehogeboon.jp;
index index.html index.htm;
}
nginx起動
# systemctl start nginx
ブラウザでアクセス
あら素敵、鍵付きhttpsで動きました。
謝辞
こちらを参考にさせていただきました。(というか追試ですね。。。)
ありがとうございました。
Let's Encrypt 総合ポータル
https://letsencrypt.jp/