كيفية إصلاح mod_authz_host أخطاء Apache في Linux



جرب أداة القضاء على المشاكل

عند تثبيت خدمة apache2 على Red Hat Enterprise Linux ، أو Arch ، أو Scientific Linux ، أو Debian Server ، أو Ubuntu Server أو أي من التوزيعات الأخرى التي تدعمها ، فقد تجد خطأً بشأن الوحدة النمطية mod_authz_host التي تمنع تنفيذ الخدمة . من المحتمل أن تجد أن هذا الخطأ يمثل مشكلة في أي وقت تقوم فيه بإعادة تشغيل خدمة apache2. يأتي هذا الخطأ عادةً في شكل تحذير بناء جملة حول السطر الأول من الملف ، ولكن يمكنك نظريًا الحصول على خطأ مختلف.



بغض النظر عن الخط الذي قد تواجه مشكلة فيه ، فإن الإصلاح ليس له علاقة تذكر بمضيف mod_authz_host الذي لم يتم تثبيته أو حتى تحميله في ذاكرة الوصول العشوائي. في الواقع ، إذا تلقيت هذا الخطأ ، فهذا يعني أن خدمة خادم apache2 تقوم بتحميل ملف وحدة. تتعلق المشكلة فقط بحقيقة أن التوجيه خارج مكانه في مكان ما ، وإعادة ترتيب الكود يجب أن يحل مشكلتك بسرعة كبيرة. يرجى ملاحظة أنك سترى أحيانًا إرشادات لتثبيت mod_authz_host في apache2 ، وهو أمر غير ذي صلة بهذه المناقشة. لا تأتي أخطائك من نقص في حزمة معينة ولا تأتي من أي نوع من التبعية غير المحققة. الطريقة التي اختارها المطورون لصياغة هذه الأخطاء تؤدي إلى هذه المفاهيم الخاطئة الشائعة.



تصحيح توجيهات الوحدة النمطية limits.conf

من أجل المناقشة ، سنستخدم موسوعة توزيع Linux في distrowatch.com لأمثلة لدينا. تستخدم وثائق apache2 الرسمية dev.example.com كمثال ، وعلى أي حال ، لن ترغب في استخدام أي من هذين العنوانين.



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

بمجرد تحميل الملف ، انتبه جيدًا لما يقرأ ، على سبيل المثال:



أمر رفض ، اسمح

رفض من الجميع

السماح من distrowatch.com

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

أمر رفض ، اسمح

رفض من الجميع

السماح من distrowatch.com

تذكر أنك ستحتاج إلى استبدال distrowatch.com بعنوان URL الفعلي الذي تعمل معه. إذا وجدت أي سطور تشير إلى dev.example.com مباشرةً ، فحينئذٍ تكون قد نسختها مباشرةً من مثال التعليمات البرمجية أو تمت إضافتها افتراضيًا. مجال example.com موجود فقط للتوضيح في المستندات الفنية ولا يخدم أي غرض حقيقي. الوثائق الرسمية في httpd.apache.org/docs/2.2/howto/access.html تشير إليهم بالفعل. ربما يمكنك إزالة هذه بأمان عند إضافة النص الجديد في.

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

هذا ما يعنيه خادم اباتشي عندما يعرض خطأ شيء مثل:

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

يمكن تصحيح أخطاء بناء الجملة المستقبلية بطريقة مماثلة. قد تجد أنه بعد إصلاح ذلك ، تقوم خدمة apache2 بإخراج خطأ آخر. هذا أمر طبيعي ، كما قد يبدو غريبًا لأنه ينفذ التعليمات البرمجية فقط حتى السطر الأول الذي يجد مشكلة فيه. إذا كانت هناك مشاكل أخرى ، فلن تصل إليها أبدًا. إذا كانت لديك أي مشكلة من هذا القبيل ، فاحرص على الانتباه إلى رقم السطر عند تحرير ملف ملف. إذا كنت تستخدم nano لتحرير الملف ، فيمكنك دائمًا الضغط باستمرار على مفتاح Ctrl والضغط على المفتاح C للعثور على الخط الذي يعمل به المؤشر حاليًا. سيؤدي ذلك إلى جعل عملية التصحيح أكثر سلاسة.

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

3 دقائق للقراءة