2010-10-10 13 views
13

Oto moje włączone modów:Które moduły Apache2 można bezpiecznie wyłączyć?

alias auth_basic authz_default authz_groupfile authz_host authz_user obrotowymi deflate reż env mim negocjacje php5 reqtimeout przepisać setenvif statusu

Ja próbując zmniejszyć zużycie pamięci Apache jak najwięcej.

Czy każdy może mnie wskazać we właściwym kierunku, który z nich jest absolutnie potrzebny i który jest opcjonalny? Planuję uruchomić Symfony, ale nie mogłem znaleźć żadnych wymagań dotyczących symfony, aby wszystko działało.

Dzięki!

+0

Wiem na pewno, że potrzebuję php5 i przepisuję przy okazji. – gregghz

Odpowiedz

9

Cóż, można rozpocząć poprzez wyłączenie wszystkich auth/authz moduły, chyba że masz zamiar mieć pracę uwierzytelniania Apache zrobić dla ciebie, w której jedyny przypadek włączyć moduł auth że jesteś rzeczywiście zamiar użyć.

Może naprawdę nie potrzebujesz modułu autoindex; potrzebujesz go tylko wtedy, gdy chcesz, aby Apache automatycznie generował pliki indeksu.

- rzeczywiście tego chcesz, więc Apache może kompresować dane gzip przed odesłaniem do klienta (znacznie zmniejsza ruch).

reqtimeout - to eksperymentalne. Nie jestem pewien, czy umieściłeś to celowo, czy nie.

+0

Dzięki za to, udało mi się wyłączyć * prawie * wszystkie modów, które zasugerowałeś bez żadnych problemów. Jednak po wyłączeniu authz_host dostałem ten błąd podczas restartowania serwera: Nie udało się poprawnie zamknąć Apache, więc teraz zabijamy wszystkie uruchomione procesy Apache. Jest to prawie na pewno nieoptymalne, więc upewnij się, że Twój system działa zgodnie z oczekiwaniami! ... oczekiwanie Błąd składni w linii 161 /etc/apache2/apache2.conf: Nieprawidłowe polecenie "Zamówienie", prawdopodobnie błędnie napisane lub zdefiniowane przez moduł nieuwzględniony w konfiguracji serwera – gregghz

+2

O, przepraszam za to. Tak, 'authz_host' zawiera dyrektywy' Allow'/'Deny' /' Order' (patrz http://httpd.apache.org/docs/current/mod/mod_authz_host.html), które są nieco elementarne. :-) – Isaac

+2

Zachowaj ostrożność wyłączając wszystko, chyba że masz pewność, że nie jest używane lub nie jest zależne od innego modułu. Jeśli korzystasz z panelu sterowania lub masz inne konta na serwerze, wyłączenie modułów Apache może spowodować problemy. – Jestep

1

Używam tylko: dir, php5, authz_host, mime, przepisz.

Wyłączenie bezużytecznych modułów pozwoli zaoszczędzić mnóstwo zasobów.

Poleciłem, aby wyłączyć jeden po drugim i ponownie uruchomić apache za każdym razem i przetestować. Zwróć również uwagę na moduły, które miałeś na początku w przypadku błędu, aby móc go cofnąć.

0

Wymów lub wyłącz wszystkie moduły.

while fails $(apachectl configtest) # or apache2ctl configtest on debian 
do 
 if directive needed 
    Add in the module that supplies the directive complained about. 
else 
    delete directive 
fi 
done 

To łatwiejsze niż komentowanie ich pojedynczo, kończy się zestawem minimalnym. Później przetestuj, czy to wszystko działa, ale użyłem go jako procesu kilka razy bez większych problemów, ale moduł z konfiguracją może w teorii zawieść (jeśli coś takiego istnieje).

0

Drastycznie zmniejszyłem listę włączonych modułów z actions alias auth_basic auth_digest authn_file authz_default authz_groupfile authz_host authz_user autoindex cgi dav dav_fs dav_svn deflate dir env fcgid mime negotiation php5 proxy proxy_balancer proxy_connect proxy_http reqtimeout rewrite ruby setenvif ssl status suexec do znacznie lżejszego: authz_host deflate dir fcgid mime php5 rewrite.

2

Niedawno przeczytałem stronę ze szczegółowymi informacjami: which Apache modules can be safely removed. Uważa najczęstsze przypadki użycia ale powinieneś zawsze check później i ponownie włączyć, czego potrzebujemy:

Ta lista modułów, które autor pozostało włączone:

core_module (static) 
log_config_module (static) 
logio_module (static) 
version_module (static) 
mpm_event_module (static) 
http_module (static) 
so_module (static) 
auth_basic_module (shared) 
authn_file_module (shared) 
authz_host_module (shared) 
authz_user_module (shared) 
expires_module (shared) 
deflate_module (shared) 
headers_module (shared) 
dir_module (shared) 
mime_module (shared) 
setenvif_module (shared) 
rewrite_module (shared) 
proxy_module (shared) 
proxy_fcgi_module (shared) 

Strona zawiera szczegóły dotyczące CentOS, a także serwera Ubuntu. Gorąco polecam przeczytanie całej strony, ponieważ zawiera ona informacje o tym, dlaczego niektóre pakiety zostały pozostawione lub wyłączone, a także wskazówki.