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.pyのidx変数衝突、npm.pyのmeta.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 パターン スモークテスト
| # | ドメイン | storage | preset | plugins | 結果 |
|---|---|---|---|---|---|
| 1 | test1.katuo-solutions.com | nvme | corporate-jp | default | 16/1/1 + HTTP200 + clean delete |
| 2 | test2.katuo-solutions.com | hdd | corporate-jp | default | 16/1/1 (/mnt/data/) |
| 3 | test3.katuo-solutions.com | nvme | construction-jp | default | 16/1/1 |
| 4 | test4.katuo-solutions.com | nvme | corporate-jp | カスタム (jetpack 追加) | 16/1/1 |
| 5 | test5.katuo-solutions.com | hdd | lp-jp | default | 15/1/1 (menu なし preset で 1 step 少) |
4. 案③ mail hostname 統一 (Open NC code-kun との連携作業)
R640 Postfix の HELO/myhostname を mail.bakusoku-hp.net → mail.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 申請後さらに改善見込み 🐟 × 🤖 —
