Lighttpd, fastcgi, php and eAccelerator

lighttpd is a lightweight httpd server I came across on #wordpress (thanks michel_v!)
It took a while but I got it working on a server and it’s rather nice. You can run php scripts through it using the fastcgi interface. Here’s how I installed it on a Debian machine. Lines starting with “#” are commands that should be entered as the root user. (lots ripped from this tutorial)

# wget
# tar zxvf lighttpd-1.3.13.tar.gz
# cd lighttpd-1.3.13
# dpkg-buildpackage

dpkg-buildpackage can be found in the package “cvs-buildpackage”. You’ll have to install a number of dependencies before this works. Just apt-get install packagename them as they come up.

# cd ..
# dpkg -i lighttpd_1.3.13-1_i386.deb

This will install lighttpd and start it.
Now you need to install and configure php:

# apt-get install php4-cgi
# vi /etc/lighttpd/lighttpd.conf

Look for the fastcgi.server section for php4 and change it so it looks like this:

fastcgi.server = ( ".php" =>
  ( "localhost" =>
      "socket" => "/tmp/php-fastcgi.socket",
      "bin-path" => "/usr/bin/php4-cgi"

Download eaccelerator from their site and follow the instructions in the README. If you haven’t got phpize then install php4-dev.
Open up /etc/php4/cgi/php.ini and add the following at the top of the file:


You’ll have to create the tmp directory yourself. Read the README file and config docs for instructions on using the web frontend to the accelerator.

I think that’s it, have I forgotten anything?

Author: Donncha

Donncha Ó Caoimh is a software developer at Automattic and WordPress plugin developer. He posts photos at In Photos and can also be found on Google+ and Twitter.

6 thoughts on “Lighttpd, fastcgi, php and eAccelerator”

  1. Pingback: Programmin' Prim8
  2. Excellent instructions. I’ve just followed them through without any hitch. I would include some of the external information you’re pointing to verbatim (e.g. chmod 0777 /tmp/eaccelerator ) as these have a tendency to turn into 404s very soon.

  3. This still works for PHP5 on Debian. Notice that
    fastcgi.server and /etc/php4/cgi/php.ini need to have
    backslashes removed (it’s obvious, but I got bitten
    by it the very first time).

Leave a Reply