InstallFromSource » History » Revision 8
Revision 7 (ckujau, 2010-09-16 22:52) → Revision 8/38 (ckujau, 2012-08-11 10:42)
h1. InstallFromSource h2. Get the source You can either use a release from http://www.lighttpd.net/download or compile from svn: * Using a release/snapshot: Extract the tar ball and enter the new directory: <pre> tar -xf lighttpd-1.4.XXX.tar.gz cd lighttpd-1.4.XXX </pre> * svn (you will need autoconf and automake for this): First time: <pre> svn checkout svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x/ cd lighttpd-1.4.x ./autogen.sh </pre> Next time from @lighttpd-1.4.x/@: <pre> svn update ./autogen.sh </pre> h3. lighttpd 1.5 (development branch) lighttpd 1.5 is not released yet, but you may checkout the source from: <pre> svn checkout svn://svn.lighttpd.net/lighttpd/trunk/ cd trunk ./autogen.sh </pre> See [[DevelSubversion]] and [[Devel]]. h2. Install dependencies Depending on which features you want, you need other libraries; you will want at least libpcre and zlib, for more see [[OptionalLibraries]]. On most systems you need to install the development version of the library packages, the library itself won't be enough! On debian you can also use apt-get to install all build dependencies: <pre> apt-get build-dep lighttpd </pre> Here is the list used for the debian packages (without the packaging parts): libssl-dev, zlib1g-dev, libbz2-dev, libattr1-dev, libpcre3-dev, libmysqlclient15-dev, libfam-dev, libldap2-dev, libfcgi-dev, libgdbm-dev, libmemcache-dev, liblua5.1-0-dev, pkg-config, uuid-dev, libsqlite3-dev, libxml2-dev, libkrb5-dev. h2. Configure Now you have to use the @./configure@ script - there is a help option for it: <pre> ./configure --help </pre> Don't forget to set the @--prefix@ if you don't want to install in /usr/local. h2. Build If the configure step was successful, you can now build it: <pre> make </pre> h2. Install After a successful build you may install the package. This is not needed, but you will have to give lighttpd the correct location of the modules if you don't (see ./lighttpd -h). As you hopefully didn't use root to build the package, you probably have now to get root access: <pre> su make install </pre> h2. Init script The init-script that is shipped with the source-tarball is meant to be run on a LSB conforming platform like SuSE, Fedora or Debian. For 1.4.x versions from r2742/1.4.27 onwords , use doc/initscripts/ instead of doc/ in the commands below. <pre> sed -e 's/FOO/lighttpd/g' doc/initscripts/rc.lighttpd > /etc/init.d/lighttpd chmod a+rx /etc/init.d/lighttpd cp -p doc/initscripts/sysconfig.lighttpd /etc/sysconfig/lighttpd mkdir -p /etc/lighttpd # < 1.4.27 install -Dp ./doc/lighttpd.conf /etc/lighttpd/lighttpd.conf # > 1.4.28 cp -R doc/config/conf.d/ doc/config/*.conf doc/config/vhosts.d/ /etc/lighttpd/ chkconfig lighttpd on </pre> If you're running *CentOS* or *RHEL* you might need to change the first line to this <pre> sed -e 's/FOO/lighttpd/g' doc/initscripts/rc.lighttpd.redhat > /etc/init.d/lighttpd </pre> In *Debian* / *Ubuntu* you use update-rc.d rather than chkconfig: <pre> update-rc.d lighttpd defaults </pre> h2. Supervise As an alternative to init scripts you can setup a "supervised" lighttpd with daemontools or runit, see [[LighttpdUnderSupervise]]