W poprzednich częściach podjedliśmy już pewne kroki mające na celu podstawowe zabezpieczenie serwera VPS. Teraz przyszedł czas na poszerzenie jego funkcjonalności. W tym artykule przedstawiony zostanie proces instalacji serwera WWW jakim jest Lighttpd oraz wstępne informacje na temat jego konfiguracji.
Dlaczego Lighttpd ?
Niektóre osoby może dziwić taki wybór. W większości przypadków ludzie instalują tradycyjny zestaw – Apache, MySQL i Mod_PHP. Moja decyzja podjęta jest ze względu na dość małą ilość dostępnej pamięci na serwerze VPS (128MB).
Gdybyśmy zainstalowali standardowy pakiet z Apache nasz serwis WWW mógłby „umrzeć straszliwą śmiercią” 😉 Na serwerze procesy Apache z powodu braku odpowiednich zasobów po prostu przestawały by działać.
W systemach obsługiwanych przez wirtualizację Xen serwer zaczął by swapować(taka poduszka bezpieczeństwa – za co cenie bardzo tę platformę), mogło by to doprowadzić do spadku wydajności a w skrajnym przypdaku do jego całkowitego zablokowania.
Na platformie OpenVZ zapewne skończyło by się to padem serwera z powodu znacznego przekroczenia limitów pamięciowych.
Dlatego też z zestawu LAMP (Linux Apache MySQL PHP), aby taka sytuacja nie wytopiła na naszej słabszej maszynie musimy wyrzucić literkę A :). W zamian za to użyjemy Lighttpd, który oferuje podobną funkcjonalność i zużywa ZNACZNIE mniej pamięci. Sam proces Lighttpd na moim serwerze zużywa maksymalnie 2,5MB RAM (RSS):
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND lighty 2614 0.0 2.0 84180 2656 ? S 11:48 0:00 /usr/sbin/lighttpd
Lighttpd instalacja
Użytkownicy Debiana mają ułatwioną sprawę. Paczka lighttpd znajduje się standardowo w repozytorium. Aby ją zainstalować wystarczy w konsoli wydać polecenie:
# apt-get install lighttpd
Użytkownicy innych dystrybucji mogą również mieć odpowiedni pakiet w repozytorium lub muszą zainstalować go ze źródeł. Jak to zrobić znajdziemy we wpisie Lighttpd – instalacja ze źródeł.
Zarządzanie usługą
Lighttpd możemy kontrolować za pomocą sktyptu:
/etc/init.d/lighttpd opcja
dostępne opcje to:
lighttpd {start|stop|restart|reload|force-reload} np. /etc/init.d/lighttpd restart
– zrestartuje nam serwer WWW
Pliki konfiguracyjne
Pliki konfiguracyjne Lighttpd znajdują się w katalogu: /etc/lighttpd/
/etc/lighttpd $ ls conf-available conf-enabled lighttpd.conf
lighttpd.conf – główny plik konfiguracyjny
conf-enabled – katalog z plikami konfiguracyjnymi uaktywnionych modułów
conf-available – katalog z plikami konfiguracyjnymi nieuaktywnionych modułów
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/):
server.modules = ( "mod_access", "mod_alias", "mod_accesslog", "mod_compress", # "mod_rewrite", # "mod_evasive" )
Możemy znaleźć i ustawić jaki jest główny katalog serwera:
## a static document-root, for virtual-hosting take look at the ## server.virtual-* options server.document-root = "/var/www/"
Ustawić gdzie mają lądować logi:
# where to send error-messages to server.errorlog = "/var/log/lighttpd/error.log" # accesslog module accesslog.filename = "/var/log/lighttpd/access.log
konfigurować niektóre moduły:
## Przekierowanie z www na non-www $HTTP["host"] =~ "^www\.(.*)" { url.redirect = ( "^/(.*)" => "http://%1/$1" ) }
i wiele wiele innych rzeczy, których nie będę teraz tutaj opisywał. Dokładniejsze instrukcje jak konfigurować Lighttpd i niektóre jego moduły znajdziecie w innych wpisach.
Włączanie/wyłączanie modułów
Moduły można aktywować lub dezaktywować w pliku lighttpd.conf odkomenowując lub dopisując odpowiednie dane w sekcji:
server.modules = ( "mod_access", "mod_alias", ... # "mod_rewrite", # "mod_redirect" )
lub prościej 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 nazwylighty-enable-mod
Program wyświetli nam wtedy informacje jakie są już aktywowane i jakie można jeszcze aktywować:
lighty-enable-mod
Available modules: auth cgi fastcgi proxy rrdtool simple-vhost ssi ssl userdir phpmyadmin
Already enabled modules: auth fastcgi phpmyadmin
Enable module: tu podajemy nazwe modułu jaki chcemy aktywować np simple-vhost
Po wykonaniu polecenia program utworzy dowiązanie symboliczne: pliku konfiguracyjnego z katalogu conf-available do conf-enabled
Teraz możemy przystąpić do konfiguracji modułów, edutując pliki w /conf-enabled/ bądź też dopisując odpowiednie linie w pliku lighttpd.conf.
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. np dla fastcgi:
server.modules += ( "mod_fastcgi" )
Aby dezaktywować jakiś moduł należy użyć polecenia
lighty-disable-mod
które robi to samo co lighty-enable-mod, tylko że w drugą stronę.
5 komentarzy
Możesz dodawać komentarze do tego artykułu.
Pomocne informacje.
Chociaż jeszcze kilka słów na temat konfiguracji, by się przydało(np. jak zrobić, aby stronka była dostępna pod danym adresem :]).
pozdrawiam
Pudzian 15 lat ago
Więcej artykułów o Lighttpd będzie już niebawem. Chwilowo nie mam za dużo czasu, jak tylko go znajdę to napisze kilka artykułów na ten temat.
Konrad Kowalski 15 lat ago
Skoro będą – to poczekam.
Próbowałem z Apache2, ale jakoś nie wychodziło mi skonfigurowanie(brak solidnych poradników/tutoriali).
Póki co widzę, że lighttpd wygląda łatwiej – nigdy serwerów nie zakładałem, a jak zapewne można się domyślić, chcę się nauczyć). :]
I pytanie z góry – gdzie wrzucać pliki strony? Zmieniłem domyślną ścieżkę na „/home/pudzian/serwer/www/” – przed wrzuceniem plików jest domyślna strona lighttpd(localhost w przeglądarce), natomiast po wrzuceniu plików (index.html itd.) – po wpisaniu 'localhost’ wyskakuje '403 – Forbidden’.
Pudzian 15 lat ago
Sprawdź prawa dostępu do pliku – mogą one być złe.
Folder w którym leżą pliki strony musi mieć co najmniej 701 (prawo „x” wykonania) (chmod 701 www).
Dodatkowo pliki html powinny mieć prawo odczytu 604 (chmod 604 index.html)
Edit: wszystkie poprzedzające katalogi też muszą mieć prawo „x”
Czyli /home/ (ten katalog zresztą ma to prawo)
/pudzian/ , /serwer/ , /www/
Konrad Kowalski 15 lat ago
Bardzo dobry artykuł, tak dalej :).
MR 13 lat ago
Dodaj komentarz