Dosya İzinleri ve Depolama
Düzgün dosya izinleri hem güvenlik hem de işlevsellik için kritik öneme sahiptir.
Gerekli İzinler
| Yol | İzin | Sahip | Amaç |
|---|---|---|---|
Proje kökü (/var/www/feedbackpulse-saas/) | 755 | www-data | Uygulama dosyaları |
storage/ | 775 | www-data | Günlükler, önbellek, oturumlar, yüklemeler |
storage/app/public/ | 775 | www-data | Genel yüklemeler (logolar, fotoğraflar) |
storage/framework/cache/ | 775 | www-data | Uygulama önbelleği |
storage/framework/sessions/ | 775 | www-data | Kullanıcı oturumları |
storage/framework/views/ | 775 | www-data | Derlenmiş Blade görünümleri |
storage/logs/ | 775 | www-data | Uygulama günlükleri |
bootstrap/cache/ | 775 | www-data | Çerçeve önyükleme önbelleği |
.env | 640 | www-data | Hassas yapılandırma |
İzinleri Ayarlayın (Linux)
cd /var/www/feedbackpulse-saas
# Sahipliği ayarlayın
sudo chown -R www-data:www-data .
# Dosyalar: 644, Dizinler: 755
sudo find . -type f -exec chmod 644 {} \;
sudo find . -type d -exec chmod 755 {} \;
# Yazılabilir dizinler
sudo chmod -R 775 storage bootstrap/cache
# .env dosyasını koruyun
sudo chmod 640 .env
www-datayerine web sunucunuzun kullanıcısını kullanın:
- Ubuntu'da Apache:
www-data- Ubuntu'da Nginx:
www-data- CentOS'ta Apache:
apache- CentOS'ta Nginx:
nginx- Windows'ta Laragon: İzin değişikliği gerekmez
Depolama Sembolik Bağlantısı
Laravel, storage/app/public/ içindeki dosyaları web üzerinden erişilebilir kılmak için sembolik bir bağlantı kullanır:
public/storage -> storage/app/public/
Oluşturun
php artisan storage:link
Doğrulayın
ls -la public/storage
# Şunu göstermeli: public/storage -> /var/www/feedbackpulse-saas/storage/app/public
Ne Depolar
| Dizin | İçerik |
|---|---|
storage/app/public/logos/ | Kiracı şirket logoları |
storage/app/public/products/ | Ürün görselleri |
storage/app/public/submissions/ | Geri bildirimlerden yüklenen fotoğraflar |
storage/app/public/avatars/ | Kullanıcı profil resimleri |
storage/app/public/landing/ | Açılış sayfası öğeleri |
Disk Alanı Yönetimi
Disk Kullanımını İzleyin
# Genel disk kullanımını kontrol edin
df -h
# FeedbackPulse depolama kullanımını kontrol edin
du -sh storage/app/public/
du -sh storage/logs/
du -sh storage/framework/cache/
Günlük Rotasyonu
Laravel günlükleri büyüyebilir. Günlük rotasyonu ayarlayın:
sudo nano /etc/logrotate.d/feedbackpulse
/var/www/feedbackpulse-saas/storage/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
copytruncate
}
Önbelleği Temizleyin
cd /var/www/feedbackpulse-saas
# Uygulama önbelleğini temizleyin
php artisan cache:clear
# Derlenmiş görünümleri temizleyin
php artisan view:clear
# Rota önbelleğini temizleyin
php artisan route:clear
# Yapılandırma önbelleğini temizleyin
php artisan config:clear
# Hepsini birden
php artisan optimize:clear