オンプレのテスト用に有効な証明書を作成する必要がある際に、Let’s Encryptを使っているのでそのときのコマンドを残します。
TOC
前提
- ドメインの所有者である
今回発行するサイトのドメインの所有者であること。お名前ドットコムなどで安く適当なドメインを購入しましょう。 - テスト用の証明書であること
有効期限が3ヶ月で自動で更新されないため、用途はテストだけ。
certbotのインストール
certbotコマンドを使って発行するのでソフトのインストールをします。
Macを使っているならHomebrewからダウンロードできます。
brew install certbot
下記のサイトで自身のプラットフォームとOtherにすると、certbotインストールの手順がでてきます。
参考 certbot instructions証明書の手動発行
本題の証明書発行に移ります。
- コマンド
sudo certbot certonly --manual -d hogehoge.eng-investor.com -m admin@eng-investor.com --agree-tos --preferred-challenges dns
-d
でドメインを指定します。複数ドメインがある場合には、以下のように-d <domain>
のセットを追加していきます。
sudo certbot certonly --manual -d hogehoge.eng-investor.com -d hogehoge2.eng-investor.com -m admin@eng-investor.com --agree-tos --preferred-challenges dns
-m
でメールアドレスを指定します。こちらは緊急の更新やセキュリティ通知に使われます。
実行時のログは下記の通り
注意
コマンドを実行後ターミナルウィンドウは閉じないでください。設定が完了した後に、Enterを押しますので、それまで放置します。Enterを押したり、ウィンドウを閉じてしまうと再実行が必要です。$ sudo certbot certonly --manual -d hogehoge.eng-investor.com -m admin@eng-investor.com --agree-tos --preferred-challenges dns
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for hogehoge.eng-investor.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name:
_acme-challenge.hogehoge.eng-investor.com.
with the following value:
jSOT4ZLsgnH3QChbk_pMcpAGeW2brKa6zDGz3eVeuxc
Before continuing, verify the TXT record has been deployed. Depending on the DNS
provider, this may take some time, from a few seconds to multiple minutes. You can
check if it has finished deploying with aid of online tools, such as the Google
Admin Toolbox: https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.hogehoge.eng-investor.com.
Look for one or more bolded line(s) below the line ';ANSWER'. It should show the
value(s) you've just added.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
DNSエントリを下記のように変更する案内がでています。
_acme-challenge.hogehoge.eng-investor.com.
のTXTレコードをjSOT4ZLsgnH3QChbk_pMcpAGeW2brKa6zDGz3eVeuxc
にする。
ちなみに、お名前ドットコムの設定例は下記の通り。
設定終了後に、コマンドの出力にあるGoogleのサイトで確認しましょう。
注意
DNSの設定が完了する前にEnterを押してしまうと、新しいDNSエントリを設定するよう要求されます。必ず、確認してから次に進みましょう。 https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.hogehoge.eng-investor.com.
このサイトで設定したTXTレコードを確認後、ターミナルウィンドウに戻り、Enter
を押します。
成功すると下記の通り、証明書と秘密鍵が生成されます。
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/<domain>/fullchain.pem
Key is saved at: /etc/letsencrypt/live/<domain>/privkey.pem
This certificate expires on 2022-04-05.
These files will be updated when the certificate renews.
NEXT STEPS:
- This certificate will not be renewed automatically. Autorenewal of --manual certificates requires the use of an authentication hook script (--manual-auth-hook) but one was not provided. To renew this certificate, repeat this same certbot command before the certificate's expiry date.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
証明書の発行はこれで終了です。
こちらを使って、テスト用サーバに配置しましょう。