1. ooxif

    No comment

    ooxif
Changes in body
Source | HTML | Preview
@@ -1,39 +1,57 @@
# 1. `certbot` をインストール
CentOS 7 なら epel にワイルドカード証明書対応版 (v0.22) があるので、それをインストールする。
-> yum install --enablerepo=epel certbot
+```sh
+yum install --enablerepo=epel certbot
+```
+
# 2. `certbot-dns-cloudflare` プラグインをインストール
ワイルドカード証明書の発行、更新には DNS の TXT レコードを編集する必要がある。
DNS 操作を自動化するため、 `certbot-dns-cloudflare` プラグインを導入する。
-> yum install --enablerepo=epel python2-certbot-dns-cloudflare
+```sh
+yum install --enablerepo=epel python2-certbot-dns-cloudflare
+```
+
`Global API Key` を https://www.cloudflare.com/a/profile から取得し、それを記した credentials ファイルを作成する。
ここでは `/root/.cloudflare/credentials` に作成するものとする。
-> mkdir /root/.cloudflare
-> chmod 700 /root/.cloudflare
-> echo "dns_cloudflare_email = {ログインメールアドレス}" > /root/.cloudflare/credentials
-> echo "dns_cloudflare_api_key = {取得した API キー}" >> /root/.cloudflare/credentials
-> chmod 600 /root/.cloudflare/credentials
+```sh
+mkdir /root/.cloudflare
+chmod 700 /root/.cloudflare
+echo "dns_cloudflare_email = {ログインメールアドレス}" > /root/.cloudflare/credentials
+echo "dns_cloudflare_api_key = {取得した API キー}" >> /root/.cloudflare/credentials
+chmod 600 /root/.cloudflare/credentials
+```
+
# 3. 証明書を取得する
`example.com` と `*.example.com` の証明書を取得する場合、以下のようなコマンドになる。
-> certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.cloudflare/credentials --dns-cloudflare-propagation-seconds 60 --server https://acme-v02.api.letsencrypt.org/directory -d example.com -d *.example.com
+```sh
+certbot certonly \
+ --dns-cloudflare \
+ --dns-cloudflare-credentials /root/.cloudflare/credentials \
+ --dns-cloudflare-propagation-seconds 60 \
+ --server https://acme-v02.api.letsencrypt.org/directory \
+ -d example.com \
+ -d *.example.com
+```
+
DNS の変更が反映されるのを待つため、 60 秒 (`--dns-cloudflare-propagation-seconds`) ほど掛かる。
取得が完了すると、 `/etc/letsencrypt/live/example.com` 以下に証明書が出力されている。
# 4. 証明書を更新する
-> certbot renew
+```sh
+certbot renew
+```
+
# 5. cron 設定例
-> echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" > /etc/cron.d/certbot
+```sh
+echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" > /etc/cron.d/certbot
+```
+