Kích hoạt mod_headers trên apache2


23

Tôi đang cố gắng kích hoạt "tiêu đề" mô-đun vào cài đặt apache2 của mình trên hệ thống Ubuntu 10.04, đây là một số thông tin:

Phiên bản máy chủ: Apache / 2.2.14 (Ubuntu)

khi tôi chạy lệnh:

tiêu đề a2enmod

Tôi nhận được kết quả đầu ra này: LRI: Tiêu đề mô-đun không tồn tại!

nhưng dưới / usr / lib / apache2 / mô-đun / Tôi có thể thấy có mod_headers.so

bất cứ đề nghị nào? cảm ơn trước

EDIT: Có điều gì đó không đúng với các mô-đun của tôi, khi tôi truy cập vào các mô-đun apache của webmin, nó liệt kê cho tôi một số mô-đun, không phải mọi mô-đun tôi có thể tìm thấy trên / usr / lib / apache2 / mô-đun / ví dụ: Tôi không thể thấy mod_rewrite từ danh sách nhưng tôi có nó trong / usr / lib / apache2 / module /


2
Nó có liệt kê các tiêu đề nếu bạn chỉ chạy "a2enmod" không?
pauseka

Có, nhưng chỉ vài người trong số họ, đây là danh sách: bí danh auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex cgid deflate dir env kịch câm ủy quyền đàm phán proxy_ftp proxy_html proxy_http reqtimeout setenvif ssl tình trạng
0wn3r

âm thanh như bạn đã kích hoạt tiêu đề. Nó có hiển thị nếu bạn chạy "a2dismod" không?
pauseka

Không, đây là danh sách mà nó cung cấp cho tôi: bí danh auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex cgid defatter dir env mime đàm phán proxy_html reqtimeout setenvif ssl. Có một cái gì đó kỳ lạ với các trình xử lý mô-đun, tôi có thể thấy rất nhiều mô-đun vào thư mục thư viện apache nhưng tôi không thể kích hoạt nhiều trong số chúng, có cách nào để xây dựng lại chỉ mục của trình xử lý mô-đun apache không?
0wn3r

Tôi đã giải quyết vấn đề này, tôi đã sao chép tệp headers.load được tìm thấy trong / etc / apache2 / mods có sẵn từ một cài đặt máy chủ apache khác mà tôi có trên một máy chủ khác và sau đó chạy các tiêu đề a2enmod kích hoạt mô-đun. Bây giờ câu hỏi là tại sao tôi thiếu một số tệp mô-đun vào / etc / apache2 / mods có sẵn? và làm thế nào để sửa chữa điều này?
0wn3r

Câu trả lời:


4

Có vẻ như ai đó đã xóa các tệp bao gồm cho một số mod nhất định, thay vì xóa các liên kết tượng trưng như các công cụ a2enmod / a2dismod làm.

Cài đặt lại các tệp chung apache để đưa các tệp này trở lại vị trí:

aptitude cài đặt lại apache2.2-common


Cảm ơn anh bạn, nhưng nếu tôi chạy lệnh đó, tôi sẽ mất bất kỳ tập tin cấu hình hoặc cái gì?
0wn3r

Không, chúng là các tệp phổ biến, vì vậy trừ khi bạn đã chỉnh sửa chúng thì bạn vẫn an toàn. Cài đặt apt-file và chạy apt-file list apache2.2-commonnếu bạn muốn xem loại tệp nào cài đặt.
pauseka

2

Tôi tìm thấy một giải pháp hiệu quả cho tôi

Thêm dòng này vào /etc/apache2/httpd.conf:

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

tiêu đề 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 ]

Sau khi khởi động lại, tôi có thể xóa LoadModule headers_module /usr/lib/apache2/modules/mod_headers.sotừ /etc/apache2/httpd.confđó và nó vẫn hoạt động!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.