LoginSignup
6

More than 5 years have passed since last update.

posted at

updated at

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

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"でマニュアル設定してヨロシクやってチョ!」と。
CantConfigureAutomatically.JPG

certbot-auto certonlyや!

というわけでそう言われたならそうするまでよと。。。

わたくしが(仮ですよ)hogehogeboon.jpというアドレスの持ち主として・・・

# ./certbot-auto certonly --standalone -d hogehogeboon.jp 

ちょっぴり怒られた

「80番のポートだれか使ってますよ」と。。。
Certbotさん、証明書発行するのに一時的にとはいえ80番使うのね。。。
Port80Open.JPG

ワタクシはnginx使ってるので

# systemctl stop nginx

自分の使っているWEBサーバーを止めてください。

もいっぺんcertbot-auto

# ./certbot-auto certonly --standalone -d hogehogeboon.jp -d www.hogehogeboon.jp

メールアドレスの確認があります。緊急通知や鍵を紛失した時の復旧用途とのこと。
ConfirmEmail.JPG

はい、よい子はちゃんと読んで承諾しましょう。Agreeぽちっと。
Agree.JPG

そうすると
CreateCert.JPG

証明書できた!

/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で動きました。
https.JPG

謝辞

こちらを参考にさせていただきました。(というか追試ですね。。。)
ありがとうございました。

Let's Encrypt 総合ポータル
https://letsencrypt.jp/

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
6