ApacheBuilder Home Page
Date Last Updated: Jan. 25th, 2003
Project Admin:
Kevin J. Rice (email is Kevin at Justanyone.com),
Programmer (Perl, C, C++, Java) and current employee of Bank One Corp. (though
they have nothing to do with this project).
Purpose:
The Apache HTTPD project includes a webserver that's fairly easy to download,
install, and get running. It's even fairly simple for a Unix novice.
But, if you want HTTPS (SSL means encrypted pages, a
very good thing for securing your site), you have to install (probably) mod_ssl,
a plug in module to Apache that isn't included in the default distribution.
If you want to run a modern server for programmer types, you may also want
to build your apache with Mod_Perl and Mod_PHP support in addition to the
Mod_SSL. This makes things quite a bit more complcated. Unfortunately,
everyone who does it has to go through the same learning process of trying
stuff several times, debugging their particular configuration along the way,
until it works.
This is unacceptable to me. I'm not a sysadmin ("...but I play one
on TV!") and have had to delve into this because the various sysadmins that
I've worked with through the years have had to learn (or relearn) the process
themselves. Very often, they'd ask me or mention questions to me, and
I'd find I knew the answer, so I thought, hey, let's just solve this once
and for all.
I wanted a simple tool that would grab the sources, build, install,
start, and test this configuration. I've worked at companies that have
purchased support for (or not used!) these tools because the setup and configuration
had some complexity to it. Basically, they needed someone who knew how
to read, digest, and follow the 'README' files. I'm happy that the
companies providing support can make money and earn a decent living. I'm
also anxious that we have an easeier method available, something that did
some thinking for me and told me what I needed to decide about before the
install.
So, I created this project to answer my frustrations. I have just
automated the build process into a Korn shell script as of this release.
Not much, I admit, not anything graphical or fancy - just edit the
file itself and change the directories and options at the top. It will
get better, though.
There's turned out to be quite a bit to learn, and quite a bit to ask the
potential users, though the script makes some reasonably normal presumptions.
This is written in Korn shell script, because I happen to know Korn pretty
well, and it seems to be available everywhere. Maybe sometime I'll
change it to be a Perl script and make it a little more friendly, but for
now this is good.
Release status:
Beta. It works for Mod_perl quite well, though I haven't added tests
yet. It builds Mod_SSL correctly but the make certificate process needs
work still (configuration options are not easily set in the file).
Coding Philosophy:
If I can't read it, it's bad code. I don't care if it is the most
efficient, beautiful script/program that ever was, it's bad and I hate bad
code. Well constructed code is obvious to the reader, easy to maintain,
easy to enhance, and a joy to be around. Obfuscated code in any form
is just plain yucky.
If you submit something for this project that is deliberately confusing, be
forewarned I'll figure it out and modify it so it's easy to read. I'm
happy to receive all submissions / patches, though !! My ego is not so big
that I need to take credit - you'll get prominent mention here and elsewhere
if you do submit something. !!!
Back to code clarity - please be assured that if you read this code, knowing
just a little about the language it's written in, you should be able to see
exactly how it works in a single glance. If not, please email me with
your observations (and suggestions if you have any).
Platforms:
I'd like to release this so it runs on any Unix box (the common industry
parlance for this is 'POSIX compliant'). Trouble is, I don't
have an HP/UX environment to test in. Likewise, I don't have an Amiga,
or BeOS, or FreeBSD, etc. environment. If you do, please run this and
let me know the status.
Likewise, if you have suggestions, please let me know. I'm working
on getting this to work much more nicely, smothly, and completely.
Development Plan (mostly in order):
- make sure the certificate process works.
- add a test for mod_perl to verify it's going
- add some explanatory text about how to use the mod_perl properly
- add support for Apache::DBI for persistent database connections (if
necessary)
- add support for mod_PHP
- add text-mode graphics for ease of data entry