เหตุใดจึงต้องใส่ข้อมูลการกำหนดค่าไว้ใน conf / httpd.conf และบางอย่างในไฟล์ในโฟลเดอร์ conf.d


11

ไฟล์ config apache หลักอยู่ใน/etc/httpd/conf/httpd.confระบบ CentOS ของฉันและมีบรรทัด:

Include conf.d/*.conf

Inside conf.d เป็นไฟล์ส่วนใหญ่ที่ทำสิ่งนี้:

LoadModule auth_kerb_module modules/mod_auth_kerb.so

แต่ยังมีเว็บไซต์อื่น ๆ ที่ติดตั้งและมีไฟล์ปรับแต่งของตัวเอง นี่ไม่ใช่ความคิดที่ดีหรือฉันขาดอะไรไปหรือเปล่า

คำตอบ:


8

การแยกไฟล์การกำหนดค่าเป็นวิธีการจัดการไฟล์ โดยการวางบรรทัดการกำหนดค่าเฉพาะสำหรับโมดูลลงในไฟล์ของตนเองมันจะง่ายต่อการเปิดใช้งานและปิดการใช้งานโมดูล นอกจากนี้ยังช่วยในการจัดการเพราะตอนนี้คุณมีไฟล์กำหนดค่าขนาดเล็กที่จะแก้ไขเท่านั้น (ลองนึกภาพการเปิด httpd.conf 500 บรรทัดและค้นหาตัวเลือกที่ไม่ถูกต้อง)

ระบบที่แตกต่างกันดูเหมือนจะมีวิธีที่แตกต่างในการแยกไฟล์การตั้งค่า apache ยกตัวอย่างเช่นใน Gentoo ของฉันมีmodules.d/และvhosts.d/ในขณะที่อูบุนตูของฉันมีconf.d/, mods-available/, mods-enabled/, และsites-available/ sites-enabled/คุณสามารถคาดเดาสิ่งที่พวกเขาทำตามชื่อหรือดูใน httpd.conf สำหรับIncludeบรรทัด


3

เนื่องจากมีหลายแพ็คเกจที่สามารถให้ฟังก์ชันการทำงานกับ HTTPd ของ Apache แพ็คเกจพื้นฐานจะติดตั้ง httpd.conf ที่ให้การตั้งค่าพื้นฐานส่วนใหญ่และแพ็คเกจอื่น ๆ เช่น mod_ssl, nagios และ php มีไฟล์การกำหนดค่าที่ต้องรวมต่อ - บรรจุภัณฑ์ แพ็คเกจ Red Hat ใช้ไดเรกทอรี conf.d เพื่อวางการกำหนดค่าสำหรับแพ็คเกจเหล่านั้นมิฉะนั้นพวกเขาจะต้องแก้ไข httpd.conf สำหรับแต่ละแพ็คเกจซึ่งเป็นเรื่องยากที่จะทำให้เป็นอัตโนมัติระหว่างการติดตั้งแพ็คเกจ


0

ฉันพบว่ามีข้อกำหนดที่ไม่ได้จัดทำเป็นเอกสารที่ดีว่าไฟล์การกำหนดค่าใดที่อยู่ในอาปาเช่ โดยเฉพาะอย่างยิ่งเนื่องจากพวกเขาเพิ่งเปลี่ยนวิธีการเริ่มต้นมัน คุณติดตั้งจากแหล่งที่มาหรือจากแพ็คเกจหรือไม่? แพคเกจโดยเฉพาะแพคเกจเดเบียนดูเหมือนจะไม่ปฏิบัติตามแหล่ง apache เลย

เป็นเวลานานแล้วที่ฉันทำ apache ได้มาก แต่ถ้าฉันจำได้ conf.d / เป็นที่ที่คุณจะใส่โมดูล daemon เช่นสิ่งที่คุณโพสต์หรือ ffi หรืออะไรทำนองนั้น

ในขณะที่ conf / เป็นที่ที่ไฟล์กำหนดค่าเฉพาะของไซต์ไป

นี่คือหน้าตาของฉันที่ติดตั้งมาจากแหล่งที่มา

 % ll /opt/apache2
drwxr-xr-x  2 root 4.0K 2010-10-25 14:14 bin/
drwxr-xr-x  2 root 4.0K 2010-10-25 14:14 build/
drwxr-xr-x  2 root 4.0K 2010-10-25 14:14 cgi-bin/
drwxr-xr-x  4 root 4.0K 2010-10-28 15:54 conf/
drwxr-xr-x  3 root 4.0K 2010-10-25 14:14 error/
drwsrwxrwx  3 www  4.0K 2010-10-28 13:06 htdocs/
drwxr-xr-x  3 root 4.0K 2010-10-25 14:14 icons/
drwxr-xr-x  2 root 4.0K 2010-10-25 14:14 include/
drwxr-xr-x  3 root 4.0K 2010-10-25 14:14 lib/
drwxr-xr-x  3 root 4.0K 2010-10-28 16:11 logs/
drwxr-xr-x  4 root 4.0K 2010-10-25 14:14 man/
drwxr-xr-x 14 root  12K 2010-10-14 11:45 manual/
drwxr-xr-x  2 root 4.0K 2010-10-25 14:20 modules/
 % ll /opt/apache2/conf
total 88K
drwxr-xr-x 2 root 4.0K 2010-10-28 15:55 extra/
drwxr-xr-x 3 root 4.0K 2010-10-25 14:14 original/
-rw-r--r-- 1 root  14K 2010-10-28 15:54 httpd.conf
-rw-r--r-- 1 root  13K 2010-10-25 14:14 magic
-rw-r--r-- 1 root  45K 2010-10-25 14:14 mime.types



% ll /opt/apache2/conf/extra
total 60K
-rw-r--r-- 1 root  179 2010-10-28 15:31 20_mod_fastcgi.conf
-rw-r--r-- 1 root 2.8K 2010-10-25 14:14 httpd-autoindex.conf
-rw-r--r-- 1 root 1.7K 2010-10-25 14:14 httpd-dav.conf
-rw-r--r-- 1 root 2.3K 2010-10-25 14:14 httpd-default.conf
-rw-r--r-- 1 root 1.1K 2010-10-25 14:14 httpd-info.conf
-rw-r--r-- 1 root 5.0K 2010-10-25 14:14 httpd-languages.conf
-rw-r--r-- 1 root  906 2010-10-25 14:14 httpd-manual.conf
-rw-r--r-- 1 root 3.8K 2010-10-25 14:14 httpd-mpm.conf
-rw-r--r-- 1 root 2.2K 2010-10-25 14:14 httpd-multilang-errordoc.conf
-rw-r--r-- 1 root  10K 2010-10-25 14:14 httpd-ssl.conf
-rw-r--r-- 1 root  817 2010-10-25 14:14 httpd-userdir.conf
-rw-r--r-- 1 root 1.8K 2010-10-28 15:55 httpd-vhosts.conf

แต่โปรดทราบว่านี่ไม่ใช่เซิร์ฟเวอร์ที่ใช้งานจริงและฉันได้สร้างการติดตั้ง apache นี้โดยเฉพาะเพื่อทดสอบWt


ดูเอกสารนี้ใน wiki ของ Apache: DistrosDefaultLayout
nozimica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.