明滅するプログラマの思索

WEBエンジニアとして勤務している一介の男が、日々気づいたことをまとめるブログです

Let's Encrypt の証明書インストールがすごく簡単になっていた

久しぶりに Let's Encrypt の証明書インストールをやったら、手順が非常に簡便になっていました。
certbot-autoというシェルスクリプトが基本的に全部やってくれます。
以下、その流れについてまとめます。

sudo su - 

openssl / mod_ssl をインストールする。併せて httpd のアップデートも行われるかも

yum install mod_ssl openssl

epel を入れます

yum install epel-release

certbot-auto スクリプトを取得。
以下の場所にあるので持ってきます。
ついでに実行権限を与えます

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

で、certbot-auto実行。
すると必要なパッケージのインストール証明書発行に必要な情報をウィザード形式で質問証明書発行Webサーバの設定ファイル更新Webサーバ再起動までを自動でやってくれます。

./certbot-auto
# パッケージインストール終了後、以下の質問責め。

# 証明書の期限が迫ったときとかに通知するメールアドレス教えて!
Enter email address (used for urgent renewal and security notices) (Enter 'c' tocancel): メールアドレス

# 利用規約読んでね!読んだら A してね!
-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A

# 君のメアドを電子フロンティア財団で共有してもいい?
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: 好きなほう

Which names would you like to activate HTTPS for?
# SSL証明書を発行したいドメインはどれ?(httpd.conf とかから勝手に見つけて来てくれます)
-------------------------------------------------------------------------------
1: xxx.jp
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
# ↑ SSL証明書が必要なドメインを選択。複数ある場合はカンマやスペースで区切る

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
# もし HTTP でアクセスが来たら HTTPS にリダイレクトさせちゃう?
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1

上記の質問に答えると、その後SSL証明書の取得してWebサーバに設定、Webサーバの再起動(graceful)までやってくれます。
やりすぎ感あるくらいの至れり尽くせり感です。