- ① SSH、ユーザー追加
- ② IPv4/IPv6追加、netplan、ufw
- ③ Apache2
- ④ Let's Encrypt
- ⑤ PHP
- ⑥ MariaDB
- ⑦ WordPress
- ⑧ Dovecot、Postfix
- ⑨ Vsftpd
- ⑩ Python
- ⑪ llama.cpp、ChromaDB
- ⑫ Anaconda、Keras、TensorFlow
- ⑬ Node.js
- ⑭ MongoDB
- ⑮ Mosquitto
- ⑯ RabbitMQ
- ⑰ Supervisor
01webroot方式が使えないタイミング
CertbotのHTTP-01(webroot)チャレンジは、認証時にドメイン名へ実際にHTTPでアクセスして
.well-known/acme-challenge/を取得しに行く仕組みのため、証明書取得の前提としてDNSが新サーバーへ向いている必要がある。
PHP・MariaDB・WordPressなど後半の構築がまだの段階でDNSを切り替えるのは得策ではない。
そこでDNS-01チャレンジ(DNSにTXTレコードを一時的に置いて証明する方式)に切り替えることにした。 DNSがどこを向いているかに関係なく証明書だけ先に取れる。
02自動化プラグインの有無を確認
5サイトのドメインは3つのレジストラ(お名前.com/スタードメイン/Value-Domain)にまたがっている。
Certbotには各種DNSサービス向けの自動化プラグイン(certbot-dns-〇〇)があるが、確認した限りこの3社向けの公式・コミュニティプラグインは見当たらなかった。
自動化するにはネームサーバーをCloudflareなど別サービスへ委任する必要があるが、今回はドメイン管理の構成自体を変える大きな決断になるため見送り、
手動でのDNS-01+移行完了後にHTTP-01へ戻すという運用にした。
03Certbotインストール
04手動DNS-01の実行
サイトごとに実行し、apex・wwwそれぞれのTXTレコードを登録してから確定する。
ここで表示される2行(ホスト名と値)は1つのTXTレコードの情報を分けて表示しているだけで、2レコード追加するわけではない。 DNS管理画面では通常「種別=TXT」「ホスト名」「値」の3項目に分かれて入力する。
dig txt _acme-challenge.ドメイン名 +shortで値が返ってくるのを確認してから続行する。反映待ちのタイムラグで検証に失敗すると、Let's Encrypt側のレート制限に引っかかる恐れがある。
05レジストラごとの入力形式の違い
3社とも入力欄の仕様が異なっていた。今後同じ作業をする時のためのメモ。
| レジストラ | 対象サイト | ホスト名欄 | 入力順 |
|---|---|---|---|
| お名前.com | gwaw.jp | 相対名(_acme-challengeのみ) | - |
| スタードメイン | appw.jp | FQDN | ホスト名 → 種別 → 値 |
| Value-Domain | iseeit.jp / ibe.tokyo / sasagawa.tokyo | FQDN | 種別 → ホスト名 → 値 |
「相対名かFQDNか」を間違えると、意図しないホスト(例:_acme-challenge.sasagawa.tokyo.sasagawa.tokyoのような二重ドメイン)にレコードが作られてしまうため、
最初の1件はdigで実際に登録された名前を確認してから他のサイトへ進めると安全。
06取得結果
| サイト | 有効期限 |
|---|---|
| sasagawa.tokyo | 2026-12-04 |
| iseeit.jp | 2026-12-04 |
| ibe.tokyo | 2026-12-04 |
| gwaw.jp | 2026-12-04 |
| appw.jp | 2026-12-04 |
証明書は/etc/letsencrypt/live/ドメイン名/配下に格納され、③で設定したVirtualHostのSSLCertificateFile等のパスはそのまま使える。
--manualで取得した証明書はcertbotの自動更新(cron/systemdタイマー)の対象にならない。有効期間は90日。
DNSを新サーバーへ切り替えてサイト移行が完了した時点で、webroot(またはapacheプラグイン)方式に切り替えて自動更新を効かせる予定。
それまでに90日を超えそうな場合は、同じ手順を繰り返す必要がある。
07ここまでの状態
- 5サイトすべてDNS-01チャレンジで証明書取得済み(有効期限2026-12-04)
- 3レジストラそれぞれのTXTレコード入力仕様の違いを確認済み
- 自動更新はDNS切替・HTTP-01方式への移行後に対応予定