اذهب إلى المحتوى

السؤال

نشر (معدل)

أقوم باستخدام خادم ويب من نوع Apache، ولكن لا أستطيع تحديد ما هي الصلاحيات التي يجب إعطائها لمجلدات المشروع في لارافيل.

على سبيل المثال وحسب التوثيق الرسمي، يحتاج storage لأن يكون قابل للكتابة. ولكن هل هنالك حاجة أيضاً لتعديل صلاحيات باقي المجلدات مثل vendor؟

وما هي أفضل طريقة يمكنني اتباعها في هذا الموضوع؟ هل أقوم بتغيير الصلاحيات على المجلدات أم صلاحيات المستخدم نفسه؟

تم التعديل في بواسطة Amir Alsaeed

Recommended Posts

  • 0
نشر

يوجد طريقتين لإتاحة الصلاحيات على المشروع:

إما أن يتم منح الصلاحيات للخادم، وهي الطريقة المفضلة عند أغلب المبرمجين وأيضاً التي ينصح بها التوثيق الرسمي للارافيل. فمثلاً باعتبار www هو الخادم يمكننا منح صلاحيات الكتابة كالتالي:

sudo chown -R www-data:www-data /path/to/your/laravelproject

وبذلك يمتلك خادم الويب جميع الملفات ضمن مجلد المشروع، وهنا ستواجه بعض المشاكل في حال كنت تستخدم FTP من طرف المستخدم لأنه الاتصال عبر FTP سيكون مسجل دخول وبدوره لا يملك الملفات الموجودة ضمن المشروع. لذلك يجب عليك بعدها إضافة المستخدم إلى نفس المجموعة التي تحوي الخادم كالتالي:

sudo usermod -a -G www-data ubuntu

وبعدها يمكن إعطاء الصلاحيات على الملفات جميعها كالتالي:

sudo find /path/to/your/laravelproject -type f -exec chmod 644 {} \;  

وصلاحيات المجلدات:

sudo find /path/to/your/laravelproject -type d -exec chmod 755 {} \;

أما الطريقة الثانية، فهي عن طريق منح الصلاحيات للمستخدم نفسه. والذي يسهّل آلية العمل عن طريق منح الصلاحيات مباشرةً للمستخدم. ولتنفيذ ذلك أولاً نتوجه إلى مسار مجلد المشروع:

cd /var/www/html/laravelproject

ثم نقوم بتنفيذ الأمر التالي:

sudo chown -R $USER:www-data .

ثم نقوم بإعطاء الصلاحيات للمستخدم على الملفات والمجلدات:

sudo find . -type f -exec chmod 664 {} \;   
sudo find . -type d -exec chmod 775 {} \;

وأخيراً، يجب أيضاً إعطاء الصلاحيات للقراءة والكتابة على storage و cache ضمن لارافيل كالتالي:

sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...