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 構築内容

構成

項目内容
OSWSL2 Ubuntu
WebApache2
DBMariaDB
PHP8.2
URLhttp://localhost:8080
WordPress本番バックアップ復元
ThemeLuxeritas 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-adminOK
投稿保存OK
固定ページ保存OK
CustomizerOK
REST APIOK
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 保守

を安全に進められる状態になった。

WordPress

Posted by iwadjp