From 5037a15fc80fb6cb7104476c0ec29cef1cf3a6a8 Mon Sep 17 00:00:00 2001 From: pieter Date: Fri, 21 Nov 2025 01:34:07 +0000 Subject: [PATCH] =?UTF-8?q?#=20WordPress=20with=20Nginx=20Helm=20Chart=20?= =?UTF-8?q?=20=E3=81=93=E3=81=AEHelm=E3=83=81=E3=83=A3=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=81=AF=E3=80=81Nginx=20+=20WordPress=20(PHP-FPM)=20=E6=A7=8B?= =?UTF-8?q?=E6=88=90=E3=82=92Kubernetes=E4=B8=8A=E3=81=AB=E3=83=87?= =?UTF-8?q?=E3=83=97=E3=83=AD=E3=82=A4=E3=81=97=E3=81=BE=E3=81=99=E3=80=82?= =?UTF-8?q?=20**bitnami/wordpress**=E3=81=AE=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=E3=80=81=E3=83=87=E3=83=97=E3=83=AD=E3=82=A4=E5=BE=8C=E3=81=99?= =?UTF-8?q?=E3=81=90=E3=81=AB=E4=BD=BF=E7=94=A8=E5=8F=AF=E8=83=BD=E3=81=AA?= =?UTF-8?q?=E7=8A=B6=E6=85=8B=E3=81=A7=E8=B5=B7=E5=8B=95=E3=81=97=E3=81=BE?= =?UTF-8?q?=E3=81=99=E3=80=82=20=20##=20=E4=B8=BB=E3=81=AA=E6=A9=9F?= =?UTF-8?q?=E8=83=BD=20=20=E2=9C=85=20**=E8=87=AA=E5=8B=95=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E3=82=B9=E3=83=88=E3=83=BC=E3=83=AB**:=20=E5=88=9D?= =?UTF-8?q?=E5=9B=9E=E3=83=87=E3=83=97=E3=83=AD=E3=82=A4=E6=99=82=E3=81=AB?= =?UTF-8?q?WordPress=E3=82=92=E8=87=AA=E5=8B=95=E3=82=BB=E3=83=83=E3=83=88?= =?UTF-8?q?=E3=82=A2=E3=83=83=E3=83=97=20=E2=9C=85=20**=E8=87=AA=E5=8B=95?= =?UTF-8?q?=E3=83=91=E3=82=B9=E3=83=AF=E3=83=BC=E3=83=89=E7=94=9F=E6=88=90?= =?UTF-8?q?**:=20=E7=AE=A1=E7=90=86=E8=80=85=E3=83=91=E3=82=B9=E3=83=AF?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=82=92=E6=8C=87=E5=AE=9A=E3=81=97=E3=81=AA?= =?UTF-8?q?=E3=81=84=E5=A0=B4=E5=90=88=E3=81=AF=E8=87=AA=E5=8B=95=E7=94=9F?= =?UTF-8?q?=E6=88=90=20=E2=9C=85=20**=E3=82=A2=E3=83=83=E3=83=97=E3=83=87?= =?UTF-8?q?=E3=83=BC=E3=83=88=E5=AF=BE=E5=BF=9C**:=20=E3=82=92=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...’自動セットアップ ✅ **自動パスワード生æˆ**: 管ç†è€…パスワードを指定ã—ãªã„å ´åˆã¯è‡ªå‹•ç”Ÿæˆ âœ… **アップデート対応**: | 129 +++++++++++++++++- 1 file changed, 122 insertions(+), 7 deletions(-) rename README.md => # WordPress with Nginx Helm Chart ã“ã®Helmãƒãƒ£ãƒ¼ãƒˆã¯ã€Nginx + WordPress (PHP-FPM) æ§‹æˆã‚’Kubernetes上ã«ãƒ‡ãƒ—ロイã—ã¾ã™ã€‚ **bitnami/wordpress**ã®ã‚ˆã†ã«ã€ãƒ‡ãƒ—ロイ後ã™ãã«ä½¿ç”¨å¯èƒ½ãªçŠ¶æ…‹ã§èµ·å‹•ã—ã¾ã™ã€‚ ## ä¸»ãªæ©Ÿèƒ½ ✅ **自動インストール**: åˆå›žãƒ‡ãƒ—ロイ時ã«WordPressを自動セットアップ ✅ **自動パスワード生æˆ**: 管ç†è€…パスワードを指定ã—ãªã„å ´åˆã¯è‡ªå‹•ç”Ÿæˆ âœ… **アップデート対応**: (55%) diff --git a/README.md b/# WordPress with Nginx Helm Chart ã“ã®Helmãƒãƒ£ãƒ¼ãƒˆã¯ã€Nginx + WordPress (PHP-FPM) æ§‹æˆã‚’Kubernetes上ã«ãƒ‡ãƒ—ロイã—ã¾ã™ã€‚ **bitnami/wordpress**ã®ã‚ˆã†ã«ã€ãƒ‡ãƒ—ロイ後ã™ãã«ä½¿ç”¨å¯èƒ½ãªçŠ¶æ…‹ã§èµ·å‹•ã—ã¾ã™ã€‚ ## ä¸»ãªæ©Ÿèƒ½ ✅ **自動インストール**: åˆå›žãƒ‡ãƒ—ロイ時ã«WordPressを自動セットアップ ✅ **自動パスワード生æˆ**: 管ç†è€…パスワードを指定ã—ãªã„å ´åˆã¯è‡ªå‹•ç”Ÿæˆ âœ… **アップデート対応**: similarity index 55% rename from README.md rename to # WordPress with Nginx Helm Chart ã“ã®Helmãƒãƒ£ãƒ¼ãƒˆã¯ã€Nginx + WordPress (PHP-FPM) æ§‹æˆã‚’Kubernetes上ã«ãƒ‡ãƒ—ロイã—ã¾ã™ã€‚ **bitnami/wordpress**ã®ã‚ˆã†ã«ã€ãƒ‡ãƒ—ロイ後ã™ãã«ä½¿ç”¨å¯èƒ½ãªçŠ¶æ…‹ã§èµ·å‹•ã—ã¾ã™ã€‚ ## ä¸»ãªæ©Ÿèƒ½ ✅ **自動インストール**: åˆå›žãƒ‡ãƒ—ロイ時ã«WordPressを自動セットアップ ✅ **自動パスワード生æˆ**: 管ç†è€…パスワードを指定ã—ãªã„å ´åˆã¯è‡ªå‹•ç”Ÿæˆ âœ… **アップデート対応**: index 659eb8b..7743ad2 100644 --- a/README.md +++ b/# WordPress with Nginx Helm Chart ã“ã®Helmãƒãƒ£ãƒ¼ãƒˆã¯ã€Nginx + WordPress (PHP-FPM) æ§‹æˆã‚’Kubernetes上ã«ãƒ‡ãƒ—ロイã—ã¾ã™ã€‚ **bitnami/wordpress**ã®ã‚ˆã†ã«ã€ãƒ‡ãƒ—ロイ後ã™ãã«ä½¿ç”¨å¯èƒ½ãªçŠ¶æ…‹ã§èµ·å‹•ã—ã¾ã™ã€‚ ## ä¸»ãªæ©Ÿèƒ½ ✅ **自動インストール**: åˆå›žãƒ‡ãƒ—ロイ時ã«WordPressを自動セットアップ ✅ **自動パスワード生æˆ**: 管ç†è€…パスワードを指定ã—ãªã„å ´åˆã¯è‡ªå‹•ç”Ÿæˆ âœ… **アップデート対応**: @@ -1,6 +1,15 @@ # WordPress with Nginx Helm Chart ã“ã®Helmãƒãƒ£ãƒ¼ãƒˆã¯ã€Nginx + WordPress (PHP-FPM) æ§‹æˆã‚’Kubernetes上ã«ãƒ‡ãƒ—ロイã—ã¾ã™ã€‚ +**bitnami/wordpress**ã®ã‚ˆã†ã«ã€ãƒ‡ãƒ—ロイ後ã™ãã«ä½¿ç”¨å¯èƒ½ãªçŠ¶æ…‹ã§èµ·å‹•ã—ã¾ã™ã€‚ + +## ä¸»ãªæ©Ÿèƒ½ + +✅ **自動インストール**: åˆå›žãƒ‡ãƒ—ロイ時ã«WordPressを自動セットアップ +✅ **自動パスワード生æˆ**: 管ç†è€…パスワードを指定ã—ãªã„å ´åˆã¯è‡ªå‹•ç”Ÿæˆ +✅ **アップデート対応**: 既存ã®DBãŒã‚ã‚‹å ´åˆã¯åˆæœŸåŒ–をスキップ +✅ **ads.txt対応**: values.yamlã‹ã‚‰ ads.txt ã‚’é…ç½®å¯èƒ½ +✅ **本番環境対応**: セキュアãªSecret管ç†ã€HAæ§‹æˆ ## アーキテクãƒãƒ£ @@ -77,6 +86,13 @@ helm install my-wordpress ./wordpress-nginx -f custom-values.yaml | `wordpress.dbUser` | データベースユーザー | `wordpress` | | `wordpress.dbPassword` | データベースパスワード | `changeme` | | `wordpress.tablePrefix` | テーブルプレフィックス | `wp_` | +| `wordpress.siteTitle` | サイトタイトル | `My WordPress Site` | +| `wordpress.siteUrl` | サイトURL | `http://localhost` | +| `wordpress.adminUser` | 管ç†è€…ユーザーå | `admin` | +| `wordpress.adminPassword` | 管ç†è€…パスワード(空=自動生æˆï¼‰ | `""` | +| `wordpress.adminEmail` | 管ç†è€…メール | `admin@example.com` | +| `wordpress.adsTxt.enabled` | ads.txtを有効化 | `false` | +| `wordpress.adsTxt.content` | ads.txtã®å†…容 | `""` | ### Service設定 @@ -104,6 +120,51 @@ helm install my-wordpress ./wordpress-nginx -f custom-values.yaml ## 使用例 +### 基本的ãªã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ï¼ˆãƒ‘スワード自動生æˆï¼‰ + +```bash +helm install my-wordpress ./wordpress-nginx \ + --set wordpress.dbPassword=SecurePassword123 \ + --set wordpress.siteUrl=http://my-wordpress.example.com \ + --set wordpress.siteTitle="My Blog" \ + --set wordpress.adminEmail=admin@example.com + +# パスワードã®å–å¾— +kubectl get secret my-wordpress-wordpress-nginx-secret \ + -o jsonpath='{.data.admin-password}' | base64 -d +echo +``` + +### パスワードを指定ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ« + +```bash +helm install my-wordpress ./wordpress-nginx \ + --set wordpress.dbPassword=SecurePassword123 \ + --set wordpress.adminPassword=AdminPass456 \ + --set wordpress.siteUrl=https://blog.example.com \ + --set wordpress.adminUser=myadmin +``` + +### ads.txt ã‚’é…ç½® + +```bash +helm install my-wordpress ./wordpress-nginx \ + --set wordpress.dbPassword=SecurePassword123 \ + --set wordpress.adsTxt.enabled=true \ + --set-string wordpress.adsTxt.content="google.com, pub-1234567890, DIRECT, f08c47fec0942fa0" +``` + +ã¾ãŸã¯ values.yaml ã«è¨˜è¿°ï¼š + +```yaml +wordpress: + adsTxt: + enabled: true + content: | + google.com, pub-1234567890, DIRECT, f08c47fec0942fa0 + adserver.com, 9876, RESELLER +``` + ### LoadBalancerã§ã®å…¬é–‹ ```bash @@ -131,7 +192,37 @@ helm install my-wordpress ./wordpress-nginx \ --set resources.wordpress.limits.memory=2Gi ``` -## アップグレード +## åˆæœŸåŒ–ã®å‹•作 + +### æ–°è¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ™‚ +1. WordPressファイルをコピー +2. wp-config.phpを生æˆï¼ˆã‚»ã‚­ãƒ¥ã‚¢ãª Salt キー自動生æˆï¼‰ +3. ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹æŽ¥ç¶šã‚’ç¢ºèª +4. テーブルãŒå­˜åœ¨ã—ãªã„å ´åˆï¼š + - WP-CLIを使用ã—ã¦WordPressをインストール + - 管ç†è€…ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ä½œæˆ + - ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ãŒæœªæŒ‡å®šã®å ´åˆã¯16文字ã®ãƒ©ãƒ³ãƒ€ãƒ ç”Ÿæˆ +5. ads.txtãŒæœ‰åйãªå ´åˆã¯é…ç½® + +### アップデート/å†èµ·å‹•時 +1. 既存ã®wp-config.phpを検出 +2. データベーステーブルã®å­˜åœ¨ã‚’ç¢ºèª +3. テーブルãŒå­˜åœ¨ã™ã‚‹å ´åˆï¼š + - åˆæœŸåŒ–処ç†ã‚’スキップ + - コアãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®æ›´æ–°ç¢ºèª + - å¿…è¦ã«å¿œã˜ã¦ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚­ãƒ¼ãƒžã‚’アップデート +4. æ—¢å­˜ãƒ‡ãƒ¼ã‚¿ã‚’ä¿æŒã—ãŸã¾ã¾èµ·å‹• + +### 管ç†è€…パスワードã®ç¢ºèªæ–¹æ³• + +```bash +# Secretã‹ã‚‰å–å¾— +kubectl get secret -wordpress-nginx-secret \ + -o jsonpath='{.data.admin-password}' | base64 -d + +# ã¾ãŸã¯ initContainer ã®ãƒ­ã‚°ã‹ã‚‰ç¢ºèªï¼ˆåˆå›žã®ã¿ï¼‰ +kubectl logs -c wordpress-init +``` ```bash # 設定を変更ã—ã¦ã‚¢ãƒƒãƒ—グレード @@ -150,26 +241,50 @@ helm uninstall my-wordpress ## トラブルシューティング -### Podã®çŠ¶æ…‹ç¢ºèª +### åˆæœŸåŒ–ログã®ç¢ºèª ```bash -kubectl get pods -l app.kubernetes.io/name=wordpress-nginx -kubectl describe pod +# initContainer ã®ãƒ­ã‚°ã‚’ç¢ºèª +kubectl logs -c wordpress-init + +# メインコンテナã®ãƒ­ã‚° kubectl logs -c nginx kubectl logs -c wordpress ``` +### 管ç†è€…パスワードã®å†ç¢ºèª + +```bash +# Secretã‹ã‚‰å–å¾— +kubectl get secret my-wordpress-wordpress-nginx-secret \ + -o jsonpath='{.data.admin-password}' | base64 -d && echo +``` + ### データベース接続ã®ç¢ºèª ```bash +# WordPress コンテナ㧠WP-CLI を実行 kubectl exec -it -c wordpress -- wp db check +kubectl exec -it -c wordpress -- wp db tables ``` -### 永続ボリュームã®ç¢ºèª +### å†åˆæœŸåŒ–ãŒå¿…è¦ãªå ´åˆ ```bash -kubectl get pvc -kubectl describe pvc +# PVCを削除ã—ã¦å†ä½œæˆï¼ˆæ³¨æ„ï¼šãƒ‡ãƒ¼ã‚¿ãŒæ¶ˆãˆã¾ã™ï¼‰ +kubectl delete pvc +helm uninstall my-wordpress +helm install my-wordpress ./wordpress-nginx +``` + +### ads.txt ã®ç¢ºèª + +```bash +# Pod内ã§ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ç¢ºèª +kubectl exec -it -c nginx -- cat /var/www/html/ads.txt + +# ブラウザã¾ãŸã¯curlã§ã‚¢ã‚¯ã‚»ã‚¹ +curl http://your-site.com/ads.txt ``` ## セキュリティ考慮事項