Permissions de Fichiers et Stockage
Des permissions de fichiers correctes sont essentielles pour la sécurité et le bon fonctionnement de l'application.
Permissions requises
| Chemin | Permission | Propriétaire | Objectif |
|---|---|---|---|
Racine du projet (/var/www/feedbackpulse-saas/) | 755 | www-data | Fichiers de l'application |
storage/ | 775 | www-data | Journaux, cache, sessions, fichiers téléversés |
storage/app/public/ | 775 | www-data | Fichiers téléversés publics (logos, photos) |
storage/framework/cache/ | 775 | www-data | Cache de l'application |
storage/framework/sessions/ | 775 | www-data | Sessions utilisateur |
storage/framework/views/ | 775 | www-data | Vues Blade compilées |
storage/logs/ | 775 | www-data | Journaux de l'application |
bootstrap/cache/ | 775 | www-data | Cache de démarrage du framework |
.env | 640 | www-data | Configuration sensible |
Définir les permissions (Linux)
cd /var/www/feedbackpulse-saas
# Définir le propriétaire
sudo chown -R www-data:www-data .
# Fichiers : 644, Répertoires : 755
sudo find . -type f -exec chmod 644 {} \;
sudo find . -type d -exec chmod 755 {} \;
# Répertoires accessibles en écriture
sudo chmod -R 775 storage bootstrap/cache
# Protéger le fichier .env
sudo chmod 640 .env
Remplacez
www-datapar l'utilisateur de votre serveur web :
- Apache sur Ubuntu :
www-data- Nginx sur Ubuntu :
www-data- Apache sur CentOS :
apache- Nginx sur CentOS :
nginx- Laragon sur Windows : aucun changement de permissions nécessaire
Le lien symbolique de stockage
Laravel utilise un lien symbolique pour rendre les fichiers dans storage/app/public/ accessibles via le web :
public/storage -> storage/app/public/
Le créer
php artisan storage:link
Le vérifier
ls -la public/storage
# Devrait afficher : public/storage -> /var/www/feedbackpulse-saas/storage/app/public
Ce qu'il stocke
| Répertoire | Contenu |
|---|---|
storage/app/public/logos/ | Logos des entreprises locataires |
storage/app/public/products/ | Images des produits |
storage/app/public/submissions/ | Photos téléversées depuis les retours |
storage/app/public/avatars/ | Photos de profil des utilisateurs |
storage/app/public/landing/ | Ressources de la page d'accueil |
Gestion de l'espace disque
Surveiller l'utilisation du disque
# Vérifier l'utilisation globale du disque
df -h
# Vérifier l'utilisation du stockage FeedbackPulse
du -sh storage/app/public/
du -sh storage/logs/
du -sh storage/framework/cache/
Rotation des journaux
Les journaux Laravel peuvent devenir volumineux. Configurez la rotation des journaux :
sudo nano /etc/logrotate.d/feedbackpulse
/var/www/feedbackpulse-saas/storage/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
copytruncate
}
Vider le cache
cd /var/www/feedbackpulse-saas
# Vider le cache de l'application
php artisan cache:clear
# Vider les vues compilées
php artisan view:clear
# Vider le cache des routes
php artisan route:clear
# Vider le cache de configuration
php artisan config:clear
# Tout en une seule commande
php artisan optimize:clear