Włączanie mod_headers na Apache2

23

Próbuję włączyć „nagłówki” modułu w mojej instalacji apache2 w systemie Ubuntu 10.04, oto kilka informacji:

Wersja serwera: Apache / 2.2.14 (Ubuntu)

po uruchomieniu polecenia:

Nagłówki a2enmod

Otrzymuję ten wynik: BŁĄD: Nagłówki modułów nie istnieją!

ale pod / usr / lib / apache2 / modules / widzę, że jest mod_headers.so

jakieś sugestie? z góry dziękuję

EDYCJA: Coś jest nie tak z moimi modułami, kiedy uzyskuję dostęp do listy modułów apache webmina, wyświetla mi tylko niektóre moduły, nie każdy moduł, który mogę znaleźć na / usr / lib / apache2 / modules / przykład: nie widzę mod_rewrite z listy, ale mam go w katalogu / usr / lib / apache2 / modules /

0wn3r
źródło
2
Czy wyświetla listę nagłówków, jeśli uruchomisz „a2enmod”?
pauska
Tak, ale tylko kilka z nich, oto lista: alias auth_basic authn_file authz_default authz_groupfile authz_host authz_user obrotowymi cgid deflate reż env mim negocjacje proxy proxy_ftp proxy_html proxy_http reqtimeout setenvif ssl stan
0wn3r
brzmi, jakbyś już włączył nagłówki. Czy to pokazuje, jeśli uruchomisz „a2dismod”?
pauska
nie, oto lista, którą mi daje: alias auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex cgid deflate dir env mime negocjacji proxy_html reqtimeout setenvif ssl status. Jest coś dziwnego w modułach obsługi modułów, widzę wiele modułów w folderze biblioteki Apache, ale nie mogę aktywować wielu z nich, czy istnieje sposób na odbudowanie indeksu modułu modułów Apache?
0wn3r
Rozwiązałem to, skopiowałem plik headers.load znaleziony w pliku / etc / apache2 / mods-dostępny z innej instalacji serwera Apache, który mam na innym serwerze, a następnie uruchomienie nagłówków a2enmod aktywuje moduł. Teraz pytanie brzmi: dlaczego brakuje niektórych plików modułów w pliku / etc / apache2 / mods-available? i jak to naprawić?
0wn3r

Odpowiedzi:

4

Wygląda na to, że ktoś usunął pliki dołączania dla niektórych modów, zamiast usuwać dowiązania symboliczne, jak robią to narzędzia a2enmod / a2dismod.

Ponownie zainstaluj typowe pliki apache, aby przywrócić te pliki:

aptitude przeinstaluj apache2.2-common

Pauska
źródło
Dzięki stary, ale jeśli uruchomię to polecenie, stracę jakieś pliki konfiguracyjne czy coś?
0wn3r
Nie, są to wspólne pliki, więc jeśli ich nie edytowałeś, jesteś bezpieczny. Zainstaluj apt-file i uruchom, apt-file list apache2.2-commonjeśli chcesz zobaczyć, jakie pliki instaluje ten pakiet.
pauska
2

Znalazłem rozwiązanie, które działało dla mnie

Dodaj tę linię do /etc/apache2/httpd.conf:

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

Nagłówki 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 ]

Po ponownym uruchomieniu mogłem usunąć LoadModule headers_module /usr/lib/apache2/modules/mod_headers.soz /etc/apache2/httpd.confi to działa!

użytkownik310818
źródło