Amir Alsaeed نشر 16 مارس 2021 أرسل تقرير نشر 16 مارس 2021 (معدل) أقوم باستخدام خادم ويب من نوع Apache، ولكن لا أستطيع تحديد ما هي الصلاحيات التي يجب إعطائها لمجلدات المشروع في لارافيل. على سبيل المثال وحسب التوثيق الرسمي، يحتاج storage لأن يكون قابل للكتابة. ولكن هل هنالك حاجة أيضاً لتعديل صلاحيات باقي المجلدات مثل vendor؟ وما هي أفضل طريقة يمكنني اتباعها في هذا الموضوع؟ هل أقوم بتغيير الصلاحيات على المجلدات أم صلاحيات المستخدم نفسه؟ تم التعديل في 16 مارس 2021 بواسطة Amir Alsaeed اقتباس
0 Sam Ahw نشر 16 مارس 2021 أرسل تقرير نشر 16 مارس 2021 يوجد طريقتين لإتاحة الصلاحيات على المشروع: إما أن يتم منح الصلاحيات للخادم، وهي الطريقة المفضلة عند أغلب المبرمجين وأيضاً التي ينصح بها التوثيق الرسمي للارافيل. فمثلاً باعتبار 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 2 اقتباس
السؤال
Amir Alsaeed
أقوم باستخدام خادم ويب من نوع Apache، ولكن لا أستطيع تحديد ما هي الصلاحيات التي يجب إعطائها لمجلدات المشروع في لارافيل.
على سبيل المثال وحسب التوثيق الرسمي، يحتاج storage لأن يكون قابل للكتابة. ولكن هل هنالك حاجة أيضاً لتعديل صلاحيات باقي المجلدات مثل vendor؟
وما هي أفضل طريقة يمكنني اتباعها في هذا الموضوع؟ هل أقوم بتغيير الصلاحيات على المجلدات أم صلاحيات المستخدم نفسه؟
تم التعديل في بواسطة Amir Alsaeed1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.