يتم تعيين الإعدادات الأساسية لـ Apache وإدارتها بشكل أساسي بواسطة httpd.conf. نحتاج إلى تعديل الإعدادات ذات الصلة بـ Apache، وذلك بشكل أساسي عن طريق تعديل httpd.cong. دعونا نلقي نظرة على محتويات httpd.conf، والتي تنقسم بشكل أساسي إلى 3 أجزاء:
القسم 1: البيئة العالمية
القسم 2: تكوين الخادم "الرئيسي".
القسم 3: المضيفون الظاهريون
【الجزء الأول】
· نوع الخادم المستقل
هذا يعني أن Apache قد تم تشغيله كمستقل، أو يمكن إدخاله. ما يسمى بالمستقل يعني أنه يبدأ مرة واحدة للرد على جميع الاتصالات، بينما يبدأ inetd فقط بعد تلقي طلب اتصال http، وينتهي عند انتهاء الاتصال. ولذلك، فإنه عادة ما يبدأ بشكل مستقل.
· جذر الخادم "/usr/local/httpd"
هذا هو دليل أباتشي
·#LocdFile /use/local/httpd/logs/httpd.lock
احتفظ بالقيمة الافتراضية ولا تغيرها
·PidFile /usr/local/httpd/logs/httpd.pid
يسجل هذا الملف معرف المعالج الأصلي لـ Apache
·ScoreBoardFile /usr/local/httpd/logs/httpd.scoreboard
يقوم هذا الملف بتخزين معلومات حول المعالج
·#ResourceConfig conf/srm.conf
·#AccessConfig conf/access.conf
نظرًا لإدارتنا بواسطة httpd.conf، يتم وضع تعليقات توضيحية على هذين الملفين افتراضيًا، ويمكن الاحتفاظ بالقيم الافتراضية دون تغيير.
· المهلة 300
ضبط فترة المهلة. إذا لم يتصل العميل بالخادم لأكثر من 300 ثانية، أو لم يرسل الخادم معلومات إلى العميل لأكثر من 300 ثانية، فسيتم قطع اتصاله.
·KeepAliveOn
السماح بطلبات متعددة لاتصال العميل. قم بالضبط على "إيقاف" لعدم السماح بذلك.
· MaxKeepAliveRequests 100
أكبر شجرة طلب لكل اتصال. كلما زاد العدد، كان الأداء أفضل. 0 يعني لا يوجد حد
· مين سباير سيرفر 5
· ماكس سبيرسيرفر 10
يعني MinSpareServer 5 أنه سيكون هناك على الأقل 5 معالجات خاملة إذا كان العدد الفعلي أقل من هذا العدد، فسيتم إضافة المعالجات. يمثل MaxSpareServers 10 الحد الأقصى لعدد المعالجات الخاملة. إذا كان الطلب على موقع الويب الخاص بك مرتفعًا، فيمكنك تعيين هذا الرقم إلى عدد أكبر. ومع ذلك، لا تقم بتعيين هذا الرقم ليكون كبيرًا جدًا.
·بدء الخوادم 5
عدد الخوادم عند بدء التشغيل
الحد الأقصى للعملاء 150
تحديد الحد الأقصى لعدد الاتصالات في نفس الوقت، بالطبع، لا يمكن تعيينه ليكون صغيرًا جدًا بمجرد الوصول إلى هذا العدد، لا يمكن إضافة المزيد من العملاء.
·الحد الأقصى للطلب لكل طفل 0
تحديد عدد المتطلبات قبل نتائج المعالج الفرعي، 0 يعني عدم وجود حد
· #اسمع 3000
·#استمع 12.34.56.78:80
استخدم منفذًا آخر أو IP آخر
·عنوان الربط*
يمكنه الإجابة* (جميع عناوين IP) أو عنوان IP المحدد أو اسم المجال الكامل
·#LoadModule foo_module libexec/mod_foo.so
باستخدام وحدة DSO
·#الحالة_الممتدة_On
يمكنك التحقق من معلومات حالة Apache. الإعداد الافتراضي هو إيقاف (مشروح) [قص الصفحة]
【الجزء الثاني】
إذا كان نوع الخادم السابق inetd، فيرجى الانتقال مباشرةً إلى ServerAdmin.
·المنفذ 80
منفذ الاتصال الذي يجيب عليه الخادم المستقل، بالطبع، يمكن أن يكون أيضًا أرقام منافذ أخرى أقل من 1023
· لا أحد المستخدم
· مجموعة لا أحد
المستخدم والمجموعة التي تنفذ httpd
· عنوان البريد الإلكتروني لمسؤول ServerAdmin هذا هو عنوان البريد الإلكتروني للمسؤول إذا كانت هناك مشكلة في Apache، فسيتم إرسال خطاب لإخطار المسؤول بالطبع، يمكنك أيضًا إنشاء حساب مسؤول خصيصًا عن الويب لتلقي رسائل البريد الإلكتروني.
· اسم الخادم اسم المضيف الخاص بك هذا هو اسم المضيف إذا لم يكن هناك اسم مجال، يمكنك أيضًا استخدام IP.
·DocumentRoot "usr/local/httpd/htdocs"
هذا الدليل هو المكان الذي يضع فيه Apache صفحات الويب، وindex.html الموجود بداخله هو الصفحة الرئيسية الافتراضية المتصلة بهذا المضيف.
·
الخيارات اتبعSymLinks
السماح بتجاوز لا شيء
يقوم هذا الدليل بتعيين إجراء التنفيذ للدليل (public_html) حيث يضع المستخدم صفحة الويب. سيتم شرح طرق الوصول إلى الدليل التفصيلية لاحقًا.
·
فهارس الخيارات FolloeSymLinks
السماح بتجاوز لا شيء
الأمر بالسماح والرفض
السماح من الجميع
يضبط هذا الدليل إجراء التنفيذ لدليل الويب الخاص بـ Apache (htdocs)
·UserDir public_html
يمكن للمستخدمين إنشاء دليل public_html في الدليل الخاص بهم لوضع صفحات الويب، وإدخال عنوان http://host/~اسم المستخدم للاتصال بـ...Lao San Fat Mei Mu Yin?/a>
· فهرس الدليل.html
قم بتعيين اسم الصفحة الرئيسية الافتراضية هنا
· AccessFileName.htaccess
هذا هو اسم الملف الذي يتحكم في الوصول. بشكل عام، يتم استخدام اسم htaccess الافتراضي. سيتم شرح استخدام htaccess لاحقًا.
·
الأمر بالسماح والرفض
تنفي من الجميع
يُستخدم هذا لمنع الآخرين من رؤية محتويات الملفات التي تبدأ بـ .ht. فهو لا يحمي محتويات .htaccess فحسب، بل يحمي أيضًا محتويات .htpasswd. بالطبع يمكن أيضًا كتابتها مباشرة. إذا قمت بتغيير AccessFilename، مثل تغيير .htaccess إلى .accessht، فيرجى تذكر إجراء التغييرات ذات الصلة هنا أيضًا، وذلك لمنع الآخرين من رؤيته.
· #CacheNegotiatedDocs
يهدف التعليق التوضيحي إلى إخبار الوكيل بعدم تخزين الملفات التي تم إنشاؤها بواسطة التفاعل في ذاكرة التخزين المؤقت. إذا تمت إزالة #، فسيتم تخزينها في ذاكرة التخزين المؤقت.
· استخدم CanonicalNameOn
استخدم الأسماء القياسية، الافتراضي هو تشغيل. لنفترض أن هناك خادم ويب اسمه الكامل www.sample.com، ويُسمى عمومًا www؛ إذا كنا...youttp://www/abc
·TypeConfig /usr/local/httpd/conf/mime.types
يحدد الملف لتخزين نوع ملف MIME. يمكنك تحرير ملف mime.types بنفسك.
·النوع الافتراضي نص/عادي
التنسيق الافتراضي عندما لا يتعرف الخادم على نوع الملف هذا، ويهدف هذا الإعداد إلى التعامل معه كنص عادي.
·
MIMEMagicFile /usr/local/httpd/conf/magic
تتيح الوحدة mod_mime_magic للخادم تحديد نوع MIME الخاص به بناءً على محتوى الملف. إذا تم تحميل الوحدة النمطية mod_mime_magic، فستتم معالجة قسم MIMEMagicFile. إذا كان...، فهذا يعني أنه لن تتم معالجة هذا القسم إلا إذا لم يتم تحميل الوحدة.
·HostLookups معطلة
إذا كان قيد التشغيل، فسيتم تحويل عنوان IP إلى خادم الأسماء في كل مرة، وسيتم تسجيل اسم هذا الاتصال (على سبيل المثال، www.apache.org). وإذا كان قيد إيقاف التشغيل، فسيتم تسجيل عنوان IP فقط.
· سجل الأخطاء /usr/local/httpd/logs/error_log
حدد موقع ملف سجل الأخطاء (error_log). إذا لم يتم تحديد ملف سجل الأخطاء، فسيتم استخدام هذا الملف.
· تحذير مستوى السجل
يتم تقسيم السجلات إلى عدة مستويات، وهنا تحذير. كل مستوى هو كما يلي: وصف المستوى
تصحيح معلومات التصحيح
معلومات معلومات عامة
لاحظ معلومات مهمة
تحذير رسالة تحذير
حدث خطأ خطأ
الطوارئ الحرجة
تنبيه: يجب التعامل مع الموقف فورًا
amerg النظام يحتضر.
·تنسيق السجل "%h %l %u %t"%r"%>s %b"{المرجع}i""${UserAgent}i""مدمج
تنسيق السجل "%h %l %u %t"%r"%>s %b"commom
تنسيق السجل "%{Referer}i->%U"المرجعي
LogFormat "%{User-agent}i"agent
أربعة تنسيقات تسجيل مخصصة: مجتمعة، مشتركة، مرجعية، وكيل
·CustomLog /usr/local/httpd/logs/access_log مشترك
يستخدم ملف سجل الوصول (access_log) تنسيقًا شائعًا مخصصًا
·#CustomLog /usr/local/httpd/logs/referer_log مرجع
#CustomLog /usr/local/httpd/logs/agent_log agent
#CustomLog /usr/local/httpd/logs/agent_log مدمج
تستخدم ملفات السجلات الثلاثة هذه أيضًا تنسيقات مخصصة (على التوالي، مرجع، وكيل، مدمج)، ولكن التعليقات التوضيحية تشير إلى عدم استخدام هذه الملفات الثلاثة.
· توقيع الخادم
عند التعيين على تشغيل، على صفحة الويب التي أنشأها الخادم (على سبيل المثال، عند حدوث خطأ)، سيكون هناك سطر من المعلومات حول إصدار Apache والمضيف ومنفذ الاتصال، وإذا تم التعيين على البريد الإلكتروني، فسيكون هناك mailto : الارتباط التشعبي للمسؤول.
· الاسم المستعار /icons/ "/usr/local/httpd/icons/"
استخدم اسمًا مستعارًا أقصر بالتنسيق: الاسم المستعار للاسم الأصلي.
·ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"
نفس الاسم المستعار، باستثناء أن هذا هو الدليل الذي تم فيه تعيين البرنامج النصي للخادم
· فهرس أوبتيونسفانسي إندكسينغ
عرض قائمة ملفات جميلة المظهر (تطابق الرسومات المقابلة لكل ملف أدناه)
·AddIconByEncoding(CMP,/icons/compressed.gif)x-conpress x-gzip
·AddIcon /icons/blank.gif^^BLANKICON^^DefaultIcon/icons/unknow.gif
هذه هي الرسومات المقابلة لأنواع الملفات المختلفة عند عرض قائمة الملفات (المشار إليها سابقًا باسم FancyIndex). على سبيل المثال، رسومات تمثيل هذه الملفات الثلاثة، .ps و.si و.eps، كلها بصيغة a.gif.
·#AddDescription "مستند مضغوط بصيغة GZIP" .gz
#AddDescription "أرشيف القطران" .tar
#AddDescription "أرشيف القطران المضغوط بصيغة GZIP" .tgz
هذه هي الأوصاف المرفقة بالملفات عند عرض قائمة الملفات والتنسيق هو:
AddDescription اسم الملف "الوصف" على سبيل المثال: AddDescription "إنه txt خاص" my.txt
· التمهيدي اسم الملف التمهيدي
عند عرض قائمة الملفات، اعرض محتوى ملف README في الأسفل. إعداد البرنامج النصي CGI / باستخدام httpd.conf باعتباره ملف التكوين الوحيد / ترخيص المستخدم والتحكم في الوصول. هناك العديد من المقالات حول تكوين Apache واستخدامه في LinuxAid للحصول على شرح مفصل، تتناول هذه المقالة استخدام ملفات التكوين والتحكم في الوصول إلى الملفات عند استخدام Apache. [قص الصفحة]
إذا كان لديك فهم معين لـ Apache، وخاصة العديد من ملفات التكوين، فسوف يساعدك ذلك على فهم محتوى هذه المقالة، وإذا كنت لا تعرف استخدام ملفات التكوين هذه جيدًا، فلننتهز هذه الفرصة للتعرف على كل منها؛ آخر.
1. فيما يتعلق بتكوين البرامج النصية لتنفيذ CGI، هناك طريقتان لإعداد البرامج النصية لـ CGI. أولاً، يحتوي ملف البرنامج النصي CGI على ملحق .cgi؛ وثانيًا، قم بتعيين الدليل القابل للتنفيذ للبرنامج النصي. ومع ذلك، تتطلب كلتا الطريقتين ضبط الملف المراد تنفيذه على 711 قبل أن يتم تنفيذه.
الطريقة الأولى هي تعيين الدليل الذي تريد توزيعه على Option ExecCGI All في ملف access.conf، وإضافة الجملة التالية إلى ملف تكوين المورد srm.conf:
AddHandle cgi-script .cgi
بهذه الطريقة، في جميع الدلائل، طالما أن الملف الخاص بك له امتداد .cgi وإذن الوصول إلى الملف هو 711، بغض النظر عن مكان وجود الملف في دليل التوزيع الخاص بك، يمكن أن يطلق عليه خادم Apache اسم CGI. هذه الطريقة بشكل عام ليست آمنة مثل الطريقة الثانية.
الطريقة الثانية هي استخدام دليل كدليل قابل للتنفيذ ووضع كافة ملفات cgi فيه، وليس من الضروري أن تكون ملفات ذات امتداد .cgi لتكون قابلة للتنفيذ، ولكن فقط الملفات ذات السمة 711 يمكن تنفيذها. ويحظر الوصول إلى الملفات الأخرى غير القابلة للتنفيذ. يحتوي ملف التكوين الافتراضي الخاص بنا على مثال رائع:
الوصول.conf:
<الدليل /الصفحة الرئيسية/httpd/cgi-bin/>
السماح بتجاوز لا شيء
OptionsExecCGI
</الدليل>
srm.conf
الاسم المستعار للبرنامج النصي /cgi-bin/ /home/httpd/cgi-bin/
بهذه الطريقة، طالما أنه يمكن استدعاء الملفات القابلة للتنفيذ في الدليل /home/httpd/cgi-bin/ بواسطة خادم الويب، فسيتم رفض الوصول إلى الملفات غير القابلة للتنفيذ الأخرى.
2. تكوين دليل التوزيع الخاص بالمستخدم هناك طريقتان للإعداد:
الأول هو الطريقة الافتراضية للنظام، أي أن دليل public_html الموجود ضمن دليل المستخدم هو دليل توزيع المستخدم، وملف الصفحة الرئيسية الافتراضي هو Index.html، وهذا الدليل لا يدعم CGI.
والثاني هو إعداد دليل نشر خصيصًا للمستخدمين في الدلائل الأخرى، على سبيل المثال، إذا كنت أريد أن يكون الدليل /home/html هو دليل الويب الخاص بالمستخدم، فيجب على المسؤول إعداد دليل فرعي لكل مستخدم في هذا الدليل. مثل:/home/html/user01، /home/html/user02، وما إلى ذلك. بعد ذلك، لم يعد من الممكن أن يتبع UserDir في ملف srm.conf الخاص بك public_html، ويجب تغييره إلى: UserDir /home/html/*/. لاحظ أن "*" هنا يمثل أي شخص عندما تطلب متصفحًا مثل عندما يكون http://www.domain/~user01، ملف Apache...index.html.
لا يتطلب هذا الإعداد تعيين سمات الوصول للدليل في Access.conf. وأيضًا، عندما نقوم بإعداد المضيف الظاهري، لا نحتاج إلى تعيين سمات الوصول للدليل، ومع ذلك، إذا كنت تريد أن يحتوي الدليل على CGI الأذونات، يجب عليك الانتقال إلى Access. تكوين أذونات الوصول للدليل في ملف .conf. على سبيل المثال، إذا كنت تريد أن يتمتع جميع المستخدمين لديك بحقوق وصول CGI في دليل الإصدار الخاص بهم، فستحتاج إلى تعيينه بهذه الطريقة في وصولك. .conf:
<الدليل /home/html/*/cgi-bin/>
السماح بتجاوز لا شيء
OptionsExecCGI
</الدليل>
لاحظ أنه تم تعيين الدليل الفرعي cgi-bin في دليل المستخدم كدليل تنفيذ cgi، وهذا إعداد آمن وهو أيضًا عادة UNIX.
3. كيفية تعيين خادم Apache كخدمة فرعية لـ inetd. بعد تثبيت Apache، يتم تعيينه للتشغيل في الوضع المستقل بشكل افتراضي. إذا كنت تريد تعيينه كخدمة فرعية لـ inetd، فلا تقم بالتنشيط أولاً httpd في كل مرة تقوم فيها بتنشيط Linux، ثم قم بتحرير /etc/inetd.conf وأضف العبارات التالية: httpstream tcp nowait root /usr/sbin/httpd httpd
ثم قم بإعادة تنشيط خادم inetd. بهذه الطريقة، عند استخدام الأمر ps -aux للتحقق من حالة تشغيل العملية، لن تجد وجود عملية httpd، ولكن بمجرد أن يطلب العميل صفحة، يقوم inetd بتنشيط عملية httpd لخدمة الطلب، ثم يقوم بتحريرها تلقائيًا، ويساعد وضع التشغيل على توفير موارد النظام، ولكن إذا كانت خدمة الويب الخاصة بك مهمة جدًا، فلا يوصى عمومًا بتعيينها للتشغيل في هذا الوضع.
4. استخدم httpd.conf كملف التكوين الوحيد. يوفر Apache للمستخدمين ثلاثة ملفات تكوين: ملفات srm.conf، وaccess.conf، وhttpd.conf. في الواقع، هذه الملفات الثلاثة متساوية. يمكن وضع كافة التكوينات في ملف httpd.conf منفصل. في الواقع، تم القيام بذلك في Apache 1.3.2. يجب تضمين العنصرين التاليين في توجيه httpd.conf لمنع Apache من الوصول إلى ملفات التكوين srm.conf وaccess.conf:
AccessConfig /dev/null
تكوين الموارد /dev/null
في Apache1.3.2، ما عليك سوى التعليق على السطرين التاليين:
AccessConfig conf/access.conf
تكوين الموارد conf/srm.conf
5. ترخيص المستخدم والتحكم في الوصول ربما واجهت هذا الموقف عند زيارة بعض مواقع الويب عندما تنقر على رابط، سينبثق متصفحك مربع حوار للمصادقة، يطلب منك إدخال رقم حسابك وكلمة المرور، وإذا لم يكن الأمر كذلك، فقد فزت لن تتمكن من متابعة التصفح. قد يعتقد بعض الأشخاص أن هذا يتم باستخدام CGI، لكن هذا ليس هو الحال. هذه هي آلية ترخيص المستخدم والتحكم في الوصول لخادم WWW في العمل.
هل مازلت تتذكر أنه أثناء عملية إعداد بيئة خدمة Apache، يوجد توجيه <Directory>........<./Directory>، والذي يمكن أن يوفر حماية مختلفة لأدلة مختلفة. ومع ذلك، يتطلب مثل هذا الإعداد إعادة تشغيل الخادم ليصبح ساري المفعول، وهو أقل مرونة في تحديد ملفات التحكم في الوصول من خلال توجيه AccessFile، وتكون الخطوات التالية لتعيين أذونات التحكم في وصول المستخدم في خادم Apache:
1. قم أولاً بتعيين ملف httpd.conf كما يلي:
<الدليل /الصفحة الرئيسية/httpd/html>
# السماح بتجاوز FileInfo AuthConfig Limit
# فهارس خيارات MultiViews SymLinksIfOwnerMatch IncludedNoExec
تتضمن الخيارات فهارس FollowSymLinks
AllowOverride All //*لاحظ أنه يجب ضبطAllowOverride على All، حتى يعمل ملف .htaccess التالي
<الحد من الحصول على خيارات النشر>
الأمر بالسماح والرفض
السماح من الجميع
</الحد>
# <الحد من وضع الحذف، التصحيح، PROPPATCH، MKCOL، COPY، MOVE، LOCK، UNLOCK>
# رفض الأمر، السماح
#الرفض من الجميع
# </الحد>
</الدليل>
#حدد اسم الملف لتكوين أذونات التحكم في الوصول
AccessFileName.htaccess
2. قم بإنشاء محتوى ملف .htaccess للتحكم في أذونات الوصول لدليل معين، يجب عليك إنشاء ملف التحكم في الوصول. ويتم تحديد ".htaccess" أمام اسم الملف، ويكون تنسيق محتواه كما يلي:
اسم ملف كلمة مرور حساب المستخدم AuthUserFile
اسم ملف كلمة مرور حساب مجموعة AuthGroupFile
نص مطالبة شاشة AuthName
طريقة المصادقة AuthType
<الحد من الحصول على>
طريقة التحقق من كلمة المرور
</الحد>
يوفر AuthType حاليًا طريقتين لمصادقة المستخدم: Basic وDigest.
طريقة إعداد التحقق من كلمة المرور هي نفس الإعدادات ذات الصلة في httpd.conf.
الأمثلة المحددة هي كما يلي:
AuthUserFile /etc/secure.user
مركز شهادات أمان AuthName
نوع المصادقة الأساسي
<الحد من الحصول على>
تتطلب مستخدمًا صالحًا
</الحد>
3. قم بإنشاء ملف كلمة مرور المستخدم إذا كنت تقوم بإنشاء كلمة مرور مستخدم لأول مرة، فسيكون تنسيق الأمر كما يلي:
htpasswd -c اسم ملف كلمة المرور اسم المستخدم في المثال أعلاه، قمنا بوضع ملف كلمة مرور المستخدم في ملف /etc/secure.user، لذا يجب أن تكون العمليات هنا كما يلي:
htpasswd -c /etc/secure.user سيف
سيطالبك البرنامج بإدخال كلمة مرور المستخدم مرتين، ومن ثم تم إنشاء ملف كلمة مرور المستخدم وإضافة سيف المستخدم.
إذا كنت تريد إضافة مستخدم جديد إلى ملف كلمة المرور، فاتبع تنسيق الأمر التالي:
htpasswd اسم مستخدم ملف كلمة المرور بهذه الطريقة، بعد إعادة تشغيل httpd، سينبثق مربع حوار عند الدخول إلى دليل الويب، يطلب اسم المستخدم وكلمة مرور المستخدم.
4. كيفية تقليل تأثير التحكم في الوصول على أداء Apache؟ الاستخدام المتكرر للتحكم في الوصول سيكون له تأثير أكبر على أداء Apache، فكيف يمكننا تقليل هذا التأثير؟ إحدى أبسط الطرق وأكثرها فعالية هي تقليل عدد ملفات htaccess. وهذا يمكن أن يمنع Apache من إجراء عمليات فحص الترخيص لكل طلب بناءً على محتويات ملف htaccess. فهو لا يبحث فقط عن ملفات .htaccess في الدليل الحالي، بل يبحث أيضًا في الدليل الأصلي للدليل الحالي.
/
/usr
/usr/local
/usr/local/etc
/usr/local/etc/httpd
/usr/local/etc/httpd/htdocs
/usr/local/etc/httpd/htdocs/docs
عادة لا يوجد ملف htaccess في الدليل الجذر، لكن Apache لا يزال يقوم بفحص روتيني للتأكد من عدم وجود الملف. وهذا أمر يؤثر بشكل كبير على كفاءة الخادم. يمكن للطريقة التالية التخلص من هذه العملية المزعجة: اضبط خيار السماح بالتجاوز على لا شيء حتى يقوم Apache بالتحقق من ملف .htaccess. قم بتعيين الخيارAllowOverride للدليل /root على لا شيء، وقم فقط بتعيين الخيارAllowOverride في الدليل الذي يتطلب التحكم في الوصول للجميع. على سبيل المثال، في المثال التالي، تم إيقاف تشغيل الخيارAllowOverride للدليل /root، وفقط يتم فتح /usr/local/. خيارAllowOerride في الدليل etc/httpd/htdocs، بحيث يقوم النظام فقط بفحص ملف .htaccess في /usr/local/etc/httpd/htdocs لتحقيق غرض تحسين كفاءة الخدمة.
<الدليل />
السماح بتجاوز لا شيء
</الدليل>
<الدليل /usr/local/etc/httpd/htdocs>
السماح بتجاوز الكل
</الدليل>
إذا كانت هناك أدلة أخرى لتخزين ملفات WWW إلى جانب الدليل الجذر، فيمكنك أيضًا إعدادها بنفس الطريقة. على سبيل المثال: إذا كنت تستخدم UserDir للسماح للمستخدمين بالوصول إلى الأدلة الخاصة بهم، فإن إعدادات السماح بالتجاوز هي كما يلي:
<الدليل /الصفحة الرئيسية/*/public_html>
السماح بفهرسة معلومات الملف تتضمن NOEXEC
</الدليل>
5. لمنع المستخدمين من الوصول إلى نظام الملفات المحدد، هناك بعض الملفات غير المناسبة لمستخدمي WWW، مثل: .htaccess، وhtpasswd، و*.pl، وما إلى ذلك، ويمكنك استخدام <Files> لتحقيق هذا الغرض:
<ملفات.htaccess>
السماح بالأمر، الرفض
أنكر من الجميع
</الملفات>
يتحكم وصول المستخدم في ثلاثة ملفات .htaccess، .htpasswd و.htgroup (لأسباب أمنية، يجب منع المستخدمين من تصفح محتوياتهم. يمكنك إضافة المحتوى التالي إلى httpd.conf لمنع المستخدمين من الوصول إليها:
<الملفات ~”/.ht”>
رفض الأمر، السماح
تنفي من الجميع
</الملفات>
بهذه الطريقة، لن يتمكن المستخدمون من الوصول إلى هذه الملفات الثلاثة.
6. تقييد بعض المستخدمين من الوصول إلى ملفات محددة
يمكن لـ <Directory> تقييد الدليل لتقييد مستخدمين معينين من الوصول إلى ملف معين، يمكنك استخدام <Location>. على سبيل المثال، إذا لم يكن مسموحًا للمستخدمين في النطاقات غير domain.com بالوصول إلى /prices/internal.html، فيمكنك ذلك. يمكن استخدام الإعدادات التالية:
<الموقع /الأسعار/internal.html>
رفض الطلب، السماح
أنكر من الجميع
السماح من .domain.com
</الموقع>
إذا كان الجهاز الذي تريد منح الأذونات المقابلة لا يحتوي على اسم نطاق عام، فيرجى تعيين عنوان IP الخاص به لاسم محدد في ملف /etc/hosts الخاص بك، ثم تعيينه في الموقع، وإلا فإن هذا الخيار لا يعمل .
7. قبول الوصول من روابط محددة فقط، على سبيل المثال، يُسمح فقط للمستخدمين الذين لديهم روابط من http://www.sina.com.cn/* بالدخول إلى هذا الدليل، ولا يُسمح للزوار من الروابط الأخرى بالدخول "*؛ "يعني جميع الروابط الموجودة أسفل هذا الموقع. من بينها، http://www.sina.com.cn/* يمكن أن يكون أيضًا: http://202.106.184.200/* أو الملف المحدد http://www.sina.com.cn/news.html
محتويات ملف .htaccess هي كما يلي:
AuthUserFile /dev/null
AuthGroupFile /dev/null
اسم المصادقة مثالAllowFromSpecificURL
نوع المصادقة الأساسي
<الحد من الحصول على>
رفض الطلب، السماح
أنكر من الجميع
السماح بالإحالة من http://www.sina.com.cn/*
</الحد>
6. كيفية الوصول إلى محتويات الدليل المثبت في mnt من خلال Apache. لتصفح محتويات القرص المضغوط، يجب عليك أولاً تحميل القرص المضغوط على /mnt/cdrom. وينطبق الشيء نفسه على الوصول إلى dos أو الأقسام الأخرى الموجودة في Linux تحتاج إلى تركيبه على /mnt أولاً. يمكن للطريقة الموضحة أدناه عرض محتويات الدليل الذي تم تحميله من خلال Apache:
1. قم أولاً بتحميل المحتوى الذي يجب تثبيته على mnt، مثل:
جبل –t iso9660 /dev/cdrom /mnt/cdrom
2. قم بتعديل ملف srm.conf في /usr/local/etc/httpd/conf (قم بتعديل httpd.conf في Apache1.3.2)
إضافة دعم الاسم المستعار:
# الاسم المستعار الاسم الحقيقي
# الاسم المستعار لخادم netware //
الاسم المستعار /netware/ /mnt/MYDOM_NW/vol1/home/htmldocs/
الاسم المستعار /winNT/ /mnt/MYDOM_NT/
الاسم المستعار /unix/ /mnt/MYDOM_UNIX
في الواقع، إن أبسط طريقة لهذه الخطوة هي إنشاء دليل ارتباط مباشرةً ضمن دليل ملف WWW، مثل:
ln –s /mnt/MYDOM_NT/ winNT
ويمكن تحقيق نفس التأثير.
3. أخيرًا، استخدم الدليل لتحديد حقوق وصول المستخدم إلى الأدلة المذكورة أعلاه:
<الدليل “/mnt/MYDOM_NT”>
فهارس الخيارات طرق العرض المتعددة
السماح بتجاوز لا شيء
الأمر بالسماح والرفض
السماح من الجميع
</الدليل>
لاحظ أنه يجب تحديد الفهارس الموجودة في الخيارات، وإلا إذا لم يكن هناك ملف Index.html في الدليل المفتوح، فلن يتمكن المستخدم من تصفح بنية الدليل بأكمله، وسيقوم الخادم بإرجاع إشارة خطأ.
بعد الانتهاء من هذه المهام، لا تنس إعادة تشغيل Apache. قم بالوصول إلى محتوى القرص المضغوط الموجود على العميل من خلال http://www.yourdomain/CDROM/، وهكذا بالنسبة للأنظمة الأخرى.
#DocumentRoot "/usr/local/Apache/htdocs"
# قم بتعيين الدليل حيث يتم تخزين ملفات HTML الخاصة بالموقع.
<الدليل />
الخيارات اتبعSymLinks
السماح بتجاوز لا شيء
</الدليل>
#تعيين/توجيه الدليل. خاصة:
الخيار: تحديد العمليات التي يمكن تنفيذها داخل الدليل.
لا شيء: يعني أنه يمكنك التصفح فقط،
FollowSymLinks: يسمح للصفحات بالارتباط بأماكن أخرى،
ExecCGI: يسمح بتنفيذ CGI،
MultiViews: يسمح بعمليات مثل مشاهدة الرسوم المتحركة أو الاستماع إلى الموسيقى،
الفهارس: تسمح للخادم بإرجاع قائمة منسقة من الدلائل،
يتضمن: السماح باستخدام SSI. يمكن التحقق من هذه الإعدادات.
الكل: يمكنه فعل أي شيء باستثناء MultiViews.
السماح بالتجاوز: إضافة المعلمة لا شيء يعني أنه يمكن لأي شخص تصفح الملفات الموجودة في هذا الدليل.
المعلمات الإضافية هي: FileInfo وAuthConfig وLimit.
【الجزء الثاني】
إذا كان نوع الخادم السابق inetd، فيرجى الانتقال مباشرةً إلى ServerAdmin.
·المنفذ 80
منفذ الاتصال الذي يجيب عليه الخادم المستقل، بالطبع، يمكن أن يكون أيضًا أرقام منافذ أخرى أقل من 1023
· لا أحد المستخدم
· مجموعة لا أحد
المستخدم والمجموعة التي تنفذ httpd
· عنوان البريد الإلكتروني لمسؤول ServerAdmin هذا هو عنوان البريد الإلكتروني للمسؤول إذا كانت هناك مشكلة في Apache، فسيتم إرسال خطاب لإخطار المسؤول بالطبع، يمكنك أيضًا إنشاء حساب مسؤول خصيصًا عن الويب لتلقي رسائل البريد الإلكتروني.
· اسم الخادم اسم المضيف الخاص بك هذا هو اسم المضيف إذا لم يكن هناك اسم مجال، يمكنك أيضًا استخدام IP.
·DocumentRoot "usr/local/httpd/htdocs"
هذا الدليل هو المكان الذي يضع فيه Apache صفحات الويب، وindex.html الموجود بداخله هو الصفحة الرئيسية الافتراضية المتصلة بهذا المضيف.
·
الخيارات اتبعSymLinks
السماح بتجاوز لا شيء
يقوم هذا الدليل بتعيين إجراء التنفيذ للدليل (public_html) حيث يضع المستخدم صفحة الويب. سيتم شرح طرق الوصول إلى الدليل التفصيلية لاحقًا.
·
فهارس الخيارات FolloeSymLinks
السماح بتجاوز لا شيء
الأمر بالسماح والرفض
السماح من الجميع
يضبط هذا الدليل إجراء التنفيذ لدليل الويب الخاص بـ Apache (htdocs)
·UserDir public_html
يمكن للمستخدمين إنشاء دليل public_html في الدليل الخاص بهم لوضع صفحات الويب، وإدخال عنوان http://host/~اسم المستخدم للاتصال بـ...Lao San Fat Mei Mu Yin?/a>
· فهرس الدليل.html
قم بتعيين اسم الصفحة الرئيسية الافتراضية هنا
· AccessFileName.htaccess
هذا هو اسم الملف الذي يتحكم في الوصول. بشكل عام، يتم استخدام اسم htaccess الافتراضي. سيتم شرح استخدام htaccess لاحقًا.
·
الأمر بالسماح والرفض
تنفي من الجميع
يُستخدم هذا لمنع الآخرين من رؤية محتويات الملفات التي تبدأ بـ .ht. فهو لا يحمي محتويات .htaccess فحسب، بل يحمي أيضًا محتويات .htpasswd. بالطبع يمكن أيضًا كتابتها مباشرة. إذا قمت بتغيير AccessFilename، مثل تغيير .htaccess إلى .accessht، فيرجى تذكر إجراء التغييرات ذات الصلة هنا أيضًا، وذلك لمنع الآخرين من رؤيته.
· #CacheNegotiatedDocs
يهدف التعليق التوضيحي إلى إخبار الوكيل بعدم تخزين الملفات التي تم إنشاؤها بواسطة التفاعل في ذاكرة التخزين المؤقت. إذا تمت إزالة #، فسيتم تخزينها في ذاكرة التخزين المؤقت.
· استخدم CanonicalNameOn
استخدم الأسماء القياسية، الافتراضي هو تشغيل. لنفترض أن هناك خادم ويب اسمه الكامل www.sample.com، ويُسمى عمومًا www؛ إذا كنا...youttp://www/abc
·TypeConfig /usr/local/httpd/conf/mime.types
يحدد الملف لتخزين نوع ملف MIME. يمكنك تحرير ملف mime.types بنفسك.
·النوع الافتراضي نص/عادي
التنسيق الافتراضي عندما لا يتعرف الخادم على نوع الملف هذا، ويهدف هذا الإعداد إلى التعامل معه كنص عادي.
·
MIMEMagicFile /usr/local/httpd/conf/magic
تتيح الوحدة mod_mime_magic للخادم تحديد نوع MIME الخاص به بناءً على محتوى الملف. إذا تم تحميل الوحدة النمطية mod_mime_magic، فستتم معالجة قسم MIMEMagicFile. إذا كان...، فهذا يعني أنه لن تتم معالجة هذا القسم إلا إذا لم يتم تحميل الوحدة.
·HostLookups معطلة
إذا كان قيد التشغيل، فسيتم تحويل عنوان IP إلى خادم الأسماء في كل مرة، وسيتم تسجيل اسم هذا الاتصال (على سبيل المثال، www.apache.org). وإذا كان قيد إيقاف التشغيل، فسيتم تسجيل عنوان IP فقط.
· سجل الأخطاء /usr/local/httpd/logs/error_log
حدد موقع ملف سجل الأخطاء (error_log). إذا لم يتم تحديد ملف سجل الأخطاء، فسيتم استخدام هذا الملف.
· تحذير مستوى السجل
يتم تقسيم السجلات إلى عدة مستويات، وهنا تحذير. كل مستوى هو كما يلي: وصف المستوى
تصحيح معلومات التصحيح
معلومات معلومات عامة
لاحظ معلومات مهمة
تحذير رسالة تحذير
حدث خطأ خطأ
الطوارئ الحرجة
تنبيه: يجب التعامل مع الموقف فورًا
amerg النظام يحتضر.
·تنسيق السجل "%h %l %u %t"%r"%>s %b"{المرجع}i""${UserAgent}i""مدمج
تنسيق السجل "%h %l %u %t"%r"%>s %b"commom
تنسيق السجل "%{Referer}i->%U"المرجعي
LogFormat "%{User-agent}i"agent
أربعة تنسيقات تسجيل مخصصة: مجتمعة، مشتركة، مرجعية، وكيل
·CustomLog /usr/local/httpd/logs/access_log مشترك
يستخدم ملف سجل الوصول (access_log) تنسيقًا شائعًا مخصصًا
·#CustomLog /usr/local/httpd/logs/referer_log مرجع
#CustomLog /usr/local/httpd/logs/agent_log agent
#CustomLog /usr/local/httpd/logs/agent_log مدمج
تستخدم ملفات السجلات الثلاثة هذه أيضًا تنسيقات مخصصة (على التوالي، مرجع، وكيل، مدمج)، ولكن التعليقات التوضيحية تشير إلى عدم استخدام هذه الملفات الثلاثة.
· توقيع الخادم
عند التعيين على تشغيل، على صفحة الويب التي أنشأها الخادم (على سبيل المثال، عند حدوث خطأ)، سيكون هناك سطر من المعلومات حول إصدار Apache والمضيف ومنفذ الاتصال، وإذا تم التعيين على البريد الإلكتروني، فسيكون هناك mailto : الارتباط التشعبي للمسؤول.
· الاسم المستعار /icons/ "/usr/local/httpd/icons/"
استخدم اسمًا مستعارًا أقصر بالتنسيق: الاسم المستعار للاسم الأصلي.
·ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"
نفس الاسم المستعار، باستثناء أن هذا هو الدليل الذي تم فيه تعيين البرنامج النصي للخادم
· فهرس أوبتيونسفانسي إندكسينغ
عرض قائمة ملفات جميلة المظهر (تطابق الرسومات المقابلة لكل ملف أدناه)
·AddIconByEncoding(CMP,/icons/compressed.gif)x-conpress x-gzip
·AddIcon /icons/blank.gif^^BLANKICON^^DefaultIcon/icons/unknow.gif
هذه هي الرسومات المقابلة لأنواع الملفات المختلفة عند عرض قائمة الملفات (المشار إليها سابقًا باسم FancyIndex). على سبيل المثال، رسومات تمثيل هذه الملفات الثلاثة، .ps و.si و.eps، كلها بصيغة a.gif.
·#AddDescription "مستند مضغوط بصيغة GZIP" .gz
#AddDescription "أرشيف القطران" .tar
#AddDescription "أرشيف القطران المضغوط بصيغة GZIP" .tgz
هذه هي الأوصاف المرفقة بالملفات عند عرض قائمة الملفات والتنسيق هو:
AddDescription اسم الملف "الوصف" على سبيل المثال: AddDescription "إنه txt خاص" my.txt
· التمهيدي اسم الملف التمهيدي
عند عرض قائمة الملفات، اعرض محتوى ملف README في الأسفل. إعداد البرنامج النصي CGI / باستخدام httpd.conf باعتباره ملف التكوين الوحيد / ترخيص المستخدم والتحكم في الوصول. هناك العديد من المقالات حول تكوين Apache واستخدامه في LinuxAid للحصول على شرح مفصل، تتناول هذه المقالة استخدام ملفات التكوين والتحكم في الوصول إلى الملفات عند استخدام Apache.