Luxeritas ローカル保守環境構築まとめ(2026-05)
目的
1. Luxeritas 保守時の本番近似テスト
- 本番適用前にローカルで安全確認
- PHP 8.2 / 8.4 検証
- REST / HTTPS / Mixed Content / preload 系確認
- 本番に近い Apache Native 構成維持
2. 新機能・新構成の実験場
- 新 plugin
- Luxeritas 大規模変更
- AI agent 実験
- WordPress beta
- PHP 8.4+
を本番影響なしで試す
最終構成方針
採用構成
WSL2 Ubuntu Native
├── wp-stable ← 本番近似・保守検証
└── wp-sandbox ← 実験用(今後)
wp-stable 構築内容
構成
| 項目 | 内容 |
|---|---|
| OS | WSL2 Ubuntu |
| Web | Apache2 |
| DB | MariaDB |
| PHP | 8.2 |
| URL | http://localhost:8080 |
| WordPress | 本番バックアップ復元 |
| Theme | Luxeritas fork版 |
実施内容
Step 1: パッケージ導入
導入済:
- apache2
- mariadb-server
- php8.2 系
- wp-cli
Step 2: Apache VirtualHost
作成:
/etc/apache2/sites-available/wp-stable.conf
最終 DocumentRoot:
/var/www/wp-stable/var/www/html
ポート:
8080
Step 3: MariaDB
作成済:
DB:
wp_stable
USER:
wpstable
Step 4: 本番バックアップ展開
使用バックアップ:
backup_db_20260510.sql
backup_www_20260510.zip
展開後構造:
/var/www/wp-stable/
└── var/
└── www/
├── html/
└── wp-config.php
本番と同じ:
wp-config.php が DocumentRoot 外
構成を再現。
Step 5: wp-config.php ローカル化
変更:
DB_NAME
DB_USER
DB_PASSWORD
DB_HOST
WP_DEBUG
対応済。
Step 6: DB import + URL置換
実施:
本番DB import
URL置換:
などを localhost:8080 へ置換。
Step 7: rewrite / 権限
実施済:
wp rewrite flush
Apache restart OK。
Step 8: Luxeritas fork版適用
適用済:
~/Claude/private/luxeritas/themes/luxeritas
~/Claude/private/luxeritas/themes/luxech
を wp-stable へ反映。
Step 9: 動作確認
確認OK:
| 項目 | 状態 |
|---|---|
| TOP表示 | OK |
| wp-admin | OK |
| 投稿保存 | OK |
| 固定ページ保存 | OK |
| Customizer | OK |
| REST API | OK |
| debug.log | 空 |
| Apache error log | 空 |
重要発見
本番 canonical 異常発見
本番DB内部で:
siteurl = http://127.0.0.1
home = http://127.0.0.1
だったことを確認。
解釈
これは:
現在の主要障害の直接原因
ではなく、
潜在的不整合
だった。
実際の問題切り分け
投稿保存JSONエラー
直接原因:
REST API 404
対応:
パーマリンク再保存
で解消済。
Mixed Content / IP混入
原因:
過去の localhost / IP canonical 履歴
が:
- preload
- async CSS
- minify JS
へ残留。
URL汚染調査結果
現役 Luxeritas テーマ
確認:
grep -RInE "https?://127\.0\.0\.1|https?://13\.193\.215\.66|//13\.193\.215\.66"
結果:
0件
つまり:
現役 Luxeritas 配信ファイルの URL汚染は解消済
残存 grep 結果
大半は:
- vendor
- sample config
- changelog
- translation
- FontAwesome data
であり、実害なし。
現在の状態
| 項目 | 状態 |
|---|---|
| Lightsail移行 | 完了 |
| HTTPS | 正常 |
| REST API | 正常 |
| 投稿保存 | 正常 |
| Mixed Content | 解消 |
| Luxeritas fork | 適用済 |
| wp-stable | 実用可能 |
| canonical | 正規化済方向 |
| debug.log | 正常 |
残作業
1. 不要バックアップ削除(✅️)
削除推奨:
sudo rm -rf /var/www/html/wp-content/themes/luxeritas.pre-fork-backup
2. 本番 canonical 正規化最終確認(✅️)
本番で確認:
wp option get siteurl
wp option get home
期待値:
https://blog2020.iwadjp.com
3. wp-sandbox 構築(次フェーズ)
予定:
Docker / wp-env ベース
用途:
- PHP 8.4
- plugin試行
- WordPress beta
- AI experiment
4. Luxeritas CLI warning 修正(将来)
現在:
wp-cli 時 Warning
あり。
原因:
$_SERVER['HTTP_HOST']
前提コード。
優先度:
低〜中
- → Luxeritas fork側の保守対象
- → PHP8+ / CLI-safe 対応としてまとめて扱う
対象:
- – Luxeritas の `$_SERVER` 参照箇所
- – WP-CLI 実行時の `Trying to access array offset on value of type null`
- – `functions.php`
- – `inc/const.php`
- – `inc/widget.php`
方針:
- – Web表示の挙動を変えない
- – `$_SERVER[…]` は `??` で安全化
- – CLI時は空文字または安全なデフォルト値へ
- – suppress は使わない
- – `wp option get home` / `wp option get siteurl` で Warning が出ないことを確認
All-in-One WP Migration Notice
- → 最新版でも出る
- → plugin側のWordPress 6.7+対応待ち
- → 実害低
- → 当面は既知問題扱い
方針:
- – 最新版でも `_load_textdomain_just_in_time` Notice が出る
- – plugin側問題として記録
- – 当面は保守対象外
今回の成果
最も大きいのは:
「本番近似・再現可能・rollback可能」
な Luxeritas 保守環境を得たこと
これにより:
- 本番前検証
- PHP 8.4 移行
- AI agent 活用
- plugin整理
- Luxeritas fork 保守
を安全に進められる状態になった。