Edited at

Let's Encryptを使ってみる(CentOS7)

More than 1 year has passed since last update.


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/