Friday, April 05, 2002
“That's it?”
Spring and I are coming home from the Starlite Diner in Ft. Lauderdale when we get caught at a rail road crossing.
“You really wanted to run that, didn't you?” asks Spring.
“Yes.”
“Why?”
“There's a good chance that the train will come to a full and complete stop right here,” I said. “Well, maybe not here but I have been caught a few streets north by trains stopping at rail road crossings and then you're stuck for twenty or so minutes until it starts up again. And do you know how long it takes a mile long train to get started?”
“So? It's the perfect time to have a party,” she said. “You crank the radio, get out and boogie.”
“Boogie?”
“Boogie,” she said. “You know, dance. Have a party.”
“Boogie?”
“Boogie. There was one time I got stuck in traffic, so I cranked up the radio, and started handing out soda,” she said. She used to work for a soda distributor in New Jersey.
“Wow … so you wrote the soda off as an expense?”
“It was free samples anyway.”
“Ah,” I said. The rail road crossing had been clanging for some time now and finally I heard the bellowing of a train horn. Off in the distance I could just make out the dark shape of a train engine coming into view.
And then the train engine crossed our view.
Not a train mind you.
Just the train engine. Rolling down the tracks, past the rail road crossing and continuing down the line.
“That's it?” I said. I was dumbfounded. Spring starts laughing and I'm left gaping at a train that wasn't a train going by. “We waited all that time, for a train engine?”
“At least it didn't stop,” said Spring.
Playing nice together …
I've been working on a project the past week or so and one of the
components has me attempting to compile a version of Apache with mod_ssl
, mod_perl
and mod_php
(in this
case, PHP4). It certainly has been an educational experience.
I found out the hard way that one of the modules (I think it was
mod_ssl,
although I can't confirm it) reran the configuration
script for Apache, resettting it to use the default Apache file locations
and not the locations I configured it for (I'm building a test
version of Apache and I'm doing it as a regular user so I don't destroy the
working configuration on the computer I'm doing this on).
Hack hack hack, I decide to install everything by hand and avoid the Apache Configuration Interface that seems to be causing the problem. Hack hack hack and I finally get an executable to build.
It seems to work, except that mod_info
isn't working. It comes with Apache but normally isn't enabled. I had
thought I enabled it, but apparently not. I check the configuration file
(the one used to build Apache, not to start it running) and it seems to be
using the one for the Apache Configuration Interface, so I problably ended
up with a server that only has mod_ssl.
Okay, start over.
I'm getting farther. This time I'm getting problems compiling
mod_php.
It can't find certain include files. I add the
appropriate locations to the configuration file and it's still not
working. It doesn't look like it likes being added by hand. Guess I'll
have to use the Apache Configuration Interface to add
mod_php.
Now, why Apache has two different configuration files, one used
only if you use the Apache Configuration Interface, and one used
only if you don't use the Apache Configuration Interface
at all, is beyond me. Okay, I can work around that, but more annoying is
that whenever you run the configuration script, it will rewrite the
configuration file over. So if you, say, forget to enable mod_info
and you rerun the configuration script to enable it, you'll get an Apache
with mod_info
enabled and any other module that is optional, gone.
Now, there's a separate script you can run that will avoid this problem, but
do any of the module installation scripts (for say, mod_ssl
or
mod_perl
) use this, or even mention it? Nay, I say. Nay!
Okay, start over yet again.
So now it's down to figuring out which third party modules run the
configuration script and which ones don't, and make sure to install them in
the right order, and double check that my preferred file locations aren't
overwritten. mod_ssl
gets installed first, even though it wants to
be last to make sure any authentication goes through it. Then
mod_php
and finally mod_perl
.
Fun fun fun.
Success at 4.7 Megabytes
Server Version: Apache/1.3.24 (Unix) mod_perl/1.26 PHP/4.1.2 mod_fastcgi/2.2.12 mod_ssl/2.8.8 OpenSSL/0.9.6c
Basically, install mod_ssl
first, with the file
locations you want for Apache specified using the configuration
script configure
. Then, using config.status
, add the
other modules (like mod_perl
or mod_php
) and forget about adding them to
the configuration file by hand.
[Don't assume this is actually usable advice. This is so I don't forget what to do. Your milage may vary.]