Permisos de Archivos y Almacenamiento
Los permisos de archivos correctos son fundamentales tanto para la seguridad como para el correcto funcionamiento.
Permisos Requeridos
| Ruta | Permiso | Propietario | Propósito |
|---|---|---|---|
Raíz del proyecto (/var/www/feedbackpulse-saas/) | 755 | www-data | Archivos de la aplicación |
storage/ | 775 | www-data | Registros, caché, sesiones, subidas |
storage/app/public/ | 775 | www-data | Subidas públicas (logos, fotos) |
storage/framework/cache/ | 775 | www-data | Caché de la aplicación |
storage/framework/sessions/ | 775 | www-data | Sesiones de usuario |
storage/framework/views/ | 775 | www-data | Vistas Blade compiladas |
storage/logs/ | 775 | www-data | Registros de la aplicación |
bootstrap/cache/ | 775 | www-data | Caché de arranque del framework |
.env | 640 | www-data | Configuración sensible |
Establecer Permisos (Linux)
cd /var/www/feedbackpulse-saas
# Establecer propietario
sudo chown -R www-data:www-data .
# Archivos: 644, Directorios: 755
sudo find . -type f -exec chmod 644 {} \;
sudo find . -type d -exec chmod 755 {} \;
# Directorios con permisos de escritura
sudo chmod -R 775 storage bootstrap/cache
# Proteger el archivo .env
sudo chmod 640 .env
Reemplaza
www-datacon el usuario de tu servidor web:
- Apache en Ubuntu:
www-data- Nginx en Ubuntu:
www-data- Apache en CentOS:
apache- Nginx en CentOS:
nginx- Laragon en Windows: No se necesitan cambios de permisos
El Enlace Simbólico de Almacenamiento
Laravel utiliza un enlace simbólico para que los archivos en storage/app/public/ sean accesibles desde la web:
public/storage -> storage/app/public/
Crearlo
php artisan storage:link
Verificarlo
ls -la public/storage
# Debe mostrar: public/storage -> /var/www/feedbackpulse-saas/storage/app/public
Qué Almacena
| Directorio | Contenido |
|---|---|
storage/app/public/logos/ | Logotipos de empresas de los inquilinos |
storage/app/public/products/ | Imágenes de productos |
storage/app/public/submissions/ | Fotos subidas desde el feedback |
storage/app/public/avatars/ | Fotos de perfil de los usuarios |
storage/app/public/landing/ | Recursos de la página de inicio |
Gestión del Espacio en Disco
Monitorear el Uso del Disco
# Verificar el uso general del disco
df -h
# Verificar el uso del almacenamiento de FeedbackPulse
du -sh storage/app/public/
du -sh storage/logs/
du -sh storage/framework/cache/
Rotación de Registros
Los registros de Laravel pueden crecer mucho. Configura la rotación de registros:
sudo nano /etc/logrotate.d/feedbackpulse
/var/www/feedbackpulse-saas/storage/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
copytruncate
}
Limpiar la Caché
cd /var/www/feedbackpulse-saas
# Limpiar caché de la aplicación
php artisan cache:clear
# Limpiar vistas compiladas
php artisan view:clear
# Limpiar caché de rutas
php artisan route:clear
# Limpiar caché de configuración
php artisan config:clear
# Todo de una vez
php artisan optimize:clear