Moduły serwera lighttpd rozszerzają jego możliwości i funkcjonalność. Możemy dokonać ich konfiguracji na kilka sposobów. Pierwszą możliwością jest konfiguracja bezpośrednio w głównym pliku konfiguracyjnym lighttpd.conf, który znajduje się w w katalogu /etc/lighttpd/.
W głównym pliku konfiguracyjnym znajdziemy m.in. – jakie moduły zostały aktywowane (choć mogą nie być tu wymienione wszystkie – gdyż część plików konfiguracyjnych może leżeć w katalogu /conf-enabled/ – mają one specjalną dyrektywę, która nakazuje lighttpd załadowanie ich przy starcie):
server.modules = ( "mod_access", "mod_alias", ... # "mod_rewrite", # "mod_redirect" )
Na powyższym skróconym listingu widzimy, że aktywowane są m.in. mod_access i mod_alias a nie używane są mod_rewrite i mod_redirect.
Aby aktywować lub dezaktywować konkretny moduł w pliku lighttpd.conf należy od komentować lub dopisując odpowiednie dane w sekcji server.modules
server.modules = ( "moduł_aktywny", #mod_nieaktywny )
Konfigurację aktywowanych wcześniej modułów możemy również dokonać w lighttpd.conf
Dla przykładu skonfigurujemy teraz „mod_redirect„, który umożliwi nam ustawienie przekierowania z strony www.lighttpd.pl na lighttpd.pl (bez www)
Aby tego dokonać w sekcji server.modules musimy odkomentować (albo dopisać) odpowiednią linijkę
"mod_redirect",
server.modules = ( "mod_access", "mod_alias", "mod_redirect", ... # "mod_rewrite" )
i dopisać gdzieś np. na końcu:
## Przekierowanie z www na non-www $HTTP["host"] =~ "^www\.(.*)" { url.redirect = ( "^/(.*)" => "http://%1/$1" ) }
Aby przekierowanie zaczęło działać musimy przeładować konfiguracje:
/etc/init.d/lighttpd force-reload
Jeśli coś poszło nie tak (jakieś błędy składni itp), serwer nas o tym poinformuje podczas ładowania konfiguracji.
Konfiguracja modułów w oddzielnych plikach
Pliki konfiguracyjne Lighttpd znajdują się również katalogach:
/etc/lighttpd/conf-enabled – katalog z plikami konfiguracyjnymi uaktywnionych modułów (dowiązania symboliczne do plików w conf-available)
/etc/lighttpd/conf-available – katalog z plikami konfiguracyjnymi wszystkich modułów
Przykładowa zawartość katalogu conf-enabled
lrwxrwxrwx 1 root root 41 2009-11-25 15:29 05-auth.conf -> /etc/lighttpd/conf-available/05-auth.conf lrwxrwxrwx 1 root root 40 2009-11-22 16:51 10-cgi.conf -> /etc/lighttpd/conf-available/10-cgi.conf lrwxrwxrwx 1 root root 47 2009-11-25 15:29 50-phpmyadmin.conf -> /etc/lighttpd/conf-available/50-phpmyadmin.conf
Aby wykonać nasz przykład z przekierowaniem w oddzielnym pliku konfiguracyjnym należy w katalogu /etc/lighttpd/conf-available/ stowrzyć plik o nazwie np. 88-redirect.conf
server.modules += ( "mod_redirect" ) ## Przekierowanie z www na non-www $HTTP["host"] =~ "^www\.(.*)" { url.redirect = ( "^/(.*)" => "http://%1/$1" ) }
Uwaga: Tak dodanych modułów w pliku lighttpd.conf nie trzeba dodawać do sekcji server.modules aby zostały aktywowane gdzyż Lighty ładuje je podczas startu na podstawie plików konfiguracyjnych które znajdzie w katalogu /conf-enabled/. A każdy moduł zawiera już w swoim pliku dyrektywe server.modules:
server.modules += ( "mod_redirect" )
Teraz należy taki moduł aktywować. Możemy to zrobić poprzez dodatkowe 2 proste aplikacji wchodzące w skład serwera
lighty-enable-mod - aktywuje moduł lighty-disable-mod - dezaktywuje moduł
Aby aktywować jaki moduł można wydać polecenie lighty-enable-mod nazwamodułu lub bez podawania nazwy lighty-enable-mod
W naszym przypadku:
lighty-enable-mod redirect
redirect – dlatego, że nazwa pliku 88-redirect.conf
Po wykonaniu polecenia program utworzy dowiązanie symboliczne: pliku konfiguracyjnego z katalogu conf-available do conf-enabled.
Aby wprowdzić zmiany przeładowujemy serwer:
/etc/init.d/lighttpd force-reload
I teraz przekierowanie powinno działać
Polecenie lighty-enable-mod bez podania nazwy wyświetli nam wszystkie możliwe moduły do aktywowania i umożliwi nam ich aktywowanie poprzez podanie ich nazwy:
Available modules: auth cgi fastcgi proxy rrdtool simple-vhost ssi ssl status userdir phpmyadmin redirect Already enabled modules: auth cgi phpmyadmin Enable module: redirect Enabling redirect: ok Run /etc/init.d/lighttpd force-reload to enable changes
Aby dezaktywować moduł można użyć polecenia
lighty-disable-mod
które robi to samo co lighty-enable-mod, tylko że w drugą stronę.
Dodaj komentarz