كيفية إصلاح & lsquo ؛ ممنوع - ليس لديك إذن للوصول / على هذا الخادم & [رسقوو] ؛ على مجال بعد إعداد Apache؟

Apache هو برنامج خادم ويب يستخدمه ما يقرب من 67٪ من جميع خوادم الويب في العالم. تم تطوير هذا البرنامج وتوزيعه بواسطة Apache Software Distribution. إنه مفتوح المصدر ومتاح مجانًا. Apache سريع وآمن وموثوق وهو أحد أسباب شعبيته. ومع ذلك ، فقد عانى الكثير من المستخدمين مؤخرًا من الخطأ " محظور - ليس لديك إذن للوصول / على هذا الخادم " أثناء محاولة إعداد Apache لنطاقهم.

ما الذي يسبب الخطأ "ممنوع - ليس لديك إذن للوصول / على هذا الخادم"؟

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

  • إعدادات الدليل العام غير الصحيحة : من المحتمل أن إعدادات الدليل العالمي لم يتم تكوينها بشكل صحيح مما لا يسمح بتوجيه كافٍ للموقع. إذا كان الموقع لا يحتوي على توجيه صحيح ، فقد يؤدي هذا الخطأ.
  • أذونات غير صحيحة : يتطلب Apache أذونات تصل إلى المجلد الجذر للدليل لكي يعمل بشكل صحيح ، إذا لم يتم منح هذه الأذونات ، فقد يتم تشغيل الخطأ.
  • بلا اسم مستخدم : في “httpd.conf” ، يجب إدخال اسم المستخدم الفعلي للمستخدم في بعض الحالات للتخلص من الخطأ. يعمل هذا مع بعض الأشخاص بينما لا ينجح مع البعض.

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

الحل 1: تغيير إعدادات الدليل العام

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

  1. بمجرد أن تكون في " httpd . conf "أو " httpd-vhosts.conf "، ابحث عن إعدادات الدليل ، يجب أن تكون مشابهة للكود المذكور أدناه.
     خيارات FollowSymLinks AllowOverride رفض جميع الطلبات ، السماح من الكل 

    ملاحظة: من الممكن أن يكون الرمز " رفض من الكل " بدلاً من " السماح من الكل ". من المهم أن تقوم بتعديله إلى " السماح من الكل " أو " طلب كل الممنوح " كما هو موضح أدناه.

  2. تأكد من إضافة سطر " Options Indexes FollowSymLinks Includes ExecCGI " إليه بطريقة تبدو مشابهة للكود التالي.
     #Options FollowSymLinks خيارات الفهارس FollowSymLinks يتضمن ExecCGI AllowOverride All Order deny ، allow Allow from all 
  3. تحقق لمعرفة ما إذا كانت المشكلة قائمة.
  4. إذا لم يتم حل المشكلة ، فقم بتعديل الكود عن طريق إزالة " السماح من الكل " إلى " طلب كل الممنوح ".
  5. تحقق لمعرفة ما إذا كانت المشكلة قائمة

الحل 2: تغيير الأذونات

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

  1. بشكل تقليدي ، يوفر المستخدمون الأذونات بالطريقة التالية.
    chgrp -R www-data / username / home / Dropbox / myamazingsite / chmod -R 2750 / username / home / Dropbox / myamazingsite /
  2. هذه الأوامر خاطئة ويجب استبدالها بـ
    chgrp -R www-data / username chmod -R 2750 / username
  3. أيضًا ، ضع في اعتبارك أنك تستخدم المستوى الصحيح من " chmod " ، استخدم واحدًا يوفر أذونات قراءة للمستخدمين مثل " chmod 755 ".
  4. تحقق لمعرفة ما إذا كانت المشكلة لا تزال قائمة بعد تجربة الاقتراحات.

الحل 3: إضافة اسم المستخدم

في “ httpd . conf "، تأكد من إضافة اسم المستخدم الخاص بك بالضبط بدلاً من الكلمتين " مستخدم " أو " مجموعة ". في بعض الحالات ، تؤدي إضافة اسم المستخدم إلى إصلاح المشكلة.