Files
phpfpm/CHANGELOG-8.5.6-a.md
claudeandClaude Fable 5 8ff43615fa
Helm Chart Release / release-chart (push) Successful in 5s
feat: Composer導入先をWebルート外(/var/www)に変更 (v8.5.6-a)
従来はWebルート /var/www/html 直下にComposerを導入していたため、
composer.json / composer.lock / vendor/ がWeb経由で公開され、
依存パッケージ情報の漏洩などのセキュリティリスクがあった。

- values.yaml: composer.workingDir を追加(デフォルト: /var/www)
- templates/deployment.yaml: 作業ディレクトリを workingDir に変更、
  Webルート以外の場合はPVCの composer サブパスをマウントして永続化
- README.md: パラメータ説明・autoload読み込みパスの解説を追加
- Chart.yaml: 8.5.6-a(手動リリース)
- CHANGELOG-8.5.6-a.md: 変更内容を記録

PHP側は require_once '/var/www/vendor/autoload.php'; で読み込む。
旧動作へは composer.workingDir: "/var/www/html" で復帰可能。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 14:29:23 +09:00

51 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog - Version 8.5.6-a
## 変更点
### Composer導入先をWebルート外に変更(セキュリティ改善)
従来、Composerは Webルート `/var/www/html` 直下に導入されており、`composer.json` / `composer.lock` / `vendor/` がWeb経由で公開される状態でした。これらのファイルは公開する必要がなく、依存パッケージ構成の漏洩などセキュリティリスクとなるため、デフォルトの導入先をWebルート外の `/var/www` に変更しました。
#### 主な変更点
1. **values.yaml**
- `composer.workingDir` パラメータを追加(デフォルト: `"/var/www"`
- Composerの導入先ディレクトリを任意のパスに変更可能
2. **templates/deployment.yaml**
- Composer実行時の作業ディレクトリを `composer.workingDir` に変更(`mkdir -p` で自動作成)
- `workingDir` がWebルート(`/var/www/html`)以外の場合、PVCの `composer` サブパスを `workingDir` にマウントし、vendor類を永続化(Pod再起動時の再構築を回避、従来と同等の永続化動作を維持)
3. **README.md**
- `composer.workingDir` のパラメータ説明を追加
- Composer導入先とautoload読み込みパスの解説を追加
- Selenium使用例の `require_once` パスを更新
## PHPコードでの利用
```php
// 新: デフォルトの読み込みパス
require_once '/var/www/vendor/autoload.php';
```
## 互換性
- **注意**: PHPコード内で `require_once '/var/www/html/vendor/autoload.php';` や相対パス `vendor/autoload.php` を使用している場合は、パスの修正が必要です。
- 旧バージョンと同じ動作(Webルート直下に導入)へ戻す場合は、以下を指定してください:
```yaml
composer:
workingDir: "/var/www/html"
```
- 既存のPVC内 `html/vendor` はそのまま残ります。不要であれば手動で削除してください。
## セキュリティ
- `vendor/``composer.json` / `composer.lock` がWebサーバー(Nginx)から配信されなくなり、依存パッケージ情報の漏洩や、vendor内スクリプトへの直接アクセスのリスクを排除できます。
---
**リリース日**: 2026-07-19
**担当**: プロサーバーエンジニア(Claude)