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​