I now have a fully-functional, open source, web server on my laptop. I don’t use it to serve files to the outside world, but I do use it as the localhost so I can test all of my pages and make sure they’re functional before I upload changes to the production web servers, which are running Redhat 7 (GNU/Linux). My laptop is a Windows98 box (though if I had a bigger hard drive, I turn it into a dual boot machine. There are still some Win32 programs I like to use, so I can’t go to a fully open source box yet). But, luckily, the same tools are available for it, too: Apache, PHP, and MySQL. That’s more than enough firepower to do most anything you’d care to do with a web server, and it’s all free. The windows version even come with friendly installers that make setting things up fairly easy (you’ll have to edit some config files to get Apache to parse your PHP files, but that’s pretty easy and something you’ll have to get used to if you’re going to run Apache–and you are going to run it because it’s amazingly powerful). Installing the same stuff (and getting it running well) on the Linux side is a lot tougher, which is why I use NuSphere MySQL. I’ve also heard good things about Apache Toolbox, a Perl install script you can get at freshmeat.

Now that it’s going, I’m learning how to create web interfaces to MySQL databases. And that’s actually very fun, even when it gets frustrating. Now that I’m using PHP includes (similar to SSI but, like all things PHP, easier to do) for the headers and footers of everything (and also for modification time/date stamps and hit counters), it’s a real blessing to be able to edit pages on my site and preview them locally (instead of having to FTP them to the server and *then* check them out). If I’d known how easy this would be to get going, I’d have done it a long time ago. So, if any of you out there are in a similar situation, do yourself a favor and spend an afternoon or two setting up these programs on your design workstation. You won’t regret it.