ApacheBuilder Home Page

Date Last Updated:  Jan. 25th, 2003

Main SourceForge Page for this site:  http://sourceforge.net/projects/apachebuilder/

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):
  1. make sure the certificate process works.
  2. add a test for mod_perl to verify it's going
  3. add some explanatory text about how to use the mod_perl properly
  4. add support for Apache::DBI for persistent database connections (if necessary)
  5. add support for mod_PHP
  6. add text-mode graphics for ease of data entry

Main SourceForge Page for this site:  http://sourceforge.net/projects/apachebuilder/

SourceForge.net Logo