Перейти к основному содержимому

Права доступа к файлам и хранилище

Правильные права доступа к файлам критически важны как для безопасности, так и для функциональности.


Необходимые права доступа

ПутьПраваВладелецНазначение
Корень проекта (/var/www/feedbackpulse-saas/)755www-dataФайлы приложения
storage/775www-dataЛоги, кэш, сессии, загрузки
storage/app/public/775www-dataПубличные загрузки (логотипы, фотографии)
storage/framework/cache/775www-dataКэш приложения
storage/framework/sessions/775www-dataПользовательские сессии
storage/framework/views/775www-dataСкомпилированные Blade-представления
storage/logs/775www-dataЛоги приложения
bootstrap/cache/775www-dataКэш начальной загрузки фреймворка
.env640www-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

Следующие шаги