Права доступа к файлам и хранилище
Правильные права доступа к файлам критически важны как для безопасности, так и для функциональности.
Необходимые права доступа
| Путь | Права | Владелец | Назначение |
|---|---|---|---|
Корень проекта (/var/www/feedbackpulse-saas/) | 755 | www-data | Файлы приложен ия |
storage/ | 775 | www-data | Логи, кэш, сессии, загрузки |
storage/app/public/ | 775 | www-data | Публичные загрузки (логотипы, фотографии) |
storage/framework/cache/ | 775 | www-data | Кэш приложения |
storage/framework/sessions/ | 775 | www-data | Пользовательские сессии |
storage/framework/views/ | 775 | www-data | Скомпилированные Blade-представления |
storage/logs/ | 775 | www-data | Логи приложения |
bootstrap/cache/ | 775 | www-data | Кэш начальной загрузки фреймворка |
.env | 640 | www-data | Конфиденциальная конфигурация |
Установка прав (Linux)
cd /var/www/feedbackpulse-saas
# Установить владельца
sudo chown -R www-data:www-data .
# Файлы: 644, директории: 755
sudo find . -type f -exec chmod 644 {} \;
sudo find . -type d -exec chmod 755 {} \;
# Директории с правом записи
sudo chmod -R 775 storage bootstrap/cache
# Защитить файл .env
sudo chmod 640 .env
Замените
www-dataна пользователя вашего веб-сервера:
- Apache на Ubuntu:
www-data- Nginx на Ubuntu:
www-data- Apache на CentOS:
apache- Nginx на CentOS:
nginx- Laragon на Windows: изменение прав не требуется
Символическая ссылка на хранилище
Laravel использует символическую ссылку, чтобы сделать файлы из storage/app/public/ доступными через веб:
public/storage -> storage/app/public/
Создание ссылки
php artisan storage:link
Проверка ссылки
ls -la public/storage
# Должно показать: public/storage -> /var/www/feedbackpulse-saas/storage/app/public
Что хранится
| Директория | Содержимое |
|---|---|
storage/app/public/logos/ | Логотипы компаний арендаторов |
storage/app/public/products/ | Изображения продуктов |
storage/app/public/submissions/ | Загруженные фотографии из отзывов |
storage/app/public/avatars/ | Аватары пользователей |
storage/app/public/landing/ | Ресурсы лендинговой страницы |
Управление дисковым пространством
Мониторинг использования диска
# Проверить общее использование диска
df -h
# Проверить использование хранилища FeedbackPulse
du -sh storage/app/public/
du -sh storage/logs/
du -sh storage/framework/cache/
Ротация логов
Логи Laravel могут значительно вырасти. Настройте ротацию логов:
sudo nano /etc/logrotate.d/feedbackpulse
/var/www/feedbackpulse-saas/storage/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
copytruncate
}
Очистка кэша
cd /var/www/feedbackpulse-saas
# Очистить кэш приложения
php artisan cache:clear
# Очистить скомпилированные представления
php artisan view:clear
# Очистить кэш маршрутов
php artisan route:clear
# Очистить кэш конфигурации
php artisan config:clear
# Всё сразу
php artisan optimize:clear