Interview with Rich Bowen, co-author of Apache Administrator’s Handbook

Hi. I’m Rich Bowen. I live in Lexington, Kentucky, and have been in this area for about 15 years. In addition to the time that I spend on geek pursuits, I enjoy hiking and rock climbing, kites, and am a bit of a wine connoisseur. Of this latter pursuit, you can see a little bit on my web site. But, to be completely honest, I spend much of my free time on Apache and Apache-related pursuits.

You are the CTO of Cooper McGregor. Introduce the company to our readers.

Cooper McGregor was founded in 2001 by myself, Richard Cooper Bowen, and my partner, Chad McGregor Crouch, for the purpose of moving more into Apache server training. There are, as far as I know, no other companies in the USA which do Apache server training as their specialty. There are a number of companies that do Apache training as part of a larger curriculum, but I don’t think that any of them have an ASF member doing the training. CM is located in Wilmore, Kentucky, and we also are available to do training at other locations around the country and around the world.

How long have you been working with Apache, and how did you get interested in it?

I’ve been using Apache since the initial release in 1995, and I was using the NCSA server, from which Apache evolved, prior to that.

Although my formal training is in mathematics, I started doing web stuff when I was in graduate school at the University of Kentucky. I grew up in Kenya, East Africa, and I was looking on the (very young and small, at that time) web for sites about Kenya. There weren’t any, so I started one. That site is one of the more popular Kenya web sites, and draws visitors from around the world to discuss events in Kenya, and other topics of interest to Kenyans.

As I started working more with Apache, I found the documentation frustrating and incomplete. It lacked examples, and explanations that were there were occasionally difficult to understand. About that same time, by a strange series of events, I was asked to be an author for the book “Apache Server Unleashed.” As part of the process of writing that book, I started to contribute small changes back into the documentation, which led to me eventually becoming a part of the documentation project.

How long did it take you to co-write the “Apache Administrator’s Handbook” and what was it like?

Apache Administrator’s Handbook” was intended to be a replacement for the “Unleashed” book, although “Unleashed” is still selling quite well. I’m not sure I remember exactly, but I seem to remember that we started writing in the late Fall of 2000, and finished some time in January or February of 2001. The book then appeared in stores some time in March or April of that year.

Writing this book was very fulfilling, because I actually ended up spending almost as much time working on the documentation as on the book itself, so, while I’m very pleased with the way that the book turned out, I’m even more pleased with the progress that we made on the documentation during that same time.

If you could start working on the book all over again, would you make any major changes?

This one is really easy to answer, because I sort of have started working on the book all over again. I’m using the book as the text book in the course that I’m teaching, and as I have gone along, I’ve made a few short notes about what I would like to be a little different, and I hand out these notes as an addendum to the text.

These few short notes are about 180 pages now.

So, what would I do differently? Well, these fall into two main categories. Apache 2.0 and examples.

Apache 2.0 seemed, while I was writing the book, to be a long way off. This is partially because I was not paying enough attention to the progress that was being made, and partially because it was in fact a long way off, and released before it was, in the opinion of many people, quite ready for that honor. In my notes for revision of the book, I’ve added a lot of Apache 2.0 stuff in nearly every chapter.

Second, regarding examples, it needs more of them. I learn by examples, as do many of the people that I teach. A book without examples is very frustrating to me, as a reader, and yet I have produced one, as an author. I think that what is there is very good, but it could be greatly reinforced by examples, and be even better.

One of my big goals last year was to ensure that every section of the Apache 2.0 documentation contained at least one example, and I’m pretty sure that I accomplished that goal. In the coming year, I have the same goal for my book.

By the way, the work that I’m doing on this book is, at least at the moment, not under contract with a publisher, so don’t hold your breath for the arrival of the book. I’m not sure when it will actually happen.

In your opinion, where does Apache need the most development at the moment?

For this, I’d have to defer to the opinion of the actual Apache developers. While I consider documentation to be absolutely crucial to any software project, it is the code developers that really make the magic happen.

In the cvs repository, you’ll find a file called STATUS. This lists all of the things that people feel are most important to be worked on, as well as bugs and other things that people are actively working on. I’d recommdend looking there.

If I could vote for a personal favorite, I’d really like to see the Perchild MPM working, on Apache 2.0

What advice do you have for people that are considering exchanging IIS for Apache?

Make sure you do your homework, and you know exactly what you are getting into. If your site is such that you can simply drop in Apache as a replacement for IIS, you’re in the minority. I don’t say this to discourage the move, but just to say that you need to make sure that everything that you are doing on your IIS server (cgi programs, ASP, FrontPage, various other dynamic content techniques) will have a replacement that you can move to.

And don’t be hesitant to call in a consultant to help you make the transition. There are a number of companies out there with very talented people that can help you make the move.

What operating system(s) do you use and why?

Right now, I’m using Slackware Linux on most of my personal machines, and Red Hat Linux on all of my training classroom machines, and, on a trial basis, on one of my home machines.

At the office, our design people use primarily Mac OSX, with a few of them still OS9, and one of our designers uses Windows 98 and Windows XP. All of the servers at the office, and in our coloc facility, are running Linux, with most of them being Slackware and one being RedHat.

Why? Well, that’s a more complicated question. Personally, having learned Unix on BSD, and, prior to that, on some old 3B2’s that my college had, I find that Slackware feels more like the unix I “grew up with.” Red Hat, on the other hand, makes it much easier to install new hardware, configure printers, and install new applications without having to think a whole lot about dependencies. For the training classroom machines, the biggest consideration was time required to reinstall after a class.

As for the other machines throughout the office, everyone uses what they are comfortable with, and what gets their work done fastest. I long ago got over the OS bigotry of my earlier days, and I primarily believe in using the best tool for a given job, with the understanding that the best tool for me will seldom be the best tool for everyone else.

What are your future plans? Any exciting new projects?

I’m writing a book for O’Reilly, called “Apache Cookbook”, which, in the cookbook tradition, gives cut-and-paste solutions to common problems in a recipe fashion. My co-author on this project, Ken Coar, was also a co-author on the Unleashed book.