การเปิดใช้งาน mod_headers ใน apache2


23

ฉันพยายามเปิดใช้งานโมดูล "ส่วนหัว" ในการติดตั้ง apache2 ของฉันบนระบบ Ubuntu 10.04 นี่คือข้อมูลบางส่วน:

รุ่นเซิร์ฟเวอร์: Apache / 2.2.14 (Ubuntu)

เมื่อฉันเรียกใช้คำสั่ง:

ส่วนหัว a2enmod

ฉันได้ผลลัพธ์นี้: ข้อผิดพลาด: ไม่มีส่วนหัวของโมดูล!

แต่ภายใต้ / usr / lib / apache2 / modules / ฉันเห็นว่ามี mod_headers.so

ข้อเสนอแนะใด ๆ ขอบคุณล่วงหน้า

แก้ไข: มีบางอย่างผิดปกติกับโมดูลของฉันเมื่อฉันเข้าถึงรายการ apache ของ webmin โมดูลมันแสดงรายการฉันเพียงบางโมดูลไม่ใช่ทุกโมดูลที่ฉันสามารถหาได้ใน / usr / lib / apache2 / modules / ตัวอย่าง: ฉันไม่เห็น mod_rewrite จากรายการ แต่ฉันมีใน / usr / lib / apache2 / modules /


2
มันเป็นรายการส่วนหัวถ้าคุณเพิ่งเรียกใช้ "a2enmod"?
pauska

ใช่ แต่เพียงไม่กี่คนที่นี่เป็นรายการ: นามแฝง auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex cgid ยุบ dir env ละครใบ้พร็อกซี่เจรจา proxy_ftp proxy_html proxy_http reqtimeout setenvif SSL สถานะ
0wn3r

ดูเหมือนว่าคุณได้เปิดใช้งานส่วนหัวแล้ว แสดงหรือไม่หากคุณเรียกใช้ "a2dismod"
pauska

ไม่นี่คือรายการมันให้ฉัน: นามแฝง auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex cgid ยุบ dir env mime การเจรจาต่อรอง proxy_html reqtimeout สถานะ ssl มีบางอย่างที่แปลกประหลาดกับตัวจัดการโมดูลฉันสามารถเห็นโมดูลจำนวนมากในโฟลเดอร์ไลบรารี apache แต่ฉันไม่สามารถเปิดใช้งานได้มากมีวิธีสร้างดัชนีของตัวจัดการโมดูล apache หรือไม่
0wn3r

ฉันแก้ไขสิ่งนี้ได้ฉันคัดลอกไฟล์ headers.load ที่พบใน / etc / apache2 / mods-available จากการติดตั้งเซิร์ฟเวอร์ apache อื่นที่ฉันมีบนเซิร์ฟเวอร์อื่นแล้วเรียกใช้ a2enmod header เปิดใช้งานโมดูล ตอนนี้คำถามคือทำไมฉันหายไปบางไฟล์โมดูลใน / etc / apache2 / mods- ใช้ได้? และวิธีการซ่อมแซมนี้
0wn3r

คำตอบ:


4

ดูเหมือนว่ามีใครบางคนได้ลบไฟล์รวมสำหรับ mods บางตัวแทนที่จะลบ symlink เช่นเครื่องมือ a2enmod / a2dismod

ติดตั้งไฟล์ apache ทั่วไปอีกครั้งเพื่อให้ไฟล์เหล่านี้กลับมาใช้งานได้:

ความสามารถในการติดตั้งใหม่ apache2.2 ทั่วไป


ขอบคุณเพื่อน แต่ถ้าฉันเรียกใช้คำสั่งที่ฉันจะสูญเสียไฟล์การกำหนดค่าหรืออะไร?
0wn3r

ไม่พวกเขาเป็นไฟล์ทั่วไปดังนั้นหากคุณไม่ได้ทำการแก้ไขแล้วคุณจะปลอดภัย ติดตั้งไฟล์ apt และเรียกใช้apt-file list apache2.2-commonหากคุณต้องการดูไฟล์ประเภทใดที่แพ็คเกจติดตั้ง
pauska

2

ฉันพบวิธีแก้ปัญหาที่ใช้งานได้สำหรับฉัน

เพิ่มบรรทัดนี้ไปที่/etc/apache2/httpd.conf:

LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so

ส่วนหัว a2enmod

service apache2 restart
 * Restarting web server apache2                                                                                                                               [Fri Sep 11 17:04:33 2015] [warn] module headers_module is already loaded, skipping
 ... waiting [Fri Sep 11 17:04:35 2015] [warn] module headers_module is already loaded, skipping
                                                                                                                                                   [ OK ]

หลังจากรีสตาร์ทฉันสามารถลบLoadModule headers_module /usr/lib/apache2/modules/mod_headers.soจาก/etc/apache2/httpd.confและมันก็ทำงานต่อไปได้!

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