Aller au contenu principal

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

CheminPermissionPropriétaireObjectif
Racine du projet (/var/www/feedbackpulse-saas/)755www-dataFichiers de l'application
storage/775www-dataJournaux, cache, sessions, fichiers téléversés
storage/app/public/775www-dataFichiers téléversés publics (logos, photos)
storage/framework/cache/775www-dataCache de l'application
storage/framework/sessions/775www-dataSessions utilisateur
storage/framework/views/775www-dataVues Blade compilées
storage/logs/775www-dataJournaux de l'application
bootstrap/cache/775www-dataCache de démarrage du framework
.env640www-dataConfiguration 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-data par 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épertoireContenu
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

Étapes suivantes