fix: SMTPパスワードSecretのmodeを0600から0644に修正 (v8.5.6-f)
Helm Chart Release / release-chart (push) Successful in 5s
Helm Chart Release / release-chart (push) Successful in 5s
smtp-secrets ボリュームの mode: 0600 により、Secretファイルの所有者は rootだが、msmtp は PHP mail() 経由で PHP-FPMワーカー(www-data等の 非rootユーザー)として実行されるため読み取れず、 'cat: can't open ... Permission denied' で認証失敗していた。 mode を 0644(全ユーザー読み取り可)に変更。ファイルはPod内にのみ 存在し外部からアクセス不可のため許容できるトレードオフ。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,29 @@
|
|||||||
|
# Changelog - Version 8.5.6-f
|
||||||
|
|
||||||
|
## 修正
|
||||||
|
|
||||||
|
### SMTPパスワードファイルをPHP-FPMワーカーから読めない問題を修正
|
||||||
|
|
||||||
|
`smtp.auth.enabled: true` でSMTP送信メールを設定した際、msmtpが以下のエラーで認証情報を取得できず、メール送信に失敗する問題を修正しました。
|
||||||
|
|
||||||
|
```
|
||||||
|
cat: can't open '/etc/smtp-secrets/password': Permission denied
|
||||||
|
```
|
||||||
|
|
||||||
|
**原因**: `/etc/smtp-secrets/password` を投影するSecretボリュームの `mode` が `0600`(所有者=rootのみ読み取り可)になっていました。msmtp は PHP の `mail()` 呼び出し経由で **PHP-FPMワーカー(`www-data` 等の非rootユーザー)** として実行されるため、rootのみ読み取り可のファイルを読めませんでした。
|
||||||
|
|
||||||
|
**対応**: `templates/deployment.yaml` の `smtp-secrets` ボリュームの `mode` を `0644`(全ユーザー読み取り可)に変更しました。このファイルはPod内にのみ存在し外部からアクセスできないため、許容できるトレードオフです。
|
||||||
|
|
||||||
|
## アップグレード手順
|
||||||
|
|
||||||
|
```bash
|
||||||
|
helm repo update
|
||||||
|
helm upgrade <リリース名> cafepieters/phpfpm --version 8.5.6-f -f values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
Pod再起動後、SMTP経由のメール送信が正常に動作するようになります。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**リリース日**: 2026-07-19
|
||||||
|
**担当**: プロサーバーエンジニア(Claude)
|
||||||
@@ -22,6 +22,12 @@ Raspberry Pi などのベアメタルで稼働することを想定した、Kube
|
|||||||
|
|
||||||
## チャート改修履歴
|
## チャート改修履歴
|
||||||
|
|
||||||
|
### SMTPパスワードSecretの権限を0600→0644に修正(2026-07-19, v8.5.6-f)
|
||||||
|
|
||||||
|
`smtp-secrets` ボリュームの `mode: 0600` が原因で、rootではなく `www-data`(PHP-FPMワーカー)として動く msmtp が `/etc/smtp-secrets/password` を読めず、SMTP認証に失敗する不具合を修正。`0644` に変更(Pod内にしか存在しないファイルのため許容範囲)。
|
||||||
|
|
||||||
|
**対象ファイル**: `templates/deployment.yaml`, `Chart.yaml`, `CHANGELOG-8.5.6-f.md`
|
||||||
|
|
||||||
### PVCルートを /var/www にマウント + /composer を使い捨て化(2026-07-19, v8.5.6-e)
|
### PVCルートを /var/www にマウント + /composer を使い捨て化(2026-07-19, v8.5.6-e)
|
||||||
|
|
||||||
php-fpm コンテナのマウントを「`html` サブパスのみ」から「PVCルート → `/var/www`」に変更。`html/` は公開フォルダ、それ以外(`/var/www/<任意>`)は非公開ファイルの格納先として使える。nginx は `html` サブパスのみマウントするため非公開分は公開されない。あわせて `/composer` のPVC永続化マウントを廃止し、Pod再起動ごとにクリーン再構築される使い捨て領域とした(マルウェア混入対策、ユーザー要望)。永続化したい場合は `workingDir` に `/var/www/composer` 等を指定。
|
php-fpm コンテナのマウントを「`html` サブパスのみ」から「PVCルート → `/var/www`」に変更。`html/` は公開フォルダ、それ以外(`/var/www/<任意>`)は非公開ファイルの格納先として使える。nginx は `html` サブパスのみマウントするため非公開分は公開されない。あわせて `/composer` のPVC永続化マウントを廃止し、Pod再起動ごとにクリーン再構築される使い捨て領域とした(マルウェア混入対策、ユーザー要望)。永続化したい場合は `workingDir` に `/var/www/composer` 等を指定。
|
||||||
|
|||||||
+1
-1
@@ -2,6 +2,6 @@ apiVersion: v2
|
|||||||
name: phpfpm
|
name: phpfpm
|
||||||
description: Nginx + PHP-FPM Helm Chart with external DB and optional Selenium support
|
description: Nginx + PHP-FPM Helm Chart with external DB and optional Selenium support
|
||||||
type: application
|
type: application
|
||||||
version: 8.5.6-e
|
version: 8.5.6-f
|
||||||
appVersion: "8.5.6"
|
appVersion: "8.5.6"
|
||||||
icon: https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/PHP-logo.svg/330px-PHP-logo.svg.png
|
icon: https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/PHP-logo.svg/330px-PHP-logo.svg.png
|
||||||
|
|||||||
@@ -287,6 +287,9 @@ spec:
|
|||||||
items:
|
items:
|
||||||
- key: password
|
- key: password
|
||||||
path: password
|
path: password
|
||||||
mode: 0600
|
# 0600だとSecretボリュームの所有者はroot、
|
||||||
|
# msmtpはPHP-FPMワーカー(www-data等の非root)から実行されるため読めない
|
||||||
|
# → 全ユーザー読み取り可にする(ボリュームはPod内にしか存在しないため許容範囲)
|
||||||
|
mode: 0644
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
Reference in New Issue
Block a user