The CentOS 6 Linux Server Cookbook is a Packt Publishing title first published in April 2013. You can buy it in paper format (about 370 pages) or as an ePUB or PDF file (black and white only, whereas the ePUB version is in colours). In general I believe, especially in these times of PRISM and widespread economic crisis, that the more people learn how to run their own Free Software servers, the better. I’ve already explained how and, above all, why we should all do this with email and (at least) social networking and online publishing. That’s why, when Packt asked me to review the Cookbook, I accepted.

How is the Cookbook?

Review, The CentOS 6 Linux Server Cookbook /img/centos_cookbook_pdf.png

The complete Table of Contents, which lists all the included recipes, is available on the Packt website, so I’ll just summarize it here. After chapters on installation and initial configuration, there are others devoted to:

  • Managing Packages with Yum
  • Securing CentOS
  • Working with Samba and Internet Domains
  • Running Database, Email, WWW and FTP servers

Almost all recipes have the same, four-part structure. After an introduction explaining the goal of the recipe, a “Getting Ready” section tells you what to read, check or do before applying it. The “How to do it” part is the actual recipe: a clear sequence of commands to type or things to write in configuration files. The “How it works” part answers the question “So what did we learn from this experience?”. It goes back to the beginning of the recipe and comments each single step again, adding many details and explaining why and how each instruction relates to the others.

Finally, many recipes also have a “There’s more” section, which describes corner cases or variants of the basic procedure. Some expert Linux users may find many “How it works” sections a bit too repetitive and/or filled with unnecessary details, if not just this side of boring. I consider this a likely possibility because… I had just that feeling myself, several times.

Then again, this is not a book targeting people who are already experts. This is a cookbook to get started quickly without doing dangerous mistakes, in order to become an expert, and it clearly says it at the very beginning:

rather than being about CentOS itself, this is a book that will show you how to get CentOS up and running. It is a book that has been written with the novice-to-intermediate Linux user in mind who is intending to use CentOS as the basis of their next server.

In that perspective, the “repetitions” are much more a feature than a bug. Besides, by being cleanly contained in the “How it works” sections they don’t really slow down readers who just need to learn some commands or refresh their memory with the details of some procedure, so I don’t mind them!

Looking at the recipes that were chosen to be in the cookbook, the initial chapters are very thorough. There is practically everything you need to install CentOS and get started with it. My only nitpick there is that I wouldn’t suggest people to run yum -y update before explaining, in another recipe, that the -y switch won’t ask for confirmation. Even Chapter 7, on DNS and BIND, has all the basic information.

Chapters of the last group (“Running … servers”), instead, are less complete, which is both… “bad” and good, for reasons I’ll explain in a moment. As far as the rest of the book goes, what is there is good: pertinent content, written as simply as possible. Things that, instead, are not in the Cookbook but should include more recipes on:

  • partitioning and backup strategies (even of databases)
  • SSH configuration
  • running virtual machines in a CentOS server
  • print services

If it were up to me, I’d trim the Install and FTP chapters (especially the latter!) to make room for recipes on these topics in the next edition.

About the “Running servers” chapters

The recipes in the last three or four chapters cover the minimum one has to do to get those servers up and running without hurting one’s users and the rest of the Internet in the process. They do it well, but proper configuration and administration of database, WWW and email services requires much more. While some potential readers may find it “bad” that the cookbook doesn’t have more on those topics, it is, instead, a good thing.

Almost all the configuration issues and other headaches that I did get over the years with my database, WWW and email servers were “internal” issues. Some were due to bugs in the software, many more to unusual requirements I had, or mistakes I did. In other words, they didn’t depend at all on what distribution those servers were running. This is why it is good that a CentOS cookbook doesn’t spend too much time on certain topics. You will have to go to other places anyway to make email or any LAMP CMS really usable, so why bother?

Is this a book worth buying?

Yes. All in all, I consider this Packt title quite a useful book for beginner CentOS server administrators. I use Centos myself on my personal Web and email servers. Even within the limits I just explained, If I had had such a cookbook when I first set them up, it would have saved me a sensible amount of time, simply for having most of what I needed to do in one place, all explained in one, consistant way.

Other reasons for buying a book like this are that CentOS and other Gnu/Linux distributions specifically developed for servers have both longer release cycles and less differences between them than environments like Fedora and Ubuntu. In other words, this is a book that will remain current more than many other ICT titles, and most of it would be usable even on other server distributions.