on April 5, 2004
While Apache is possibly the most popular and ubiquitous open source project it is certainly not the most simple. One module alone, mod_rewrite, causes me almost more problems and regex wrestling matches than all other products combined. The 'httpd.conf' file is a long and critical one. In these circumstances the Apache Cookbook from O'Reilly might be a godsend. It is certainly a well-written, well-researched volume. Ken Coar has spent many years working on Apache and Rich Bowen has long laboured on the Apache documentation. They both know their stuff -- and if this is an example, both know how to write.
The book has twelve chapters, covering everything from installation and adding modules through to proxies and performance. The chapter on security is the largest, it covers the topics well. By contrast I thought the chapter 'Aliases, Redirection and Rewriting' too short and could have benefited from some more 'recipes', but that may be due to my own bias - mod_rewrite is not an easy topic, and as I've said it causes me a great deal of grief.
It is laid out in a similar way to the Perl Cookbook: each recipe has a 'Problem' section followed by a 'Solution' and then 'Discussion.' In almost all the 'recipes' the 'Discussion' is longer than the 'Solution,' and I often found it far more useful and informative than the problem and its solution.
The Apache Cookbook covers almost all aspects and all parts of the learning curve for Apache. That will either be a strength or a weakness of this volume for you; with such a large and complex piece of software as Apache a single book cannot hope to cover it in a great deal of depth. For me this book was not really a cookbook, more a good source of well documented examples from which to create my own recipes,
My biggest problem reviewing a book like this is that after several years building and configuring Apache (even on an infrequent basis) quite a lot of this volume seems simple. You may also find it the same if you are the sort of person who is not afraid to pore over the documentation, get your hands dirty and make a few mistakes. If you like some hand holding and are just starting with Apache you may benefit from all of it.
That's not to say that I didn't personally find large chunks of this volume useful. Certainly I've gone over several of the recipes and their excellent explanatory text to shed some light on previously dark corners of Apache, particularly as the authors cover both Apache 1.3 and 2.0.
O'Reilly have the usual web page with a Table of Contents and example chapter. The example chapter, on error handling is well chosen as it is typical of the others and useful but not the most useful chapter.
I have recently been thinking that tech books fall into various sorts and there is one sort I'd call 'library books' - books you may not need to own, but will want to read every so often and would be good to have in your local or company library. Apache Cookbook is one of these, a book I'd recommend everyone coming to grips with Apache has close to hand, but it is not going to be constantly on your desk in the same way that Perl Cookbook might be for Perl programmers: to start off with, it's half the size and doesn't cover nearly as many topics. This one falls short of essential due to it's concentration on breadth. rather than depth. So my recommendation for this book is not that all Apache administrators should buy it, but you should have a copy close at hand.
Apache is the most widely used web server in the world, which is a tribute to everyone who has worked to make it a success. It is also open source, which means that the creators and maintainers largely do their tasks for pride and bragging rights rather than for monetary gain. Ironically, the reservation that most people express over open source is the fear that there will be no one to answer the inevitable questions concerning how to get it to work right.
This book is a collection of problems and solutions to those problems regarding the customization of Apache after it has been installed. Situations such as restricting access to files, installing SSL, dealing with passwords, working with URLs, security issues, logging events and error handling are examined. Each entry starts with the statement of the problem, the command(s) or code to effect a solution and an explanation of the problem and why the commands are a solution. Pointers to additional information such as books and web sites are also listed at the end of each entry. Where applicable, differences between versions 1.3 and 2.0 are described.
Obviously, not every problem that can arise when Apache is running can be covered in a book of 223 pages. Nevertheless, the authors have put together a very valuable collection of over 100 of the most common problems encountered by Apache system administrators. If you are tasked with keeping an Apache server up and serving, then this is a book that you must have. It will also help alleviate the logical reservations you may have about relying on open source software.
on December 2, 2003
Has there ever been an open source program as successful as the Apache web server? If we leave aside the various p2p freeware for music sharing, then perhaps none. Certainly, if we restrict our survey to web servers, Apache is head and shoulders above its peers. It is currently in its second major revision, 2.0, and is very stable and mature.
This book gives you a good grounding in both installing and running it, even if you have never run a website before. Those of you who used earlier versions may recall various installation shell scripts. At one point, these only ran on unix platforms. But this book makes clear in the first chapter that this is no longer true. An installation wizard gives you an easy walkthrough. Plus you can now install it on Microsoft Windows.
So given that Apache is free, shouldn't you already be using it? If you have only static content, or dynamic content that is restricted to the traditional cgi or the newer perl or PHP, then the book's sections on those show full functionality.
Remember too the other advantage cited in the book. Apache is extensible. So if you have a simple need that can be met by tweaking the existing source, you can do it yourself, instead of asking a vendor and waiting [and paying]. Plus, if Apache itself has a bug that you cannot fix, you know there will be many developers on the net who will do this, and quickly, because so many of us depend on Apache.
What are you waiting for?
The only caveat is when you should NOT use Apache [and this book]. Naturally, the book does not go into this, so let me help you. If you will be using EJBs, Java Server Pages or transactions, then this is higher level logic that, as far as I know, Apache does not currently handle. Instead, you should opt for J2EE web servers provided by jBoss, Sun, IBM, BEA or Oracle. Likewise if you have .NET/C# dynamic content. I am not sure that Apache can handle these yet, so you should stick with Microsoft's server.
on March 14, 2004
Yeah, Apache has thorough documentation at apache.org, and yeah, after 6 or 7 years I've learned a lot by reading through Apache's conf files. But this book does a few things extremely well to make configuration much easier, quicker, and better.
There's good examples - you expect that with a name like "cookbook". But each example is backed-up with excellent explanations and references. The particular problems I've wanted to solve haven't matched the book's examples, but they've been close enough to adapt the solutions to what I've needed.
I've also appreciated how much this book has helped me how to *think* in Apache. Its use of examples and explanations helps to paint a top-down view of Apache, and help me analyze problems methodically instead of hunt-and-peck through a flock of random configuration parameters.
A nice combination of technical know-how, tuturial, and clear writing makes this a darned useful book for me.
on April 28, 2004
As Cookbooks go, this on is fairly decent, although thinner than I expected. There are enough examples in this book to cover pretty much everything you might need to do with Apache or get you started (along with the Apache documentation) if it isn't covered.
Personally I think the first two chapters on installing Apache and adding modules are wasted space. Presumably by the time you're ready for this book, you've already got Apache installed on your servers and are just looking for ways to tweak it.
I would have liked to see a section on SSI (Server side includes...does anybody use those anymore?) and maybe some more mod_rewrite stuff.
This book will probably be most useful to novice and intermediate Apache administrators who are comfortable with messing around in httpd.conf, but need to refer back to the online docs now and then. Advanced Apache administrators probably won't find much new or useful in this book.
on March 8, 2004
On a similar note, I have the book, and have found it very useful at work over the past few weeks as some of our servers have been migrated from apache 1.3 to 2.0 and as I fix a number of the other small issues that had been bothering me. It is a great book that covers all of the issues that I have most frequently encountered, all with easy to implement solutions.
Its great to have a problem, fix type set up, and even better that some of the items solutions are "You can't do it with apache right now." Instead of searching the web because an item was left out of the book, its nice to know of some limitations. It was also helpful to get some of the people insisting that I could do things that were not possible. If its in a book, it must be true!
on January 12, 2004
The collaboration of Apache software experts Ken Coar and Rich Bowen, Covering Apache 2.0 & 1.3, Apache Cookbook is a "user friendly" guide and comprehensive reference to the most widely used web server in the world. Offering common problems and solutions; step-by-step walk-throughs; discussion problems; sample codes; worked-out solutions; instructions for tasks such as installing the server or managing a proxy server, and so much more, Apache Cookbook is a "must-have" instructional reference for anyone charged with the responsibility of setting up or maintaining an Apache based web server.