メインコンテンツまでスキップ

ファイルパーミッションとストレージ

適切なファイルパーミッションはセキュリティと機能の両方において非常に重要です。


必要なパーミッション

パスパーミッションオーナー用途
プロジェクトルート(/var/www/feedbackpulse-saas/755www-dataアプリケーションファイル
storage/775www-dataログ、キャッシュ、セッション、アップロード
storage/app/public/775www-data公開アップロード(ロゴ、写真)
storage/framework/cache/775www-dataアプリケーションキャッシュ
storage/framework/sessions/775www-dataユーザーセッション
storage/framework/views/775www-dataコンパイル済み Blade ビュー
storage/logs/775www-dataアプリケーションログ
bootstrap/cache/775www-dataフレームワークブートストラップキャッシュ
.env640www-data機密設定

パーミッションの設定(Linux)

cd /var/www/feedbackpulse-saas

# 所有権の設定
sudo chown -R www-data:www-data .

# ファイル:644、ディレクトリ:755
sudo find . -type f -exec chmod 644 {} \;
sudo find . -type d -exec chmod 755 {} \;

# 書き込み可能なディレクトリ
sudo chmod -R 775 storage bootstrap/cache

# .env ファイルの保護
sudo chmod 640 .env

www-data を置き換えてください:

  • Ubuntu の Apache:www-data
  • Ubuntu の Nginx:www-data
  • CentOS の Apache:apache
  • CentOS の Nginx:nginx
  • Windows の Laragon:パーミッション変更不要

ストレージシンリンク

Laravel はシンボリックリンクを使用して、storage/app/public/ 内のファイルを Web 経由でアクセスできるようにします:

public/storage -> storage/app/public/

作成方法

php artisan storage:link

確認方法

ls -la public/storage
# 表示例:public/storage -> /var/www/feedbackpulse-saas/storage/app/public

保存されるもの

ディレクトリ内容
storage/app/public/logos/テナントの会社ロゴ
storage/app/public/products/製品画像
storage/app/public/submissions/フィードバックからアップロードされた写真
storage/app/public/avatars/ユーザープロフィール画像
storage/app/public/landing/ランディングページのアセット

ディスク容量管理

ディスク使用量の監視

# 全体のディスク使用量を確認
df -h

# FeedbackPulse のストレージ使用量を確認
du -sh storage/app/public/
du -sh storage/logs/
du -sh storage/framework/cache/

ログローテーション

Laravel のログは大きくなる可能性があります。ログローテーションを設定してください:

sudo nano /etc/logrotate.d/feedbackpulse
/var/www/feedbackpulse-saas/storage/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
copytruncate
}

キャッシュのクリア

cd /var/www/feedbackpulse-saas

# アプリケーションキャッシュをクリア
php artisan cache:clear

# コンパイル済みビューをクリア
php artisan view:clear

# ルートキャッシュをクリア
php artisan route:clear

# 設定キャッシュをクリア
php artisan config:clear

# すべてを一度にクリア
php artisan optimize:clear

次のステップ