صلاحيات الملفات والتخزين
تُعدّ صلاحيات الملفات الصحيحة أمرًا بالغ الأهمية للأمان والوظائف معًا.
الصلاحيات المطلوبة
| المسار | الصلاحية | المالك | الغرض |
|---|---|---|---|
جذر المشروع (/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