As an avid user of Lighttpd, I was glad to receive a copy of the “Lighttpd” book by Andre Bogus (Packt publishing) for reviewing. I’ve been using Lighttpd extensively for production over a year now and I’m very satisfied. However, I remember that as a new user I had my share of frustration. In his book, Andre Bogus, tries ease the process for those that decided to move to Lighttpd.
The book starts with a introduction and installation guide for Lighttpd. Bogus starts by describing how to install via a package-manager. This is pretty straight forward and should be good for any user of a modern Linux distribution (although I did find it strange that he ignored the automatic dependency handling in every distribution except Gentoo). Bogus doesn’t stop at the obvious, he goes on to describe the installation from source procedure, for both Lighttpd 1.4 and 1.5. I find it convinient because not always the package-manager installed on the server has the latest stable and development versions of Lighttpd (as matter of fact Ubuntu 8.04LTS has Lighttpd-1.4.19 while the latest stable is 1.4.22). Choosing to describe both 1.4 and 1.5 installation is beneficial for the user. While currently 1.5 is under development, it will one day become stable and by addressing it, Bogus insures that his book will remain relevant after that too.
After the installation process, Bogus describes the basic configuration of a Lighttpd server. He includes a nice regular-expressions tutorial, and thus save the reader time by not having to read and learn the subject elsewhere. Having a regex tutorial together with the url rewriting and selectors sections is indeed useful and serves as a nice reference to experienced users too.
After the basic configurations are covered the book moves on to more advanced ones. Covering CGI the book describes both 1.4 and 1.5 ways for running CGI scripts and related technologies such as Fast-CGI and SCGI used in Lighttpd for running PHP, Python and Ruby (as well as other) applications. Once again the decision to describe both 1.4 and 1.5 is great in my opinion. The book continues to more advanced stuff, like configuring Lighttpd for streaming and SSL encryption, which will be relevant for some users.
The next chapters (7-9) cover securing and optimizing the Lighttpd installation. They describe methods that are important to every Lighttpd user, whether he a single user or a system admin managing many corporate servers. Focusing on security is important for todays web-applications that many times contains users’ sensitive data and are focused by malicious activity.
Chapter 10 gives a migration guide from Apache. Many new Lighttpd users switch over from Apache, and this chapter eases the migration. The chapter is useful even for those not familiar with Apache at all, because some popular applications are designed with only Apache in mind, and thus require the user to configure on his own any other web-server he might use. By understanding the migration process from Apache to Lighttpd, a potential user will have less problems installing applications designed for Apache later on.
In chapters 11 the author overviews installation of many popular applications such as Ruby on Rails, WordPress, MediaWiki, Trac, AWStat and AjaxTerm. While the overview guides you through the basic installation, I felt that sometimes it doesn’t go all the way. For example, in the WordPress overview, the users is ends of WordPress installed but without clean urls, an important feature in my opinion. While clean urls for WordPress under Lighttpd is well documented in the internet (when I’ve moved my blog to Lighttpd I’ve wrote about configuring WordPress permalinks using mod_rewrite), I think it could have been better to describe it too in the book itself, or at least give a reference to some other guide.
Chapters 12 and 13 cover more advanced topics like server-side scripting with Lua and writing custom Lighttpd modules. While I’m not sure if the average user will find this topics of interest, they surely be of help to more advanced users looking to extend Lighttpd’s features.
Overall, I’ve found this book to be a nice reference and manual for Lighttpd. It goes through from basic setup to more the advanced topics of custom modules. While I think it will be more appropriate for novices, I believe advanced users and system admins may find it beneficial too, even as only a reference to Lighttpd. Packt publishing offers the book in two forms: a regular old fashioned paperback and a DRM-free eBook (in PDF) allowing both printing and copy-pasting. I found the eBook a nice way to read, especially since it provides a simple way to copy and paste the configuration and code examples from the book.
Disclosure: I receive a 12% percent referral commission for every Lighttpd book sold through the above links.