Installation » History » Revision 13
Revision 12 (stbuehler, 2015-06-15 23:11) → Revision 13/14 (stbuehler, 2015-06-15 23:11)
{{>toc}}
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 7.0 (wheezy) and 8.0 (jessie)
* 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)
* Debian 8 and 9 (jessie/stable and stretch/testing) builds are available at http://debian.lighttpd.net/
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)
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@
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@ 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/
* "lighttpd2-master.zip":http://git.lighttpd.net/lighttpd/lighttpd2.git/snapshot/lighttpd2-master.zip
* "lighttpd2-master.tar.gz":http://git.lighttpd.net/lighttpd/lighttpd2.git/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. 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.