Najnowsze pliki źródłowe potrzebne do kompilacji Lighttpd można pobrać na kilka sposobów. Pierwszym z nich jest bezpośrednie pobranie ze strony http://www.lighttpd.net/download/ archiwum tar. Po jego ściągnięciu należy je rozpakować a następnie przejść do nowo utworzonego katalogu ze źródłami
tar -xf lighttpd-1.4.XXX.tar.gz cd lighttpd-1.4.XXX
Inna możliwości pozyskania najnowszej wersji Lighttpd jest SVN. Jeśli wybierzemy ten sposób dodatkowo potrzebne będą plakiety autoconf i automake.
W celu ściągnięcia najnowszych źródeł należy wydać poniższe polecenia:
svn checkout svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x/ cd lighttpd-1.4.x ./autogen.sh
W bieżącym katalogu zostanie utworzony katalog ze źródłami lighttpd. Tak pobrane źródła można później zaktualizować wydając komendę (w katalogu ze źródłami):
svn update ./autogen.sh
Instalacja zależności
W zależności od tego z jaką „funkcjonalnością” skompilujemy lighttpd do prawidłowego działania i kompilacji będzie on wymagał kilku dodatkowych pakietów.
Informacje z archiwum pakietów Debiana (lighttpd (1.4.28-2)) # libattr1 (>= 2.4.41-1) # libbz2-1.0 # libc6 (>= 2.3.2) [amd64, i386, mips, mipsel] # libfam0 # libldap-2.4-2 (>= 2.4.7) # libpcre3 (>= 7.7) # libssl0.9.8 (>= 0.9.8m-1) # libterm-readline-perl-perl # lsb-base (>= 3.2-14) # mime-support # zlib1g (>= 1:1.1.4)
Oczywiście nie wszystkie z pakietów są potrzebne. Ich liczba i rodzaje zależą od liczby i rodzaju modułów z którymi skompilujemy lighttpd.
Przed przystąpieniem do konfiguracji i kompilacji musimy zainstalować kompilator gcc, program make itp. W Debianie najlepiej zainstalować paczkę build-essential. Po jej instalacji będziemy mieli wszystko co potrzeba.
Konfiguracja
Następnym krokiem jest uruchomienie skryptu konfiguracyjnego:
./configure
Bez podania dodatkowych opcji lighttpd skompiluje się z obsługą domyślnych modułów. W razie jakiś problemów skrypt wyświetli o tym informacje:
configure: error: pcre-config not found, install the pcre-devel package or build with --without-pcre
Powyższy błąd informuje nas, że nie znaleziono wymaganej do kompilacji biblioteki. Podpowiedź sugeruje nam zainstalowanie paczki pcre-devel albo skompilownie lighttpd bez jej obsługi. Aby uzyskać więcej informacji na temat skryptu konfiguracyjnego możemy wydać polecenie
./configure --help
Wyświetli się nam lista wszystkich możliwych opcji konfiguracyjnych.
Jeśli nie chcemy zainstalować lighttpd w /usr/local warto zmienić ścieżkę używając opcji–prefix podczas uruchomienia skryptu konfiguracyjnego.
Po poprawnej konfiguracji powinno się nam wyświetlić coś takiego:
Plugins: enabled: mod_access mod_accesslog ... i tu wiecej modułów ... mod_webdav disabled: mod_cml ... mod_trigger_b4_dl Features: enabled: auth-crypt ... network-ipv6 disabled: auth-ldap ... webdav-properties
Kompilacja
Czas rozpocząć właściwą kompilację:
make
Po krótkiej chwili lighttpd powinien zostać przygotowany do instalacji.
Instalacja
Jeśli wszystko przebiegło poprawnie możemy przejść do instalacji.
make install
Skrypty startowe
Kolejnym krokiem jest utworzenie skryptów uruchamiających serwer podczas startu systemu.
Wraz z archiwum ze źródłami w katalogu doc znajdziemy dwa takie pliki:
rc.lighttpd.redhat rc.lighttpd
Aby dodać skrypty startowe wykonujemy:
sed -e 's/FOO/lighttpd/g' doc/rc.lighttpd > /etc/init.d/lighttpd chmod a+rx /etc/init.d/lighttpd cp -p doc/sysconfig.lighttpd /etc/sysconfig/lighttpd install -Dp ./doc/lighttpd.conf /etc/lighttpd/lighttpd.conf chkconfig lighttpd on
Jeśli używasz Centosa lub RHEL być może będziesz potrzebował zmienić pierwszą linię:
sed -e 's/FOO/lighttpd/g' doc/rc.lighttpd > /etc/init.d/lighttpd
na
sed -e 's/FOO/lighttpd/g' doc/rc.lighttpd.redhat > /etc/init.d/lighttpd
Jeśli używasz Debiana i jego pochodnych zamiast użyć
chkconfig
użyj
update-rc.d lighttpd defaults
To by było na tyle. Serwer powinien już być do naszej dyspozycji.
Możemy go kontrolować przy pomocy wcześniej przekopiowanego skryptu startowego:
/etc/init.d/lighttpd start
Jeśli nie zależy Ci na najnowszych wersjach serwera Lighttpd oraz nie chcesz poświęcać dodatkowego czasu na kompilowanie źródeł itp., możesz zainstalować Lighttpd z gotowych paczek znajdujących się w repozytoriach większości linuksowych dystrybucji.
2 komentarze
Możesz dodawać komentarze do tego artykułu.
configure: error: pcre-config not found, install the pcre-devel package or build with –without-pcre
jak spompilować lighttpd bez jej obsługi?
Konrad 10 lat ago
./configure –without-pcre
Konrad Kowalski 10 lat ago
Dodaj komentarz