fix: Hello Dolly等のデフォルトプラグインが再起動のたびに復活する不具合を修正
Helm Chart Release / release-chart (push) Successful in 5s

wordpress-init initContainerのコアファイルコピー処理(cp -r /usr/src/wordpress/* /var/www/html/)が
wp-contentを除外しておらず、PVC上の既存wp-contentへイメージ同梱のデフォルトファイル
(hello.php、akismet/、デフォルトテーマ)を毎回上書きマージしていた。
コピー対象からwp-contentを除外し、PVC上のwp-contentは新規インストール時以外
一切触れないよう修正。
This commit is contained in:
2026-08-26 11:13:48 +09:00
parent 93432e2613
commit 30e377d4ec
4 changed files with 37 additions and 11 deletions
+14
View File
@@ -38,6 +38,20 @@ WordPress本体はイメージ内蔵のもの(`docker.io/wordpress:<tag>-fpm-a
## チャート改修履歴
### Hello Dolly等のデフォルトプラグインが削除しても復活する不具合の修正(2026-08-08, v7.1.0-a
※自動更新ワークフローがこの作業と並行してWordPress 7.1.0への正式リリース(v7.1.0)を実行したため、本修正はそのタグの上に手動リリース `7.1.0-a` として適用した。
**症状**: WP管理画面からHello Dolly`hello.php`)を削除しても、Pod再起動のたびに復活する。
**原因**: `templates/deployment.yaml``wordpress-init` initContainerで、WordPressコアファイルをemptyDirにコピーする処理が `cp -r /usr/src/wordpress/* /var/www/html/` という実装になっており、`wp-content` を除外していなかった。`/var/www/html/wp-content` はPVCマウントの別ボリュームだが、`cp -r` はワイルドカード展開で `wp-content` ディレクトリ自体も対象に含めてしまうため、イメージ同梱のデフォルトwp-content(`hello.php``akismet/`、デフォルトテーマ群)がPod再起動のたびにPVC上の既存wp-contentへ**無条件に上書きマージ**されていた。直後にある「PVCが空の場合のみ初期化する」条件分岐(`if [ ! -d /var/www/html/wp-content/themes ]`)は、この最初の `cp -r` の副作用までは防げていなかった。
**対象**: Hello Dolly`hello.php`)だけでなく、Akismet`wp-content/plugins/akismet/`)も同じ理由で同様に復活する。**本チャート自身が明示的に`wp plugin install`等でプラグインを追加している箇所は存在しない**(該当するのはWordPressコア配布物に同梱されているこの2つのみ)。
**修正内容**: コアファイルのコピーを `/usr/src/wordpress/` 直下を1件ずつ列挙し、`wp-content` をスキップするループに変更。これによりPVC上のwp-contentは、新規インストール時(PVCが空=`wp-content/themes` が存在しない場合)以外は一切触れなくなった。
**対象ファイル**: `templates/deployment.yaml`, `README.md`, `Chart.yaml`
### 実IP取得の修正 + SMTP経由メール送信の追加(2026-08-08, v7.0.2-a
**背景**: ルーター(グローバルIP)配下の 192.168.9.x セグメントにコントロールプレーン/ワーカーノードがあり、その上のPodでWordPressが稼働する構成において、(1) 訪問者の実IPアドレスが正しく取得できない、(2) `wp_mail()` によるメール送信が失敗する、という2つの不具合が報告された。