การตั้งค่าพื้นฐานของ Apache ส่วนใหญ่จะตั้งค่าและจัดการโดย httpd.conf เราจำเป็นต้องแก้ไขการตั้งค่าที่เกี่ยวข้องของ Apache โดยส่วนใหญ่แก้ไข httpd.cong มาดูเนื้อหาของ httpd.conf กัน โดยแบ่งออกเป็น 3 ส่วนหลักๆ กันคือ
ส่วนที่ 1: สิ่งแวดล้อมโลก
ส่วนที่ 2: การกำหนดค่าเซิร์ฟเวอร์ 'หลัก'
ส่วนที่ 3: โฮสต์เสมือน
【ตอนที่ 1】
·ประเภทเซิร์ฟเวอร์แบบสแตนด์อโลน
ซึ่งหมายความว่า Apache เริ่มต้นเป็นแบบสแตนด์อโลน หรืออาจเป็น inetd ก็ได้ สิ่งที่เรียกว่าสแตนด์อโลนหมายความว่าจะเริ่มต้นเพียงครั้งเดียวเพื่อตอบรับการเชื่อมต่อทั้งหมด ในขณะที่ inetd เริ่มต้นหลังจากได้รับคำขอเชื่อมต่อ http เท่านั้น และสิ้นสุดเมื่อการเชื่อมต่อสิ้นสุดลง สิ่งนี้ไม่เป็นภาระหรือไม่ ดังนั้นจึงมักจะเริ่มต้นแบบสแตนด์อโลน
·รูตเซิร์ฟเวอร์ "/usr/local/httpd"
นี่คือไดเร็กทอรี apache
·#LocdFile /use/local/httpd/logs/httpd.lock
คงค่าเริ่มต้นไว้และอย่าเปลี่ยนแปลง
·PidFile /usr/local/httpd/logs/httpd.pid
ไฟล์นี้บันทึก ID ตัวจัดการหลักของ apache
·ScoreBoardFile /usr/local/httpd/logs/httpd.scoreboard
ไฟล์นี้เก็บข้อมูลเกี่ยวกับตัวจัดการ
·#ResourceConfig conf/srm.conf
·#AccessConfig conf/access.conf
เนื่องจากเราจัดการโดย httpd.conf ไฟล์ทั้งสองนี้จึงมีคำอธิบายประกอบตามค่าเริ่มต้น และค่าเริ่มต้นสามารถคงไว้ไม่เปลี่ยนแปลง
·หมดเวลา 300
กำหนดระยะเวลาหมดเวลา หากไคลเอนต์ไม่ได้เชื่อมต่อกับเซิร์ฟเวอร์เป็นเวลานานกว่า 300 วินาที หรือเซิร์ฟเวอร์ไม่ได้ส่งข้อมูลไปยังไคลเอนต์เป็นเวลานานกว่า 300 วินาที เซิร์ฟเวอร์จะถูกตัดการเชื่อมต่อ
· KeepAliveOn
อนุญาตคำขอหลายรายการสำหรับการเชื่อมต่อของไคลเอ็นต์ ตั้งค่าเป็นปิดเพื่อไม่อนุญาต
·คำขอ MaxKeepAlive 100
แผนผังคำขอที่ใหญ่ที่สุดสำหรับการเชื่อมต่อแต่ละครั้ง ยิ่งมีจำนวนมาก ประสิทธิภาพก็จะยิ่งดีขึ้น 0 หมายถึงไม่มีขีดจำกัด
·MinSpareServer 5
·MaxSpareServers 10
MinSpareServer 5 หมายความว่าจะมีตัวจัดการที่ไม่ได้ใช้งานอย่างน้อย 5 ตัว หากจำนวนจริงน้อยกว่าจำนวนนี้ ตัวจัดการจะถูกเพิ่ม MaxSpareServers 10 แสดงถึงจำนวนสูงสุดของตัวจัดการที่ไม่ได้ใช้งาน หากเว็บไซต์ของคุณมีความต้องการสูง คุณสามารถตั้งค่าตัวเลขนี้เป็นจำนวนที่มากขึ้นได้ อย่างไรก็ตาม อย่าตั้งค่าตัวเลขนี้ให้มากเกินไป
·สตาร์ทเซิร์ฟเวอร์ 5
จำนวนเซิร์ฟเวอร์เมื่อเริ่มต้น
ลูกค้าสูงสุด 150
จำกัดจำนวนการเชื่อมต่อสูงสุดในเวลาเดียวกัน แน่นอนว่าไม่สามารถตั้งค่าให้น้อยเกินไปได้ เมื่อถึงจำนวนนี้แล้ว จะไม่สามารถเพิ่มไคลเอ็นต์ได้อีก
·MaxRequestPerChild 0
จำกัดจำนวนข้อกำหนดก่อนผลลัพธ์ของตัวจัดการย่อย 0 หมายถึงไม่มีขีดจำกัด
· #ฟัง3000
·#ฟัง 12.34.56.78:80
ใช้พอร์ตหรือ IP อื่น
·ผูกที่อยู่*
สามารถตอบ* (ที่อยู่ IP ทั้งหมด), ที่อยู่ IP ที่ระบุ หรือกรอกชื่อโดเมน
·#LoadModule foo_module libexec/mod_foo.so
การใช้โมดูล DSO
·#ExtensedStatusOn
คุณสามารถตรวจสอบข้อมูลสถานะของ apache ค่าเริ่มต้นคือปิด (มีคำอธิบายประกอบ) [ตัดหน้า]
【ตอนที่ 2】
หาก ServerType ก่อนหน้าเป็น inetd โปรดข้ามไปที่ ServerAdmin โดยตรง
·พอร์ต 80
พอร์ตการเชื่อมต่อที่เซิร์ฟเวอร์สแตนด์อโลนตอบ อาจเป็นหมายเลขพอร์ตอื่นที่น้อยกว่า 1023 ก็ได้
·ผู้ใช้ไม่มีใคร
·จัดกลุ่มไม่มีใคร
ผู้ใช้และกลุ่มที่ดำเนินการ httpd
·ที่อยู่อีเมลของผู้ดูแลระบบเซิร์ฟเวอร์ นี่คือที่อยู่อีเมลของผู้ดูแลระบบ หากมีปัญหากับ Apache เราจะส่งจดหมายไปแจ้งให้ผู้ดูแลระบบทราบ แน่นอนว่าคุณสามารถสร้างบัญชีที่รับผิดชอบโดยเฉพาะสำหรับเว็บเพื่อรับอีเมลได้
·ServerName ชื่อโฮสต์ของคุณ นี่คือชื่อโฮสต์ หากไม่มีชื่อโดเมน คุณยังสามารถใช้ IP ได้
· DocumentRoot "usr/local/httpd/htdocs"
ไดเร็กทอรีนี้เป็นที่ที่ apache วางหน้าเว็บ ภายใน index.html เป็นหน้าแรกเริ่มต้นที่เชื่อมต่อกับโฮสต์นี้
-
ตัวเลือก FollowSymLinks
AllowOverride ไม่มีเลย
ไดเร็กทอรีนี้ตั้งค่าการดำเนินการของไดเร็กทอรี (public_html) ที่ผู้ใช้วางหน้าเว็บ วิธีการเข้าถึงไดเรกทอรีโดยละเอียดจะอธิบายในภายหลัง
-
ตัวเลือกดัชนี FolloeSymLinks
AllowOverride ไม่มี
คำสั่งอนุญาต, ปฏิเสธ
อนุญาตจากทั้งหมด
ไดเร็กทอรีนี้ตั้งค่าการดำเนินการของไดเร็กทอรีเว็บของ apache (htdocs)
·UserDir public_html
ผู้ใช้สามารถสร้างไดเร็กทอรี public_html ในไดเร็กทอรีของตนเองเพื่อวางหน้าเว็บ ป้อน http://host address/~user name เพื่อเชื่อมต่อกับ...Lao San Fat Mei Mu Yin?/a>
·ไดเรกทอรีดัชนีดัชนี.html
ตั้งชื่อหน้าแรกเริ่มต้นที่นี่
·AccessFileName.htaccess
นี่คือชื่อของไฟล์ที่ควบคุมการเข้าถึง โดยทั่วไป จะใช้ชื่อ .htaccess เริ่มต้น เราจะอธิบายการใช้ htaccess ในภายหลัง
-
คำสั่งอนุญาต, ปฏิเสธ
ปฏิเสธจากทั้งหมด
ใช้เพื่อป้องกันไม่ให้ผู้อื่นเห็นเนื้อหาของไฟล์ที่ขึ้นต้นด้วย .ht ไม่เพียงแต่ปกป้องเนื้อหาของ .htaccess เท่านั้น แต่ยังปกป้องเนื้อหาของ .htpasswd ด้วย แน่นอนว่ามันสามารถเขียนได้โดยตรงเช่นกัน หากคุณเปลี่ยนชื่อไฟล์ Access เช่น เปลี่ยน .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 จะถูกประมวลผล หากเป็น... หมายความว่าส่วนนี้จะได้รับการประมวลผลเฉพาะเมื่อไม่ได้โหลดโมดูลเท่านั้น
·ปิดการค้นหาโฮสต์
หากเปิดอยู่ IP จะถูกแก้ไขเป็นเนมเซิร์ฟเวอร์ทุกครั้ง และชื่อของการเชื่อมต่อนี้จะถูกบันทึก (เช่น www.apache.org) หากปิดอยู่ จะมีเพียง IP เท่านั้นที่จะถูกบันทึก
·ErrorLog /usr/local/httpd/logs/error_log
ระบุตำแหน่งของไฟล์บันทึกข้อผิดพลาด (error_log) หากไม่ได้ระบุไฟล์บันทึกข้อผิดพลาด ไฟล์นี้จะถูกนำมาใช้
·คำเตือน LogLevel
บันทึกแบ่งออกเป็นหลายระดับ นี่คือคำเตือน แต่ละระดับมีดังนี้: คำอธิบายระดับ
ข้อมูลการแก้ไขข้อบกพร่อง
ข้อมูล ข้อมูลทั่วไป
แจ้งให้ทราบข้อมูลสำคัญ
คำเตือนข้อความเตือน
ข้อผิดพลาด ข้อผิดพลาดเกิดขึ้น
เหตุฉุกเฉินที่สำคัญ
การแจ้งเตือน: สถานการณ์ที่ต้องจัดการทันที
amerg ระบบกำลังจะตาย
·LogFormat "%h %l %u %t"%r"%>s %b"{ผู้อ้างอิง}i""${UserAgent}i""รวมกัน
รูปแบบบันทึก "%h %l %u %t"%r"%>s %b"commom
LogFormat "%{ผู้อ้างอิง}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 ตัวแทน
#CustomLog /usr/local/httpd/logs/agent_log รวมกัน
ไฟล์บันทึกทั้งสามไฟล์นี้ยังใช้รูปแบบที่กำหนดเอง (ตามลำดับ ผู้อ้างอิง เอเจนต์ รวม) แต่คำอธิบายประกอบระบุว่าไฟล์ทั้งสามนี้ไม่ได้ใช้
·เปิดลายเซ็นเซิร์ฟเวอร์
เมื่อตั้งค่าเป็นเปิด บนหน้าเว็บที่สร้างโดยเซิร์ฟเวอร์ (เช่น เมื่อเกิดข้อผิดพลาด) จะมีบรรทัดข้อมูลเกี่ยวกับเวอร์ชัน apache โฮสต์ และพอร์ตการเชื่อมต่อ หากตั้งค่าเป็นอีเมล จะมีเมลถึง : ไฮเปอร์ลิงก์ไปยังผู้ดูแลระบบ
·นามแฝง /icons/ "/usr/local/httpd/icons/"
ใช้นามแฝงที่สั้นกว่าในรูปแบบ: นามแฝงนามแฝงชื่อเดิม
·ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"
เช่นเดียวกับ Alias ยกเว้นว่านี่คือไดเร็กทอรีที่ตั้งค่าสคริปต์เซิร์ฟเวอร์
·IndexOptionsFancyIndexing
แสดงรายการไฟล์ที่ดูดี (จับคู่กราฟิกที่สอดคล้องกับแต่ละไฟล์ด้านล่าง)
·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" .tar
#AddDescription "ไฟล์ tar ที่บีบอัดของ GZIP" .tgz
นี่คือคำอธิบายที่แนบมากับไฟล์เมื่อแสดงรายการไฟล์ รูปแบบคือ:
AddDescription ชื่อไฟล์ "Description" เช่น: AddDescription "เป็น txt ส่วนตัว" my.txt
·Readmeชื่อ README
เมื่อแสดงรายการไฟล์ ให้แสดงเนื้อหาไฟล์ของ README ที่ด้านล่าง การตั้งค่าสคริปต์ CGI / การใช้ httpd.conf เป็นไฟล์การกำหนดค่าเดียว / การอนุญาตผู้ใช้และการควบคุมการเข้าถึง มีบทความมากมายเกี่ยวกับการกำหนดค่าและการใช้งาน Apache ใน LinuxAid สำหรับคำอธิบายโดยละเอียด บทความนี้จะกล่าวถึงการใช้ไฟล์การกำหนดค่าและการควบคุมการเข้าถึงไฟล์เมื่อใช้ Apache ถือได้ว่าเป็นส่วนเสริมบางประการของการใช้ Apache! [ตัดหน้า]
หากคุณมีความเข้าใจเกี่ยวกับ Apache โดยเฉพาะไฟล์คอนฟิกูเรชันหลายไฟล์ มันจะช่วยให้คุณเข้าใจเนื้อหาของบทความนี้ หากคุณไม่รู้จักการใช้ไฟล์คอนฟิกูเรชันเหล่านี้เป็นอย่างดี ลองใช้โอกาสนี้ทำความคุ้นเคยกับแต่ละไฟล์ อื่น.
1. เกี่ยวกับการกำหนดค่าสคริปต์การดำเนินการ CGI มีสองวิธีในการตั้งค่าสคริปต์ CGI ขั้นแรก ไฟล์สคริปต์ CGI มีนามสกุล .cgi ประการที่สอง ตั้งค่าไดเร็กทอรีที่เรียกใช้งานได้ของสคริปต์ อย่างไรก็ตาม ทั้งสองวิธีต้องการให้ไฟล์ที่จะดำเนินการต้องตั้งค่าเป็น 711 ก่อนจึงจะสามารถดำเนินการได้
วิธีแรกคือการตั้งค่าไดเร็กทอรีที่คุณต้องการแจกจ่ายให้กับ Option ExecCGI All ในไฟล์ access.conf และเพิ่มประโยคต่อไปนี้ลงในไฟล์คอนฟิกูเรชันทรัพยากร srm.conf:
AddHandle cgi-สคริปต์ .cgi
ด้วยวิธีนี้ ในทุกไดเร็กทอรี ตราบใดที่ไฟล์ของคุณมีนามสกุล .cgi และสิทธิ์ในการเข้าถึงไฟล์คือ 711 ไม่ว่าไฟล์จะอยู่ที่ใดในไดเร็กทอรีการแจกจ่ายของคุณก็ตาม เซิร์ฟเวอร์ Apache ก็สามารถเรียกไฟล์ดังกล่าวเป็น CGI ได้ โดยทั่วไปวิธีนี้จะไม่ปลอดภัยเท่ากับวิธีที่สอง
วิธีที่สองคือการใช้ไดเร็กทอรีเป็นไดเร็กทอรีที่ปฏิบัติการได้และใส่ไฟล์ cgi ทั้งหมดไว้ในนั้น ไม่จำเป็นต้องเป็นไฟล์ที่มีนามสกุล .cgi จึงจะสามารถเรียกใช้งานได้ แต่เฉพาะไฟล์ที่มีแอตทริบิวต์ 711 เท่านั้นที่สามารถดำเนินการได้ และห้ามเข้าถึงไฟล์อื่น ๆ ที่ไม่สามารถปฏิบัติการได้ ไฟล์การกำหนดค่าเริ่มต้นของเรามีตัวอย่างที่ดี:
การเข้าถึง.conf:
<ไดเรกทอรี /home/httpd/cgi-bin/>
อนุญาตให้แทนที่ไม่มี
ตัวเลือกExecCGI
</ไดเร็กทอรี>
srm.conf
ScriptAlias /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 ในไดเร็กทอรี release คุณต้องตั้งค่าเช่นนี้ในการเข้าถึงของคุณ .conf:
<ไดเรกทอรี /home/html/*/cgi-bin/>
อนุญาตให้แทนที่ไม่มี
ตัวเลือกExecCGI
</ไดเร็กทอรี>
โปรดทราบว่าไดเร็กทอรีย่อย cgi-bin ในไดเร็กทอรีผู้ใช้ถูกตั้งค่าเป็นไดเร็กทอรีการดำเนินการ cgi นี่เป็นการตั้งค่าที่ปลอดภัยและยังเป็นนิสัยของ UNIX อีกด้วย
3. วิธีการตั้งค่าเซิร์ฟเวอร์ Apache เป็นบริการย่อยของ inetd หลังจากที่คุณติดตั้ง Apache แล้ว เซิร์ฟเวอร์ดังกล่าวจะถูกตั้งค่าให้ทำงานในโหมดสแตนด์อโลนตามค่าเริ่มต้น หากคุณต้องการตั้งค่าเป็นบริการย่อยของ inetd อันดับแรกอย่าเปิดใช้งาน httpd ทุกครั้งที่คุณเปิดใช้งาน Linux จากนั้นแก้ไข /etc/inetd.conf และเพิ่มคำสั่งต่อไปนี้: http stream 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
ResourceConfig /dev/null
ใน apache1.3.2 เพียงใส่ความคิดเห็นสองบรรทัดต่อไปนี้:
AccessConfig conf/access.conf
ResourceConfig conf/srm.conf
5. การอนุญาตผู้ใช้และการควบคุมการเข้าถึง คุณอาจพบสถานการณ์นี้เมื่อเยี่ยมชมเว็บไซต์บางแห่ง เมื่อคุณคลิกลิงก์ เบราว์เซอร์ของคุณจะปรากฏขึ้นกล่องโต้ตอบการรับรองความถูกต้อง ซึ่งคุณต้องป้อนหมายเลขบัญชีและรหัสผ่านของคุณ หากไม่เป็นเช่นนั้น คุณจะชนะ ไม่สามารถเรียกดูต่อได้ บางคนอาจคิดว่าสิ่งนี้ทำได้โดยใช้ CGI แต่นี่ไม่ใช่กรณี นี่คือกลไกการอนุญาตผู้ใช้และการควบคุมการเข้าถึงของเซิร์ฟเวอร์ WWW ในที่ทำงาน
คุณยังจำได้ไหมว่าในกระบวนการตั้งค่าสภาพแวดล้อมบริการ Apache นั้น มีคำสั่ง <Directory>........<./Directory> ซึ่งสามารถให้การป้องกันที่แตกต่างกันสำหรับไดเรกทอรีที่แตกต่างกัน อย่างไรก็ตาม การตั้งค่าดังกล่าวจำเป็นต้องรีสตาร์ทเซิร์ฟเวอร์จึงจะมีผล และมีความยืดหยุ่นน้อยกว่า การระบุไฟล์ควบคุมการเข้าถึงผ่านคำสั่ง AccessFile นั้นมีความยืดหยุ่นมากกว่า ขั้นตอนในการตั้งค่าสิทธิ์การควบคุมการเข้าถึงของผู้ใช้ในเซิร์ฟเวอร์ Apache มีดังนี้:
1. ขั้นแรกให้ตั้งค่าไฟล์ httpd.conf ดังนี้:
<ไดเรกทอรี /home/httpd/html>
# AllowOverride FileInfo AuthConfig จำกัด
# ตัวเลือก MultiViews ดัชนี SymLinksIfOwnerMatch รวม NoExec
ตัวเลือกรวมถึงดัชนี FollowSymLinks
AllowOverride All //*โปรดทราบว่า AllowOverride จะต้องตั้งค่าเป็น All เพื่อให้ไฟล์ .htaccess ต่อมาทำงานได้
<จำกัดตัวเลือกรับโพสต์ PROPFIND>
คำสั่งอนุญาต, ปฏิเสธ
อนุญาตจากทั้งหมด
</จำกัด>
# <จำกัด PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
# คำสั่งปฏิเสธอนุญาต
#ปฎิเสธจากทั้งหมด.
# </จำกัด>
</ไดเร็กทอรี>
#ระบุชื่อไฟล์เพื่อกำหนดสิทธิ์การควบคุมการเข้าถึง
AccessFileName.htaccess
2. สร้างเนื้อหาไฟล์ .htaccess เพื่อควบคุมสิทธิ์การเข้าถึงของไดเร็กทอรีบางแห่ง คุณต้องสร้างไฟล์ควบคุมการเข้าถึง โดยระบุ ".htaccess" ไว้ด้านหน้าชื่อไฟล์
ชื่อไฟล์รหัสผ่านบัญชีผู้ใช้ AuthUserFile
ชื่อไฟล์รหัสผ่านบัญชีกลุ่ม AuthGroupFile
ข้อความพร้อมท์บนหน้าจอ AuthName
วิธีการตรวจสอบสิทธิ์ AuthType
<จำกัดการรับ>
วิธีการตรวจสอบรหัสผ่าน
</จำกัด>
ปัจจุบัน AuthType มีวิธีตรวจสอบสิทธิ์ผู้ใช้สองวิธี: แบบพื้นฐานและแบบสรุป
วิธีการตั้งค่าการตรวจสอบรหัสผ่านจะเหมือนกับการตั้งค่าที่เกี่ยวข้องใน httpd.conf
ตัวอย่างเฉพาะมีดังนี้:
AuthUserFile /etc/secure.user
ศูนย์รับรองความปลอดภัย AuthName
AuthType พื้นฐาน
<จำกัดการรับ>
ต้องการผู้ใช้ที่ถูกต้อง
</จำกัด>
3. สร้างไฟล์รหัสผ่านผู้ใช้ หากคุณกำลังสร้างรหัสผ่านผู้ใช้เป็นครั้งแรก รูปแบบคำสั่งจะเป็นดังนี้:
htpasswd -c รหัสผ่านชื่อไฟล์ ชื่อผู้ใช้ ในตัวอย่างข้างต้น เราวางไฟล์รหัสผ่านผู้ใช้ไว้ในไฟล์ /etc/secure.user ดังนั้นการดำเนินการที่นี่ควรเป็นดังนี้:
htpasswd -c /etc/secure.user ดาบ
โปรแกรมจะแจ้งให้คุณป้อนรหัสผ่านของผู้ใช้สองครั้ง จากนั้นไฟล์รหัสผ่านผู้ใช้จะถูกสร้างขึ้นและเพิ่มดาบผู้ใช้แล้ว
หากคุณต้องการเพิ่มผู้ใช้ใหม่ลงในไฟล์รหัสผ่าน ให้ทำตามรูปแบบคำสั่งต่อไปนี้:
ชื่อผู้ใช้ไฟล์รหัสผ่าน htpasswd ด้วยวิธีนี้ หลังจากรีสตาร์ท httpd กล่องโต้ตอบจะปรากฏขึ้นเมื่อเข้าสู่ไดเร็กทอรี WEB เพื่อขอชื่อผู้ใช้และรหัสผ่านผู้ใช้
4. วิธีลดผลกระทบของการควบคุมการเข้าถึงต่อประสิทธิภาพของ Apache การใช้การควบคุมการเข้าถึงบ่อยครั้งจะมีผลกระทบต่อประสิทธิภาพของ Apache มากขึ้น แล้วเราจะลดผลกระทบนี้ได้อย่างไร วิธีหนึ่งที่ง่ายและมีประสิทธิภาพมากที่สุดคือการลดจำนวนไฟล์ .htaccess วิธีนี้สามารถหลีกเลี่ยงไม่ให้ Apache ตรวจสอบการอนุญาตในแต่ละคำขอโดยอิงตามเนื้อหาของไฟล์ .htaccess ไม่เพียงแต่ค้นหาไฟล์ .htaccess ในไดเร็กทอรีปัจจุบัน แต่ยังค้นหาในไดเร็กทอรีหลักของไดเร็กทอรีปัจจุบันด้วย
-
/usr
/usr/local
/usr/local/ฯลฯ
/usr/local/etc/httpd
/usr/local/etc/httpd/htdocs
/usr/local/etc/httpd/htdocs/docs
โดยปกติแล้วจะไม่มีไฟล์ htaccess ในไดเร็กทอรีราก แต่ Apache ยังคงตรวจสอบตามปกติเพื่อให้แน่ใจว่าไม่มีไฟล์อยู่ นี่คือสิ่งที่ส่งผลกระทบอย่างมากต่อประสิทธิภาพของเซิร์ฟเวอร์ วิธีการต่อไปนี้สามารถกำจัดกระบวนการที่น่ารำคาญนี้ได้: ตั้งค่าตัวเลือก AllowOverride เป็นไม่มี เพื่อให้ Apache ตรวจสอบไฟล์ .htaccess ตั้งค่าตัวเลือก AllowOverride ของไดเร็กทอรี /root เป็นไม่มี และตั้งค่าเฉพาะตัวเลือก AllowOverride ในไดเร็กทอรีที่ต้องการการควบคุมการเข้าถึงทั้งหมด ตัวอย่างเช่น ในตัวอย่างต่อไปนี้ ตัวเลือก AllowOverride ของไดเร็กทอรี /root จะถูกปิดเท่านั้น /usr/local/ ถูกเปิด ตัวเลือก AllowOerride ในไดเร็กทอรี etc/httpd/htdocs เพื่อให้ระบบตรวจสอบเฉพาะไฟล์ .htaccess ใน /usr/local/etc/httpd/htdocs เพื่อให้บรรลุวัตถุประสงค์ในการปรับปรุงประสิทธิภาพการบริการ
<ไดเรกทอรี />
AllowOverride ไม่มี
</ไดเร็กทอรี>
<ไดเรกทอรี /usr/local/etc/httpd/htdocs>
อนุญาตแทนที่ทั้งหมด
</ไดเร็กทอรี>
หากมีไดเร็กทอรีอื่นสำหรับจัดเก็บไฟล์ WWW นอกเหนือจากไดเร็กทอรีราก คุณสามารถตั้งค่าไดเร็กทอรีเหล่านั้นในลักษณะเดียวกันได้ ตัวอย่างเช่น หากคุณใช้ UserDir เพื่ออนุญาตให้ผู้ใช้เข้าถึงไดเร็กทอรีของตนเอง การตั้งค่า AllowOverride จะเป็นดังนี้:
<ไดเรกทอรี /home/*/public_html>
ดัชนี AllowOverride FileInfo รวมถึง NOEXEC
</ไดเร็กทอรี>
5. เพื่อป้องกันไม่ให้ผู้ใช้เข้าถึงระบบไฟล์ที่ระบุ มีไฟล์บางไฟล์ที่ไม่เหมาะสำหรับผู้ใช้ WWW เช่น: .htaccess, htpasswd, *.pl เป็นต้น คุณสามารถใช้ <Files> เพื่อให้บรรลุวัตถุประสงค์นี้ได้:
<Files.htaccess>
คำสั่งอนุญาต, ปฏิเสธ
ปฏิเสธจากทั้งหมด
</ไฟล์>
การเข้าถึงของผู้ใช้จะควบคุมไฟล์ .htaccess สามไฟล์ ได้แก่ .htpasswd และ .htgroup (เพื่อการอนุญาตผู้ใช้) ควรป้องกันไม่ให้ผู้ใช้เรียกดูเนื้อหาของตนดังต่อไปนี้
<ไฟล์ ~”/.ht”>
คำสั่งปฏิเสธอนุญาต
ปฏิเสธจากทั้งหมด
</ไฟล์>
ด้วยวิธีนี้ ผู้ใช้จะไม่สามารถเข้าถึงไฟล์ทั้งสามนี้
6. จำกัดผู้ใช้บางรายไม่ให้เข้าถึงไฟล์เฉพาะ
<Directory> สามารถจำกัดไดเร็กทอรีได้ หากต้องการจำกัดไม่ให้ผู้ใช้บางรายเข้าถึงไฟล์ใดไฟล์หนึ่ง คุณสามารถใช้ <Location> ได้ ตัวอย่างเช่น หากผู้ใช้ในโดเมนที่ไม่ใช่โดเมน.com ไม่ได้รับอนุญาตให้เข้าถึง /prices/internal.html สามารถใช้การตั้งค่าต่อไปนี้:
<ตำแหน่ง /prices/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
ตัวอย่าง AuthNameAllowFromSpecificURL
AuthType พื้นฐาน
<จำกัดการรับ>
คำสั่งปฏิเสธอนุญาต
ปฏิเสธจากทั้งหมด
อนุญาตผู้อ้างอิงจาก http://www.sina.com.cn/*
</จำกัด>
6. วิธีเข้าถึงเนื้อหาของไดเร็กทอรีที่ติดตั้งใน mnt ผ่าน Apache หากต้องการเรียกดูเนื้อหาของซีดี คุณต้องเมานต์ซีดีไปที่ /mnt/cdrom ก่อน เช่นเดียวกับการเข้าถึง dos หรือพาร์ติชันอื่น ๆ ภายใต้ Linux ต้อง mount ไปที่ /mnt ก่อน วิธีการด้านล่างสามารถแสดงเนื้อหาของไดเร็กทอรีที่อัพโหลดผ่าน Apache:
1. ขั้นแรกเมานต์เนื้อหาที่ต้องเมานต์บน mnt เช่น:
เมานต์ –t iso9660 /dev/cdrom /mnt/cdrom
2. แก้ไขไฟล์ srm.conf ใน /usr/local/etc/httpd/conf (แก้ไข httpd.conf ใน Apache1.3.2)
เพิ่มการสนับสนุนนามแฝง:
# นามแฝง ชื่อปลอม ชื่อจริง
# นามแฝงสำหรับเซิร์ฟเวอร์เน็ตแวร์ //
นามแฝง /netware/ /mnt/MYDOM_NW/vol1/home/htmldocs/
นามแฝง /winNT/ /mnt/MYDOM_NT/
นามแฝง /unix/ /mnt/MYDOM_UNIX
ที่จริงแล้ว วิธีที่ง่ายที่สุดสำหรับขั้นตอนนี้คือการสร้างไดเร็กทอรีลิงก์โดยตรงภายใต้ไดเร็กทอรีไฟล์ WWW เช่น:
ln –s /mnt/MYDOM_NT/ winNT
ก็สามารถบรรลุผลเช่นเดียวกันได้
3. สุดท้าย ใช้ Directory เพื่อระบุสิทธิ์การเข้าถึงของผู้ใช้ไปยังไดเร็กทอรีข้างต้น:
<ไดเรกทอรี “/mnt/MYDOM_NT”>
ตัวเลือกจัดทำดัชนี MultiViews
AllowOverride ไม่มี
คำสั่งอนุญาต, ปฏิเสธ
อนุญาตจากทั้งหมด
</ไดเร็กทอรี>
โปรดทราบว่าต้องระบุดัชนีในตัวเลือก มิฉะนั้นหากไม่มีไฟล์ Index.html ในไดเร็กทอรีที่เปิดอยู่ ผู้ใช้จะไม่สามารถเรียกดูโครงสร้างของไดเร็กทอรีทั้งหมดได้ และเซิร์ฟเวอร์จะส่งคืนข้อบ่งชี้ข้อผิดพลาด
หลังจากเสร็จสิ้นงานเหล่านี้แล้ว อย่าลืมรีสตาร์ท Apache เข้าถึงเนื้อหาซีดีบนไคลเอนต์ผ่าน http://www.yourdomain/CDROM/ และอื่นๆ สำหรับระบบอื่นๆ
#DocumentRoot "/usr/local/apache/htdocs"
#Set ไดเร็กทอรีที่เก็บไฟล์ html ของไซต์
<ไดเรกทอรี />
ตัวเลือก FollowSymLinks
AllowOverride ไม่มี
</ไดเร็กทอรี>
#Set/ไดเร็กทอรีไดเร็กทอรี โดยเฉพาะ:
ตัวเลือก: กำหนดการดำเนินการที่สามารถทำได้ภายในไดเร็กทอรี
ไม่มี: หมายความว่าคุณสามารถเรียกดูได้เท่านั้น
FollowSymLinks: อนุญาตให้เพจลิงก์ไปยังที่อื่น
ExecCGI: อนุญาตให้ดำเนินการ CGI
MultiViews: อนุญาตให้ใช้งานเช่นการดูภาพเคลื่อนไหวหรือฟังเพลง
ดัชนี: อนุญาตให้เซิร์ฟเวอร์ส่งคืนรายการไดเร็กทอรีที่จัดรูปแบบแล้ว
รวม: อนุญาตให้ใช้ SSI สามารถตรวจสอบการตั้งค่าเหล่านี้ได้
ทั้งหมด: ทำอะไรก็ได้ยกเว้น MultiViews
AllowOverride: การเพิ่มพารามิเตอร์ None หมายความว่าใครๆ ก็สามารถเรียกดูไฟล์ในไดเร็กทอรีนี้ได้
พารามิเตอร์เพิ่มเติม ได้แก่ FileInfo, AuthConfig, Limit
【ตอนที่ 2】
หาก ServerType ก่อนหน้าเป็น inetd โปรดข้ามไปที่ ServerAdmin โดยตรง
·พอร์ต 80
พอร์ตการเชื่อมต่อที่เซิร์ฟเวอร์สแตนด์อโลนตอบ อาจเป็นหมายเลขพอร์ตอื่นที่น้อยกว่า 1023 ก็ได้
·ผู้ใช้ไม่มีใคร
·จัดกลุ่มไม่มีใคร
ผู้ใช้และกลุ่มที่ดำเนินการ httpd
·ที่อยู่อีเมลของผู้ดูแลระบบเซิร์ฟเวอร์ นี่คือที่อยู่อีเมลของผู้ดูแลระบบ หากมีปัญหากับ Apache เราจะส่งจดหมายไปแจ้งให้ผู้ดูแลระบบทราบ แน่นอนว่าคุณสามารถสร้างบัญชีที่รับผิดชอบโดยเฉพาะสำหรับเว็บเพื่อรับอีเมลได้
·ServerName ชื่อโฮสต์ของคุณ นี่คือชื่อโฮสต์ หากไม่มีชื่อโดเมน คุณยังสามารถใช้ IP ได้
· DocumentRoot "usr/local/httpd/htdocs"
ไดเร็กทอรีนี้เป็นที่ที่ apache วางหน้าเว็บ ภายใน index.html เป็นหน้าแรกเริ่มต้นที่เชื่อมต่อกับโฮสต์นี้
-
ตัวเลือก FollowSymLinks
AllowOverride ไม่มีเลย
ไดเร็กทอรีนี้ตั้งค่าการดำเนินการของไดเร็กทอรี (public_html) ที่ผู้ใช้วางหน้าเว็บ วิธีการเข้าถึงไดเรกทอรีโดยละเอียดจะอธิบายในภายหลัง
-
ตัวเลือกดัชนี FolloeSymLinks
AllowOverride ไม่มี
คำสั่งอนุญาต, ปฏิเสธ
อนุญาตจากทั้งหมด
ไดเร็กทอรีนี้ตั้งค่าการดำเนินการของไดเร็กทอรีเว็บของ apache (htdocs)
·UserDir public_html
ผู้ใช้สามารถสร้างไดเร็กทอรี public_html ในไดเร็กทอรีของตนเองเพื่อวางหน้าเว็บ ป้อน http://host address/~user name เพื่อเชื่อมต่อกับ...Lao San Fat Mei Mu Yin?/a>
·ไดเรกทอรีดัชนีดัชนี.html
ตั้งชื่อหน้าแรกเริ่มต้นที่นี่
·AccessFileName.htaccess
นี่คือชื่อของไฟล์ที่ควบคุมการเข้าถึง โดยทั่วไป จะใช้ชื่อ .htaccess เริ่มต้น เราจะอธิบายการใช้ htaccess ในภายหลัง
-
คำสั่งอนุญาต, ปฏิเสธ
ปฏิเสธจากทั้งหมด
ใช้เพื่อป้องกันไม่ให้ผู้อื่นเห็นเนื้อหาของไฟล์ที่ขึ้นต้นด้วย .ht ไม่เพียงแต่ปกป้องเนื้อหาของ .htaccess เท่านั้น แต่ยังปกป้องเนื้อหาของ .htpasswd ด้วย แน่นอนว่ามันสามารถเขียนได้โดยตรงเช่นกัน หากคุณเปลี่ยนชื่อไฟล์ Access เช่น เปลี่ยน .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.mimemagicfile
โมดูล mod_mime_magic ช่วยให้เซิร์ฟเวอร์สามารถกำหนดประเภท MIME ตามเนื้อหาไฟล์ได้ หากโหลดโมดูล mod_mime_magic ส่วน MIMEMagicFile จะถูกประมวลผล หากเป็น... หมายความว่าส่วนนี้จะได้รับการประมวลผลเฉพาะเมื่อไม่ได้โหลดโมดูลเท่านั้น
·ปิดการค้นหาโฮสต์
หากเปิดอยู่ IP จะถูกแก้ไขเป็นเนมเซิร์ฟเวอร์ทุกครั้ง และชื่อของการเชื่อมต่อนี้จะถูกบันทึก (เช่น www.apache.org) หากปิดอยู่ จะมีเพียง IP เท่านั้นที่จะถูกบันทึก
·ErrorLog /usr/local/httpd/logs/error_log
ระบุตำแหน่งของไฟล์บันทึกข้อผิดพลาด (error_log) หากไม่ได้ระบุไฟล์บันทึกข้อผิดพลาด ไฟล์นี้จะถูกนำมาใช้
·คำเตือน LogLevel
บันทึกแบ่งออกเป็นหลายระดับ นี่คือคำเตือน แต่ละระดับมีดังนี้: คำอธิบายระดับ
ข้อมูลการแก้ไขข้อบกพร่อง
ข้อมูล ข้อมูลทั่วไป
แจ้งให้ทราบข้อมูลสำคัญ
คำเตือนข้อความเตือน
ข้อผิดพลาด ข้อผิดพลาดเกิดขึ้น
เหตุฉุกเฉินที่สำคัญ
การแจ้งเตือน: สถานการณ์ที่ต้องจัดการทันที
amerg ระบบกำลังจะตาย
·LogFormat "%h %l %u %t"%r"%>s %b"{ผู้อ้างอิง}i""${UserAgent}i""รวมกัน
รูปแบบบันทึก "%h %l %u %t"%r"%>s %b"commom
LogFormat "%{ผู้อ้างอิง}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 ตัวแทน
#CustomLog /usr/local/httpd/logs/agent_log รวมกัน
ไฟล์บันทึกทั้งสามไฟล์นี้ยังใช้รูปแบบที่กำหนดเอง (ตามลำดับ ผู้อ้างอิง เอเจนต์ รวม) แต่คำอธิบายประกอบระบุว่าไฟล์ทั้งสามนี้ไม่ได้ใช้
·เปิดลายเซ็นเซิร์ฟเวอร์
เมื่อตั้งค่าเป็นเปิด บนหน้าเว็บที่สร้างโดยเซิร์ฟเวอร์ (เช่น เมื่อเกิดข้อผิดพลาด) จะมีบรรทัดข้อมูลเกี่ยวกับเวอร์ชัน apache โฮสต์ และพอร์ตการเชื่อมต่อ หากตั้งค่าเป็นอีเมล จะมีเมลถึง : ไฮเปอร์ลิงก์ไปยังผู้ดูแลระบบ
·นามแฝง /icons/ "/usr/local/httpd/icons/"
ใช้นามแฝงที่สั้นกว่าในรูปแบบ: นามแฝงนามแฝงชื่อเดิม
·ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"
เช่นเดียวกับ Alias ยกเว้นว่านี่คือไดเร็กทอรีที่ตั้งค่าสคริปต์เซิร์ฟเวอร์
·IndexOptionsFancyIndexing
แสดงรายการไฟล์ที่ดูดี (จับคู่กราฟิกที่สอดคล้องกับแต่ละไฟล์ด้านล่าง)
·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" .tar
#AddDescription "ไฟล์ tar ที่บีบอัดของ GZIP" .tgz
นี่คือคำอธิบายที่แนบมากับไฟล์เมื่อแสดงรายการไฟล์ รูปแบบคือ:
AddDescription ชื่อไฟล์ "Description" เช่น: AddDescription "เป็น txt ส่วนตัว" my.txt
·Readmeชื่อ README
เมื่อแสดงรายการไฟล์ ให้แสดงเนื้อหาไฟล์ของ README ที่ด้านล่าง การตั้งค่าสคริปต์ CGI / การใช้ httpd.conf เป็นไฟล์การกำหนดค่าเดียว / การอนุญาตผู้ใช้และการควบคุมการเข้าถึง มีบทความมากมายเกี่ยวกับการกำหนดค่าและการใช้งาน Apache ใน LinuxAid สำหรับคำอธิบายโดยละเอียด บทความนี้จะกล่าวถึงการใช้ไฟล์การกำหนดค่าและการควบคุมการเข้าถึงไฟล์เมื่อใช้ Apache ถือได้ว่าเป็นส่วนเสริมบางประการของการใช้ Apache!