というのをサブドメイン向けの証明書発行のために1ヶ月半ぶりにやりました。またやるときのためのメモ。

インストール


下記のコマンドを実行します。

1
2
curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto
chmod 700 /usr/bin/certbot-auto

この後、いろいろ聞かれたと思うんですけど、メモってなかった(このインストールやったのは1月なので)のでちょっとわかりません…たぶん聞かれたままにやったらいけたような気がします。

証明書発行


まず、Webサーバーが立ち上がっている場合は停止します。停止していないと証明書発行時に「443ポートは既に使われているぜっ!」って怒られます。

1
2
3
4
5
6
-------------------------------------------------------------------------------
Could not bind TCP port 443 because it is already in use by another process on
this system (such as a web server). Please stop the program in question and then
try again.
-------------------------------------------------------------------------------
(R)etry/(C)ancel: c

Webサーバーを停止したあとは下記のコマンドで証明書を発行します。

1
certbot-auto certonly -a standalone -d <ドメイン> --email <メールアドレス>

実行して、しばらく待つと完了した旨のメッセージが表示されます。

1
2
3
4
5
6
7
8
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/example.com/fullchain.pem. Your cert
will expire on 2017-06-08. 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"
- If you like Certbot, please consider supporting our work by:

待っても待っても処理が進まずにエラーが出る場合はファイアウォールあたりを見直せばよいと思います。あとはDNSの設定など。下記はエラーが出た場合のログの一例です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
IMPORTANT NOTES:
- The following errors were reported by the server:

Domain: <入力したドメイン>
Type: connection
Detail: DNS problem: NXDOMAIN looking up A for <入力したドメイン>

To fix these errors, please make sure that your domain name was
entered correctly and the DNS A record(s) for that domain
contain(s) the right IP address. Additionally, please check that
your computer has a publicly routable IP address and that no
firewalls are preventing the server from communicating with the
client. If you're using the webroot plugin, you should also verify
that you are serving files from the webroot path you provided.

証明書の場所は?


サーバー証明書(公開鍵)

1
/etc/letsencrypt/live/<入力したドメイン>/cert.pem

中間CA証明書

1
/etc/letsencrypt/live/<入力したドメイン>/chain.pem

サーバー証明書(公開鍵)と 中間CA証明書

1
/etc/letsencrypt/live/<入力したドメイン>/fullchain.pem

サーバー証明書(公開鍵)と 中間CA証明書

1
/etc/letsencrypt/live/<入力したドメイン>/fullchain.pem

秘密鍵(privkeyなのでtypoに注意!)

1
/etc/letsencrypt/live/<入力したドメイン>/privkey.pem

サブドメインでやりたい場合は…


今回のサブドメインでの発行にあたって、お名前.com側の設定は下記の記事を参考にさせて頂きました。ありがとうございます。

さくらVPS - お名前.com - apache 環境にサブドメインを設定するメモ① - お名前.com側でやる