เปลือยโมดูล Apache ขั้นต่ำที่จำเป็นสำหรับเว็บไซต์แบบคงที่และไม่ต้องรับรองความถูกต้อง


12

ฉันเพิ่งติดตั้งแพคเกจ httpd ใน RHEL 6.1 (ซึ่งมี Apache 2.2.15) httpd.conf เริ่มต้นมีไม่น้อยกว่า 50 อินสแตนซ์ของคำสั่ง LoadModule

อย่างไรก็ตามสิ่งที่ฉันต้องทำคือการแสดงเนื้อหาแบบคงที่แผนที่ Google หรือสองและ CSS บางอย่าง

การทดลองและข้อผิดพลาดพร้อมด้วยapachectl configtestทำให้ฉันเชื่อว่าฉันสามารถออกไปได้ด้วยการเปิดใช้งานโมดูลต่อไปนี้เท่านั้น (ไม่มีการเปลี่ยนแปลงอื่น ๆ กับไฟล์กำหนดค่าเริ่มต้น):

mod_authz_host
mod_log_config
mod_mime_magic
mod_setenvif
mod_mime
mod_autoindex
mod_negotiation
mod_dir
mod_alias

มีโมดูลที่ควรรวมอยู่ในรายการนี้เพื่อการทำงานที่ดีขึ้น / ปลอดภัยยิ่งขึ้นของเซิร์ฟเวอร์หรือไม่? เอกสารอย่างเป็นทางการชี้ให้เห็นว่าไม่มีอะไรที่มากกว่าmod_dirและmod_mimeมีความจำเป็นอย่างยิ่งสำหรับเว็บไซต์เล่า

หมายเหตุ: ฉันไม่ได้ขอคำแนะนำเกี่ยวกับเซิร์ฟเวอร์ HTTP ที่จะใช้สำหรับงานที่ระบุ ฉันตระหนักถึงการมีอยู่ของเซิร์ฟเวอร์ "เบา" คำถามนี้เกี่ยวกับโมดูล Apache

คำตอบ:


9

คำตอบคือพาดพิงถึงในอย่างเป็นทางการ 2.2 เอกสารในส่วนที่เกี่ยวกับการปรับแต่งประสิทธิภาพ

คำถามที่เกี่ยวข้องที่เกิดขึ้นที่นี่แน่นอนโมดูลที่คุณต้องการและสิ่งที่คุณไม่ได้ แน่นอนคำตอบที่นี่จะแตกต่างจากเว็บไซต์หนึ่งไปยังอีก อย่างไรก็ตามรายการขั้นต่ำ> ของโมดูลที่คุณสามารถทำได้โดยมีแนวโน้มที่จะรวม mod_mime, mod_dir และ mod_log_config แน่นอน mod_log_config เป็นทางเลือกเนื่องจากคุณสามารถเรียกใช้เว็บไซต์โดยไม่มีไฟล์บันทึก อย่างไรก็ตามเรื่องนี้ไม่แนะนำ


6

เพิ่งสังเกตุคำถามนี้เมื่อฉันติดตั้งพีซีเครื่องใหม่ด้วย Apache 2.2 นี่คือ httpd.conf ต่ำสุดขั้นต่ำที่ฉันจัดการขึ้นมา:

    ServerName 127.0.0.1
    Listen 8080
    LoadModule dir_module modules/mod_dir.so
    LoadModule mime_module modules/mod_mime.so
    DirectoryIndex index.html 
    DocumentRoot "C:/http_root"
    ErrorLog "logs/error.log"
    LogLevel warn                

คุณไม่ต้องการErrorLogของหลักสูตร แต่ฉันกำลังทดลองอย่างชัดเจนต้องการความคิดเห็นบางอย่างถ้าไฟล์ httpd.conf ของฉันทำให้เกิดปัญหา คุณต้องServerNameหลีกเลี่ยงคำเตือนในระหว่างการเริ่มต้นเกี่ยวกับการไม่สามารถระบุที่อยู่เซิร์ฟเวอร์ได้อย่างน่าเชื่อถือ แน่นอนฉันสามารถยืนยันได้ว่าคุณต้องการdir_moduleและmime_moduleเพื่อให้คุณสามารถส่งไฟล์เริ่มต้นจาก URL ไดเรกทอรีและแสดงไฟล์เป็น HTML แทนที่จะเป็นข้อความธรรมดา

ฉันโพสต์สิ่งนี้เพราะฉันพบไฟล์ httpd.conf เริ่มต้นที่ซับซ้อนอย่างท่วมท้นและฉันจำได้ว่าเมื่อฉันเรียนรู้ Tomcat ทุกอย่างก็ชัดเจนขึ้นเมื่อฉันค้นพบไฟล์กำหนดค่าเซิร์ฟเวอร์ขั้นต่ำที่แน่นอน

หากคุณต้องการหน้าเซิร์ฟเวอร์ php คุณเพียงแค่ต้อง 2 บรรทัดต่อไปนี้ (ปรับให้เหมาะกับสภาพแวดล้อมของคุณ:

PHPIniDir "C:/php/"
LoadModule php5_module "C:/php/php5apache2_2.dll"

มันจะมีประโยชน์ที่จะเห็นสิ่งนี้สำหรับ Linux, Red hat ในกรณีของฉัน กำลังพยายามด้านบน แต่ใช้เวลาในการปรับเปลี่ยนเล็กน้อยและยังคงไม่เปลี่ยนเส้นทางไปยังไฟล์ html ที่ฉันสนใจ
alimack

1

ใช้เวลาช่วงเช้าในการทดลองและข้อผิดพลาด แต่ใน Red Hat 6 (ish) งานนี้โปรดทราบว่าฉันต้องแทนที่ไฟล์. htaccess ที่มีอยู่ซึ่งฉันไม่สามารถเปลี่ยนแปลงได้ สิ่งนี้จะชี้ไปที่ออฟไลน์. html ในไดเรกทอรีรากของคุณ

ServerName 127.0.0.1
Listen 80
TypesConfig /etc/mime.types
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so

User apache
Group apache
DocumentRoot "/homedir/"
DirectoryIndex offline.html
ErrorLog "/homedir/error.log"
LogLevel warn  

<Directory />
AllowOverride None
</Directory>

หากคุณไม่จำเป็นต้องแทนที่ไฟล์ htaccess คุณสามารถหลีกเลี่ยงสิ่งนี้ได้ (สมมติว่าคุณต้องการบันทึกข้อผิดพลาด):

ServerName 127.0.0.1
Listen 80
TypesConfig /etc/mime.types
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so

User apache
Group apache
DocumentRoot "/homedir/"
DirectoryIndex offline.html
ErrorLog "/homedir/error.log"
LogLevel warn  
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.