I just installed my first lighttpd server, and it works fine. Now I’d like to set it up to compress output (gzip), and include appropriate cache headers (expires, last modified, and revalidate).

Magnificient, that was easy. Just edited the conf file:

nano /etc/lighttpd/lighttpd.conf

uncomment this:

"mod_compress",

and this:

"mod_expire",

these:

compress.cache-dir          = "/var/tmp/lighttpd/cache/compress/"
compress.filetype           = ("text/plain", "text/html")

then create the cache directory and give www-data ownership:

mkdir /var/tmp/lighttpd/cache/compress/
chown -R www-data /var/tmp/lighttpd

That rocks that the compression is cached, saves a good amount of processing power I’m sure. I actually implemented something similar for the Wordpress cache plugin I made, which uses PEAR’s Cache_Lite.