Tag Archives: apache

Order my book

My book is available on Amazon.com. This is kinda funny, since I’m still writing it. What’s even funnier is that they have an exact page count. So if I add a bunch of content, will the page count change?

mod_auth_mysql? Anyone?

I’ve spent the last half hour trying to find mod_auth_mysql, and I’m getting very irate.

There appear to be two main mod_auth_mysqls out there. One was written by Zeev Suraski, and abandonded in October of 1998. The other was written by Vivek Khera, and abandonded some time in summer 2001.

From each of these, there are several forks, resulting, I assume, from folks that like the code, but needed it maintained going forward. I don’t think I’ll list all of these.

And, to further muddy the waters, MANY sites contain a partial mirror of Zeev’s site, including mod_auth_mysql version 2.20, which released in 1998, and contains at least one well publicized security problem.

The most promising versions out there appear to be the version on sourceforge (http://modauthmysql.sourceforge.net/) and the version maintained by Debian (http://ftp.debian.org/debian/pool/main/liba/libapache-mod-auth-mysql/, with additional information at http://packages.debian.org/cgi-bin/search_packages2.pl?keywords=libapache-mod-auth-mysql&searchon=names&version=all&release=all)

For those upgrading from earlier versions, note that that Debian version derives from Zeev’s code, while the SourceForge project derives from Vivek’s code. It would be nice if each *CLEARLY* stated this in the documentation, or even in the primary project description, to ease the upgrade path. And perhaps even pointed off to the other project somewhere in the docs.

All of the folks keeping up a page with Zeev’s stuff are not doing anybody any favors. And modules.apache.org … well, there’s a topic for another day. We really need to do something about modules.apache.org. Soon.

Oh, and I should mention that if you are using Apache 2.0, you should take advantage of the new authentication framework, and use mod_authn_dbi, which you can get at http://open.cyanworlds.com/mod_authn_dbi/

Training again

A new training class started yesterday. And although I only have one student, it’s good to be teaching again.

To complicate things further, I seem to have lost my vga extension cables, which I use to connect my laptop to the projector. So I’m actually sitting next to the student and doing a sort of one-on-one tutoring. This seems to be working out pretty well, except that the student is somewhat too knowledgeable, so the material is going rather faster than scheduled. I hate it when the student is too smart! 😉

We have another class scheduled for next month, and it seems that it will actually have more than one attendee. This is an enormous stroke of good fortune, but it looks like I’ll still have to plan to make an exit after June. Most of the new training opportunities involve travelling hither and yon around the country, and around the world, and I’m just not ready to take on the life of a travelling minstrel.

Mental note: Avoid the frozen land of Nador.

mrtg and apache

Yes, I’m a stats freak. So, here’s how you get mrtg to plot your Apache server activity. (Note, I’ve been told that mod_watch also does this, but I have not looked at it yet.)

Here’s /usr/local/bin/apache-stats :

# apache-stats 
use LWP::Simple;

my $stats=get("http://servername/server-status?auto");
$stats =~ s/.*BusyServers: (d+)//;
my $b = $1;
print "$bn";
$stats =~ s/.*IdleServers: (d+)//;
print $b + $1 . "n";
print "nn";

Note that in Apache 2.0, you want “BusyThreads” rather than “BusyServers”, and similarly for IdleThreads.

Then, in your mrtg.cfg,

Target[apache_child]: `/usr/local/bin/apache-stats`
MaxBytes[apache_child]: 100000
Options[apache_child]: growright,gauge,nopercent,dorelpercent
Title[apache_child]: Apache Statistics
PageTop[apache_child]: <h1>Active Apache child processes</h1>
XSize[apache_child]: 500
YSize[apache_child]: 200
WithPeak[apache_child]: dwmy
YLegend[apache_child]: No. of child processes
ShortLegend[apache_child]: processes
LegendI[apache_child]:  active:
LegendO[apache_child]:  total: 

Tweak as needed. That should get you started.

Just can’t please everyone

Today on #apache, a charming individual got /kickbanned for calling me a dickhead. I earned this moniker for answering his question not once, but three times. Apparently he was irritated that I did not know what his various TLAs and ETLAs were supposed to mean, and asked him to speak in full words.

Shortly after this, a non-participant lurker contacted me in private message, lecturing me about not being polite enough on the channel. Apparently he thinks that I don’t make beginners feel comfortable with their ignorance. Or something like that.

So perhaps I’m getting just a little too self-righteous, or something like that, but it seems to me that when I offer what amounts to unlimited free technical support, that it behooves them, not me, to be grovelingly polite. If folks feel perfectly comfortable insulting me after I give my time to help them solve their problems, it would not seem that anyone would be justified to lecture me about how polite I am.

I found both of these incidents to be so completely unwarranted, I was really quite taken aback. I realize that volunteering my time to help these folks does not make me any kind of saint, but I do expect to be treated with a little bit of respect for it. Perhaps this is an unjustified expectation – I don’t know – but I certainly don’t expect to be insulted or lectured for it either.

I guess you just can’t please everyone.


I just want to point out that http://www.ready.gov/ is running Apache. When you tell the entire nation they need to go to a web site, I guess you want to be running a real web server.

riesling% HEAD ready.gov
200 OK
Cache-Control: no-cache
Connection: Keep-Alive
Date: Wed, 19 Feb 2003 23:56:50 GMT
Age: 1931
Server: Apache
Content-Length: 21554
Content-Type: text/html
Expires: Thu, 20 Feb 2003 00:27:15 GMT
Client-Date: Wed, 19 Feb 2003 23:58:27 GMT
Client-Response-Num: 1

Russian Apache book

I just received a copy of my book in Russian. Now I know what my name looks like in Russian, although I have no idea how to type it here. The book has a picture of the Apache helicopter on the cover. I would expect that this would be confusing to potential buyers, but perhaps very few people actually make that name connection – particularly outside the US. Or maybe it’s just me.

How do I log out?

For many moons, I’ve been complaining about the fact that no browsers allow you to log out of BASIC HTTP auth. Seems that Mozilla is finally considering implementing this.


So, eventually, the “how do I log out” FAQ in the Apache auth tutorial will have to include this information. And maybe some other browsers will follow suit. You’d think that after 10 years of people asking for this feature, it could have happened a little sooner.

See also this page about how to do this in IE. But I don’t really understand that one.