feat: Composer導入先をWebルート外(/var/www)に変更 (v8.5.6-a)
Helm Chart Release / release-chart (push) Successful in 5s
Helm Chart Release / release-chart (push) Successful in 5s
従来は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>
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user