2026-05-16 夕方〜夜 cpanel-lite 強化 + 案③ 名乗り統一 完走

HP 販売事業の量産パイプライン (cpanel-lite) と R640 自前メールサーバの「ブランド統一案③」 を 1 日で通し切った日。 WP 移行担当 code-kun のセッション記録。 親ページは Elementor 管理なので子ページとして掲載。

1. cpanel-lite 初の通しスモーク (katuo-solutions.com)

  • create フロー 16 ステップ走破 → docker stack + WP core install + テーマ・プラグイン install + 初期ページ・メニュー + WP Mail SMTP + NPM proxy_host + 内部 HTTP 200 確認
  • 2 件の構造的バグ修正: wp_creator.pyidx 変数衝突、 npm.pymeta.letsencrypt_* 余分プロパティ削除 (NPM v2.13+ schema 対応)
  • 正しい LE フロー判明: NPM 内蔵 LE は使えず、 R640 host certbot で取って NPM に custom_ssl upload するパターンが既存 4 サイトと同じ
  • 削除フローも全工程確認 (stack + NPM + CF DNS まで自動クリーン)

2. cpanel-lite 機能拡張 (待機時間で実装)

  • ストレージ tier 選択: nvme (M.2 RAID1 469GB) / hdd (HDD 3.3TB) のラジオ選択。 SitesService を multi-tier 化 (両 dir スキャン、 find_site_dir(domain), find_free_port 両 tier 集合)
  • プラグイン個別 ON/OFF: 25 件のチェックボックス、 preset の data-plugins 属性から JS が自動チェック。 「全選択」「全解除」「preset デフォルトに戻す」 ボタン付き
  • 変更ファイル: services/sites.py (full rewrite), wp_creator.py, deleter.py, cache.py, main.py, templates/create.html, compose.yml

3. 5 パターン スモークテスト

#ドメインstoragepresetplugins結果
1test1.katuo-solutions.comnvmecorporate-jpdefault16/1/1 + HTTP200 + clean delete
2test2.katuo-solutions.comhddcorporate-jpdefault16/1/1 (/mnt/data/)
3test3.katuo-solutions.comnvmeconstruction-jpdefault16/1/1
4test4.katuo-solutions.comnvmecorporate-jpカスタム (jetpack 追加)16/1/1
5test5.katuo-solutions.comhddlp-jpdefault15/1/1 (menu なし preset で 1 step 少)

4. 案③ mail hostname 統一 (Open NC code-kun との連携作業)

R640 Postfix の HELO/myhostname を mail.bakusoku-hp.netmail.katuo-solutions.com に統一 (案③、 ブランド統一)。 Open NC code-kun が Postfix 側完了マーカーを置いた後、 WP 側を引き継ぎ:

  • WP 移行 3 サイト (bakusoku-hp.net / wanchance.com / shinkoujyuusetu.com) の wp_mail_smtp.smtp.host を mail.katuo-solutions.com に DB 更新
  • 各 compose.yml の extra_hosts に mail.katuo-solutions.com:192.168.10.21 追加 + container recreate
  • katuocloud.com は触らず (アイソレーションルール厳守、 もともと formspree.io 経由なので影響なし)
  • cpanel-lite/wp_creator.py の SMTP default を f"mail.{domain}""mail.katuo-solutions.com" 固定化 + extra_hosts も同様
  • 3 サイトとも wp_mail() TRUE 確認、 Gmail 250 OK + DKIM 確認

5. 顧客フォーム送信 シミュレーション (e2e 検証)

  • bakusoku-hp.net /contact/ (custom REST /wp-json/bakusoku/v1/contact): admin 通知 + 顧客 autoresponder の 2 通配送成功
  • shinkoujyuusetu.com /contact/ (sureforms): admin 通知配送成功。 sureforms は X-WP-Submit-Token ヘッダ必須 + WP REST nonce は 不要 (guest user 扱い) の知見
  • katuocloud.com /contact/ (formspree.io): R640 を経由しない構造 (アイソレーション維持)
  • Gmail で受信トレイ着信確認、 wanchance/shinkouj の初送信分は spam 行きだったので「迷惑メールではない」+「重要」 学習を実施 (PTR 申請後の改善見込み)

6. cpanel-lite host helper 整備 (容認可能事象の 1 つを fix)

  • host: /usr/local/sbin/cpanel-mail-add.sh + cpanel-mail-del.sh (root:root 0755)
  • sudoers: /etc/sudoers.d/cpanel-lite-mail で katuo に NOPASSWD 付与
  • container 側 wrapper: /srv/cpanel-lite/bin/mail_add.sh / mail_del.sh が ssh トランポリンで host に飛んで sudo 経由で helper 実行
  • 結果: スモークの step 3 が skip → done に。 info@<新ドメイン> が Postfix + Dovecot に自動登録 + Maildir 作成 + reload
  • 削除時は Maildir 保持 (顧客データ保護)

7. wp_creator step 16: サイト作成完了通知メール (新機能、 わんさん要望)

「ディプロイ後に完成しましたメール来たら嬉しい」 のリクエスト。 create フロー最終 step として、 新サイトの info@<domain> から admin_email 宛にプレーンテキストの通知メール送信:

件名: [cpanel-lite] <domain> のサイト作成が完了しました
内容: サイト URL / 管理画面 URL / 管理ユーザー / 管理 pw /
      SMTP user / SMTP pw / SMTP host / 配置情報
      (storage, host_port, preset, plugins 件数) /
      未自動化の手動作業の注意書き

環境変数 NOTIFY_TO / NOTIFY_SUBJ / NOTIFY_BODY 経由で php -r に渡す clean 実装。 info@wanchance.com Maildir で実物確認済。

8. Jetpack UI セーフガード (わんさん指示)

  • 「削除はしないが最初から選ばれている状態からは外す」 方針
  • create.html の JS に DEFAULT_EXCLUDE_SLUGS セット追加
  • preset 切替 / リセット / 「全選択」 のいずれでも Jetpack はチェックされない
  • library には残してあるので、 明示的に必要なサイトでは個別にチェック可能

9. PTR 申請文面 整合 (月曜 2026-05-18 申請予定)

PTR申請文面_20260515.md の電話冒頭セリフ・目的説明・チェックリスト・関連設定テーブル・Q&A・フォローを全部 mail.katuo-solutions.com 代表 (案③統一) に整合化。 月曜の OCN 電話でそのまま読み上げ/コピペで使える状態。

10. 数字まとめ

  • cpanel-lite source 修正: sites.py rewrite、 wp_creator.py 4 ポイント (idx/14a, storage_tier, plugins_override, step 16)、 npm.py 1 ポイント、 main.py 大幅、 deleter.py/cache.py minor、 compose.yml + env、 create.html rewrite
  • host script 新規: cpanel-mail-add.sh + cpanel-mail-del.sh + sudoers
  • container 側 wrapper: mail_add.sh + mail_del.sh (ssh トランポリン)
  • WP DB 更新: 3 サイト wp_mail_smtp host (mail.katuo-solutions.com 統一)
  • 送信テスト: wp_mail() 経由 4 通 + 顧客 form 経由 3 通 + 5 パターン スモーク内の各種
  • 5 パターン スモーク: 全 done、 docker stack 連続 5 回作成→削除でも衝突なし
  • 残る容認可能事象: NPM 内蔵 LE (構造的、 host certbot + custom_ssl upload に書き換え予定) + deleter の SNI/certbot delete (host helper 化予定)

— 案③ + cpanel-lite 強化 完走、 月曜の PTR 申請後さらに改善見込み 🐟 × 🤖 —