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
+10 -9
View File
@@ -403,20 +403,19 @@ helm install my-wordpress ./wordpress-nginx \
## 初期化の動作
### 新規インストール時
1. WordPress本体ファイルをemptyDirにコピー(使い捨て領域)
2. wp-contentディレクトリPVCに作成(永続化領域)
3. シンボリックリンクで wp-content を接続
4. wp-config.phpをSecretから生成
5. データベース接続を確認
6. テーブルが存在しない場合:
1. WordPressコアファイルwp-content以外)をemptyDirにコピー(使い捨て領域)
2. wp-contentディレクトリPVCが空の場合のみ、イメージ同梱のデフォルトwp-content(デフォルトテーマ、Akismet、Hello Dolly等)で初期化(永続化領域)
3. wp-config.phpをSecretから生成
4. データベース接続を確認
5. テーブルが存在しない場合:
- WP-CLIを使用してWordPressをインストール
- 管理者アカウントを作成
- パスワードが未指定の場合は16文字のランダム生成
7. ads.txtが有効な場合は配置(使い捨て領域)
6. ads.txtが有効な場合は配置(使い捨て領域)
### アップデート/再起動時
1. WordPress本体ファイルを新しくコピー(常にクリーン)
2. 既存のwp-contentPVCをシンボリックリンクで接続
1. WordPressコアファイルwp-content以外)を新しくコピー(常にクリーン)
2. 既存のwp-contentPVCはそのまま利用(**wp-content配下は一切上書きしない**。デフォルトプラグイン等を削除していればその状態を維持)
3. wp-config.phpを再生成
4. データベーステーブルの存在を確認
5. テーブルが存在する場合:
@@ -425,6 +424,8 @@ helm install my-wordpress ./wordpress-nginx \
- 必要に応じてデータベーススキーマをアップデート
6. 既存データ(wp-content)を保持したまま起動
**注意(v7.1.0-aで修正)**: それ以前は、WordPressコアファイルのコピー処理が `cp -r /usr/src/wordpress/* /var/www/html/` という実装になっており、`wp-content` を除外していませんでした。このため、Pod再起動のたびにイメージ同梱のデフォルトwp-contentHello Dolly、Akismet、デフォルトテーマ等)がPVC上の既存wp-contentへ**毎回上書きマージ**され、ユーザーが削除したはずのプラグインが復活する不具合がありました。v7.1.0-aでコアファイルのコピーからwp-contentを除外し、PVC上のwp-contentは新規インストール時(PVCが空の場合)以外は一切触らないよう修正しています。
### セキュリティ更新の適用方法
```bash