Installation » History » Revision 8
Revision 7 (icy, 2010-12-22 15:49) → Revision 8/14 (stbuehler, 2012-01-20 18:43)
{{>toc}} h1. Install from source h2. Dependencies * c compiler :) * pkg-config - best way to find many libs * gnu make * libev * ragel * glib2.0 (>= 2.16) * lua 5.1 (highly recommended) * zlib1g (for mod_deflate deflate/gzip compression) * libbz2 (for mod_deflate bzip2 compression) * libssl (for ssl) Debian: sudo apt-get install libev-dev libglib2.0-dev ragel h2. Get Source You can either checkout our git sources, or take a distbuild tar from http://download.lighttpd.net/lighttpd/snapshots-2.0.x/ h3. git checkout * First time: @git clone git://git.lighttpd.net/lighttpd/lighttpd2.git@ @{{repository}}@ This creates a new directory "lighttpd2" in your current directory with the sources in it. If you sit behind a strict firewall you can try @git clone http://git.lighttpd.net/lighttpd/lighttpd2.git@ @{{repository(http)}}@ instead. * Update: @git pull@ If you applied own patches, you might want to use @git fetch; git rebase origin/master@ to keep your patches or @git fetch; git reset --hard origin/master@ to use our current head. If you don't have git installed you can download a git snapshot from http://git.lighttpd.net/lighttpd/lighttpd2.git/commit/ http://cgit.lighttpd.net/lighttpd/lighttpd2/commit/ * "lighttpd2-master.zip":http://git.lighttpd.net/lighttpd/lighttpd2.git/snapshot/lighttpd2-master.zip "lighttpd2-master.zip":http://cgit.lighttpd.net/lighttpd/lighttpd2/snapshot/lighttpd2-master.zip * "lighttpd2-master.tar.gz":http://git.lighttpd.net/lighttpd/lighttpd2.git/snapshot/lighttpd2-master.tar.gz "lighttpd2-master.tar.gz":http://cgit.lighttpd.net/lighttpd/lighttpd2/snapshot/lighttpd2-master.tar.gz It is the same as a git checkout (without the .git directory ofc) and counts as "git checkout" too here :) This tars are *not* the same as a *distbuild* tar! As you probably want to use autotools to build and install lighttpd2 you need to generate some extra files: <pre> ./autogen.sh </pre> This last step needs some additional dependencies (the versions are a hint to what we are using; they are probably not required in the exact same version) * libtool (2.2.6b) * automake (1.11) * autoconf (2.67) h3. distbuild Download it and extract it as always: @tar -xf http://download.lighttpd.net/lighttpd/snapshots-2.0.x/lighttpd-2.0.0-snap-XXX.tar.gz@ h2. Configure + Build If you are not familiar with configure, have a look at the help: <pre> ./configure --help </pre> Example: <pre> ./configure --with-lua --with-openssl --with-kerberos5 --with-zlib --with-bzip2 --includedir=/usr/include/lighttpd-2.0.0 make </pre> h2. Install <pre> make install </pre> h2. FreeBSD hints * Use @gmake@ instead of @make@ * In order to get configure finding libev, you either need this as /usr/local/libdata/pkgconfig/libev.pc : <pre> prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: libev Description: high-performance event loop Version: 3.9 Libs: -L${libdir} -lev Cflags: -I${includedir} </pre> or use @CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure ...@ h1. Install prebuild binaries You may want to have a look at the opensuse build service repositories, we have packages available for: * CentOS 5 * Debian 5.0 * Fedora 13 * Redhat RHEL 5 * openSUSE 11.1, 11.2, 11.3 and Factory * SUSE Linux Enterprise 11 * Ubuntu 9.10 (karmic), 10.04 (lucid) They are hosted either in the server:http or home:stbuehler:lighttpd2 projects: * http://download.opensuse.org/repositories/server:/http/ (https://build.opensuse.org/project/show?project=server%3Ahttp) * http://download.opensuse.org/repositories/home:/stbuehler:/lighttpd2/ (https://build.opensuse.org/project/show?project=home%3Astbuehler%3Alighttpd2) You can additionally use the "nightlies" repository; our "buildbot":http://buildbot.lighttpd.net/ will update it after every git commit automatically (it may depend on packages from home:stbuehler:lighttpd2) ** http://download.opensuse.org/repositories/home:/stbuehler:/lighttpd2-nightlies/ (https://build.opensuse.org/project/show?project=home%3Astbuehler%3Alighttpd2-nightlies) h1. Notes * Although we sometimes use waf and cmake for developing, these buildsystems are currently *not* supported for building Lighty 2.0. We will bring back support for waf and cmake once we get near to a release. Use autotools (./configure and make) for now.