Erstellt am: 24.02.2008 | Editiert am: 30.03.2008
Lighttpd 1.5 installieren unter Debian
Lighttpd 1.5 kompilieren und deb Paket erstellen
Lighttpd (auch: Lighty) ist ein Webserver und kann, ähnlich wie Apache, durch Module erweitert werden. Der Server setzt auf Asynchrone Kommunikation und bearbeitet mehrere Anfragen in einem einzigen Betriebssystemprozess. Deshalb ist der Webserver in der Lage mehrere tausende Anfragen gleichzeitig zu bearbeiten, ohne die CPU und Arbeitsspeicher unnötig zu belasten.
Dieses Tutorial beschreibt wie die bisher veröffentlichte Pre Version von Lighttpd 1.5 compiliert und unter Debian, als Paket, installiert wird. Als Alternative kann aber auch die SubVersion Version verwendet werden (Empfehle ich). Zusätzlich zum Standard Paket, gibt es auch noch die Möglichkeit, geoip zu implementieren.
Viel Glück!
- Fehlende Pakete integrieren
- Lighttpd herunterladen und für das kompilieren vorbereiten
- Konfigurieren
- Kompilieren mit Make und deb Paket erstellen
- Alte Pakete deinstallieren
- Neues Deb Paket installieren
- Nicht benötigte Dev Pakete entfernen
- Links und Quellen
- Kommentar schreiben
- Weitere Themen
Fehlende Pakete integrieren
aptitude install checkinstall python-mysqldb liblua5.1-dev libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libgtkhtml2-0 libgtkhtml2-dev libsqlite-dev libsqlite3-dev libmemcache-dev libaio-dev libldap2-dev automake1.9 libgeoip-dev e2fsprogs e2fsprogs-devel
aptitude remove automake1.4
Lighttpd herunterladen und für das kompilieren vorbereiten
Lighttpd 1.5 von SubVersion herunterladen und vorbereiten
cd /usr/src svn co svn://svn.lighttpd.net/lighttpd/trunk/
mv /usr/src/trunk /usr/src/lighttpd-1.5.0
cd /usr/src/lighttpd-1.5.0
./autogen.sh
mv /usr/src/trunk /usr/src/lighttpd-1.5.0
cd /usr/src/lighttpd-1.5.0
./autogen.sh
Lighttpd 1.5 pre 1992 Source herunterladen und entpacken
cd /usr/src
wget http://www.lighttpd.net/download/lighttpd-1.5.0-r1992.tar.gz
tar xzf lighttpd-1.5.0-r1992.tar.gz
wget http://www.lighttpd.net/download/lighttpd-1.5.0-r1992.tar.gz
tar xzf lighttpd-1.5.0-r1992.tar.gz
Lighttpd AJP13 Patch
Lighttpd Patch (r2001 due to of a bug at the session handler which rejected setting cookies via AJP13)
nano lighttpd-1.5.0/src/mod_proxy_backend_ajp13.c
line 287: - p = keyvalue_get_value(response_headers, len);
line 287: + p = keyvalue_get_value(response_headers, len & ~AJP13_COMMON_HEADER_CODE);
cd lighttpd-1.5.0
line 287: + p = keyvalue_get_value(response_headers, len & ~AJP13_COMMON_HEADER_CODE);
cd lighttpd-1.5.0
GeoIP Modul für Lighttpd 1.5
Schau erstmal auf die Seite GeoIP Modul und wähle dir das letzte Attachment aus. (Achte auf das X im folgenden Abschnitt)
cd /usr/src/lighttpd-1.5.0/src/
wget http://trac.lighttpd.net/trac/attachment/wiki/Docs/ModGeoip/mod_geoip.X.c?format=raw
mv mod_geoip.X.c?format=raw mod_geoip.c
Nun muss noch die Makefile.am im src Verzeichnis angepasst werden:
wget http://trac.lighttpd.net/trac/attachment/wiki/Docs/ModGeoip/mod_geoip.X.c?format=raw
mv mod_geoip.X.c?format=raw mod_geoip.c
nano Makefile.am
Suche:
lib_LTLIBRARIES += mod_accesslog.la
mod_accesslog_la_SOURCES = mod_accesslog.c
mod_accesslog_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
mod_accesslog_la_LIBADD = $(common_libadd)
Füge danach ein:
mod_accesslog_la_SOURCES = mod_accesslog.c
mod_accesslog_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
mod_accesslog_la_LIBADD = $(common_libadd)
lib_LTLIBRARIES += mod_geoip.la
mod_geoip_la_SOURCES = mod_geoip.c
mod_geoip_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
mod_geoip_la_LIBADD = $(common_libadd) -lGeoIP
Als nächstes müssen noch die GeoIP Datenbanken heruntergeladen und entpackt werden:
mod_geoip_la_SOURCES = mod_geoip.c
mod_geoip_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
mod_geoip_la_LIBADD = $(common_libadd) -lGeoIP
wget -O /var/www/GeoLiteCity.dat.gz http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget -O /var/www/GeoIP.dat.gz http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz
gunzip /var/www/*.dat.gz
GeoIP.dat beinhaltet die Länder und GeoLiteCity.dat die Länder und Städte. Je nachdem welche Datenbank (und vorallem Performance) gebraucht wird, kann man sich für eine dieser Datenbanken entscheiden.wget -O /var/www/GeoIP.dat.gz http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz
gunzip /var/www/*.dat.gz
Wenn nachher Lighttpd installiert ist, einfach folgendes in die /etc/lighttpd/lighttpd.conf eintragen:
nano /etc/lighttpd/lighttpd.conf
#### GeoIP
geoip.db-filename = "/var/www/GeoIP.dat"
geoip.memory-cache = "enable"
#### GeoIP Lite City
#geoip.db-filename = "/var/www/GeoLiteCity.dat"
#geoip.memory-cache = disable
Natürlich muss auch das Modul
geoip.db-filename = "/var/www/GeoIP.dat"
geoip.memory-cache = "enable"
#### GeoIP Lite City
#geoip.db-filename = "/var/www/GeoLiteCity.dat"
#geoip.memory-cache = disable
"mod_geoip",
aktiviert werden.Konfigurieren
./configure --enable-maintainer-mode --prefix=/usr --with-openssl --with-lua=lua5.1 --disable-ipv6 --with-memcache --with-gdbm --with-webdav-props --with-ldap --with-attr --with-linux-aio --with-mysql --with-webdav-locks
Nachdem Kompilieren wurden folgende Plugins/Module installiert:
Plugins:
enabled:
mod_access
mod_accesslog
mod_alias
mod_auth
mod_cgi
mod_chunked
mod_cml
mod_compress
mod_deflate
mod_dirlisting
mod_evasive
mod_evhost
mod_expire
mod_flv_streaming
mod_indexfiles
mod_mysql_vhost
mod_proxy_backend_ajp13
mod_proxy_backend_fastcgi
mod_proxy_backend_http
mod_proxy_backend_scgi
mod_proxy_core
mod_redirect
mod_rewrite
mod_rrdtool
mod_secdownload
mod_setenv
mod_simple_vhost
mod_sql_vhost_core
mod_ssi
mod_ssi
mod_staticfile
mod_status
mod_trigger_b4_dl
mod_uploadprogress
mod_userdir
mod_usertrack
mod_webdav
disabled:
mod_postgresql_vhost
Features:
enabled:
auth-crypt
auth-ldap
compress-bzip2
compress-deflate
compress-gzip
large-files
network-openssl
regex-conditionals
storage-memcache
webdav-properties
disabled:
network-ipv6
storage-gdbm
webdav-locks
enabled:
mod_access
mod_accesslog
mod_alias
mod_auth
mod_cgi
mod_chunked
mod_cml
mod_compress
mod_deflate
mod_dirlisting
mod_evasive
mod_evhost
mod_expire
mod_flv_streaming
mod_indexfiles
mod_mysql_vhost
mod_proxy_backend_ajp13
mod_proxy_backend_fastcgi
mod_proxy_backend_http
mod_proxy_backend_scgi
mod_proxy_core
mod_redirect
mod_rewrite
mod_rrdtool
mod_secdownload
mod_setenv
mod_simple_vhost
mod_sql_vhost_core
mod_ssi
mod_ssi
mod_staticfile
mod_status
mod_trigger_b4_dl
mod_uploadprogress
mod_userdir
mod_usertrack
mod_webdav
disabled:
mod_postgresql_vhost
Features:
enabled:
auth-crypt
auth-ldap
compress-bzip2
compress-deflate
compress-gzip
large-files
network-openssl
regex-conditionals
storage-memcache
webdav-properties
disabled:
network-ipv6
storage-gdbm
webdav-locks
Kompilieren mit Make und deb Paket erstellen
make
checkinstall --install=no -D --default --pakdir=/usr/src --gzman=yes
checkinstall --install=no -D --default --pakdir=/usr/src --gzman=yes
Alte Pakete deinstallieren
aptitude remove lighttpd
Neues Deb Paket installieren
dpkg -i /usr/src/lighttpd_1.5.0-1_i386.deb
Nicht benötigte Dev Pakete entfernen
aptitude remove libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libgtkhtml2-0 libgtkhtml2-dev libsqlite-dev libsqlite3-dev libmemcache-dev libaio-dev libldap2-dev libgeoip-dev e2fsprogs-devel
Links und Quellen
- Subversion Browser von Lighttpd
- GEOIP Modul
- Lighttpd Homepage
- Lighttpd Dokumentation
- PRE-RELEASE: lighttpd-1.5.0-r1992
Kommentar schreiben
- Benötigte Felder sind mit einem Stern (*) markiert.





