Project

General

Profile

Actions

InstallFromSource » History » Revision 10

« Previous | Revision 10/35 (diff) | Next »
gstrauss, 2016-03-06 05:34


InstallFromSource

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:
    tar -xf lighttpd-1.4.XXX.tar.gz
    cd lighttpd-1.4.XXX
    
  • svn (you will need autoconf and automake for this):
    First time:
    svn checkout svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x/
    cd lighttpd-1.4.x
    ./autogen.sh
    

    Next time from lighttpd-1.4.x/:
    svn update
    ./autogen.sh
    

    Troubleshooting: if you encounter any errors when running ./autogen.sh or building,
    please ensure you have installed the latest development tools available for the following packages:
    - autoconf
    - automake
    - libtool
    - m4
    - pkg-config

See DevelSubversion and Devel.

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:

apt-get build-dep lighttpd

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.

Configure

Now you have to use the ./configure script - there is a help option for it:

./configure --help

Don't forget to set the --prefix if you don't want to install in /usr/local.

Build

If the configure step was successful, you can now build it:

make

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:

su make install

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.

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

If you're running CentOS or RHEL you might need to change the first line to this

sed -e 's/FOO/lighttpd/g' doc/initscripts/rc.lighttpd.redhat > /etc/init.d/lighttpd

In Debian / Ubuntu you use update-rc.d rather than chkconfig:

update-rc.d lighttpd defaults

Supervise

As an alternative to init scripts you can setup a "supervised" lighttpd with daemontools or runit, see LighttpdUnderSupervise

Updated by gstrauss about 8 years ago · 10 revisions