Source

These are short instructions for experts, for details see InstallFromSource or try to find binary packages (see below):

Current release

See http://www.lighttpd.net/download or browse http://download.lighttpd.net/lighttpd/

SVN checkout

svn checkout svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x/
cd lighttpd-1.4.x
./autogen.sh

Then use ./configure and friends. Don't forget to run ./autogen.sh after a svn update.

Binary packages

On most systems you can install the current lighttpd-1.4.x version via the package management:

Debian based systems

Websites:
aptitude install lighttpd lighttpd-doc

Some modules are only available from extra packages (see the website)

Other repositories (may contain more up to date packages, especially for older distributions)

openSUSE

Website:
zypper install lighttpd

Some modules are only available from extra packages (use zypper search lighttpd to find them)

YUM based systems

yum install lighttpd

Gentoo

emerge lighttpd
  • Please note:
    Don't neglect to set the proper USE flags for your lighty installation and all its dependencies. Take a look at the flags Portage would use by running emerge with the --pretend --verbose --tree options. This will pretend to install lighttpd and display some informative output, such as all USE flags and dependencies:
    emerge -pvt lighttpd
    

    If necessary, add your desired flags to /etc/portage/package.use. For example, if you want to emerge lighttpd with support for MySQL and PHP but without SSL, set the according USE flags:

    echo "www-servers/lighttpd php mysql -ssl" >> /etc/portage/package.use
    

FreeBSD ports

FreeBSD has the ports and lighttpd is in this tree for a long time now.

cd /usr/ports/www/lighttpd
make install clean

If you don't get the configuration dialog, do make config first. The additional CONFIG_ARGS for the PHP5 installation force cgi-fcgi support in /usr/local/bin/php. The option --with-pcre-regex is needed to support several functions that use regular expressions like 'preg_match', and you really want that for things like conditionals, rewrite and redirect.

Now that everything is installed, enable lighttpd in rc.conf and edit it's configuration:

echo lighttpd_enable=\"YES\" >> /etc/rc.conf
cd /usr/local/etc/
cp lighttpd.conf.sample lighttpd.conf

You will probably need to create some directories and files, since the port neglects to do them for you (as of 2008 February 24), and make them accessible by the user and group "www" that lighttpd operates as:

mkdir /var/log/lighttpd
touch /var/log/lighttpd/lighttpd.error.log
touch /var/log/lighttpd/lighttpd.access.log
chown www:www /var/log/lighttpd
chown www:www /var/log/lighttpd/lighttpd.error.log
chown www:www /var/log/lighttpd/lighttpd.access.log
Edit lighttpd.conf to use the new directories and files as follows:
  • server.errorlog = "/var/log/lighttpd/lighttpd.error.log"
  • accesslog.filename = "/var/log/lighttpd/lighttpd.access.log"
Edit lighttpd.conf docroot:
  • server.document-root = "/usr/local/www/"