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!

  1. Fehlende Pakete integrieren
  2. Lighttpd herunterladen und für das kompilieren vorbereiten
    1. Lighttpd 1.5 von SubVersion herunterladen und vorbereiten
    2. Lighttpd 1.5 pre 1992 Source herunterladen und entpacken
      1. Lighttpd AJP13 Patch
    3. GeoIP Modul für Lighttpd 1.5
  3. Konfigurieren
  4. Kompilieren mit Make und deb Paket erstellen
  5. Alte Pakete deinstallieren
  6. Neues Deb Paket installieren
  7. Nicht benötigte Dev Pakete entfernen
  8. Links und Quellen
  9. Kommentar schreiben
  10. Weitere Themen
    1. Lighttpd mit SysCP unter Debian

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
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
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
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:
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:
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:
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.
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
            "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

Kompilieren mit Make und deb Paket erstellen

make
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
  1. Subversion Browser von Lighttpd
  2. GEOIP Modul
  3. Lighttpd Homepage
  4. Lighttpd Dokumentation
  5. PRE-RELEASE: lighttpd-1.5.0-r1992

Kommentar schreiben

  • Benötigte Felder sind mit einem Stern (*) markiert.
Sollte der Sicherheitscode unleserlich sein, kann durch einen Klick auf das Bild ein neuer Sicherheitscode erzeugt werden.

Sicherheitscode:
 

Database: 0,0136 s, 22 Anfragen, PHP: 0,3501 s, total: 0,3637 s