GeodSoft logo   GeodSoft

GeodSoft.com Server OS Selection, May 2000

This explains why my primary web site is on Linux, despite having much more Windows NT web server experience and a functioning NT server on a machine identical to the Linux box.

When I started planning to go into business, I purchased four identical machines (500Mhz P3s with 128MB RAM) to set up as test web servers. My intent was to run NT, Linux, OpenBSD and Solaris and compare the different experiences setting up and managing web servers on the different platforms.

When I got serious about actually building this site I decided initially just to go with NT. This was because I am so much more familiar with NT as a web server and already had full text searching working via Index Server. I considered full text searching a must have from the beginning. After a few hours, I could not get Index Server to recognize the new virtual site I set up for GeodSoft. Everything appeared correct in both IIS and Index Server management consoles. I forced a re scan but could never get any results out of the new virtual site. Then I started getting a sharing error whenever I tried to re-save a page to the NT server that I had just viewed in a browser. I have encountered this before on my server (NT 4, IIS4, SP4) but not on any of the other NT web servers I've worked with. This forces a wait of about a minute to save a page, a totally hopeless situation when you're trying to build a site and need to see the effect of many small changes quickly.

At that point I said to hell with the NT server. For immediate development of the site, I switched to Personal Web Server (PWS) on my NT workstation so I can see the effects of minor changes immediately. Both the Linux and BSD machines are working and have functioning copies of Apache running as well, so I decided to return to my original plan and build matching web sites on multiple platforms. Whichever gets the furthest will be my primary server and the various problems I encounter along the way will be part of what the site is about.

On Tuesday, May 2, 2000, I was going through the Apache documentation on the Linux machine. Everything seemed very straight forward - a long list of well documented options that go in one of three text configuration files. The only real problem was how to define a second IP address on the existing NIC. I searched in vain for an answer and spent quite a while experimenting with no luck. Finally I had to call a friend who does a lot of Linux administration. He stopped by and in a few minutes showed my how to add it. No system reboot required and no more difficult than Window's networking control panel. You just need to know the "Alias" option in Red Hat Linux's network control panel. Of course there is also a command line option but the ifconfig (I believe this is the necessary command) man pages are not a model of clarity.

With the extra IP address now working, I FTP'd the web site, edited httpd.conf (after saving the distribution copy with a .dist extension) to put in a minimum VirtualHost definition and reviewed the Apache documentation for restarting the server with the new options. The execution of that command took a few milliseconds (no reboot). I typed in the IP address of the new virtual site into Netscape and up it came -- the very first time I tried. What's this about Windows being easy with everything buried n layers down in a GUI? In the past, I've spent a couple days trying to get one IIS server to do something that another one has been doing for a couple years. Finally, I had to bring in a consultant because the option I needed was hidden in a completely different part of the registry and not documented. It had been so long since I got the first one to work that I could not remember where the setting was and no amount of searching the registry found it. I'd like to see someone hide something like that in httpd.conf.

On Wednesday, May 3 I got a new virtual site working on the OpenBSD server. The ifconfig documentation was quite different and much more complete but what looked like the right approach did not result in a pingable IP address. Considerable looking around in both the local documentation and on the OpenBSD site did not provide the answer. After nearly two hours, I found the answer in the undocumented /etc/ifaliases file which had not been modified by the ifconfig options I tried. I manually edited that file according to the internal documentation and following a reboot had a new pingable IP address. I doubt the reboot was necessary but could not quickly find what command in the boot sequence actually made the IP change take effect. The Apache changes were identical on BSD to those on Linux and again worked on the very first attempt.

Subsequently I searched for web site searching software. There are a lot of open source choices avaialble though few seem as complete as IIS's Index Server and none integrate with the web server and security as smoothly as Index Server. On the other hand, while trying to get Index Server to work with a virtual site, it stopped working completely. Though I didn't spend a lot of time on it, I never got it to work again.

As I reviewed the choices, I narrowed the choices to HT Dig and Swish-e. I chose Swish-e because it has a local file based indexing mode. I was planning to index each server separately, so that all searches would not return triple results; this seemed the obvious choice in my environment. I believe file access is more effiecient and avoids cluttering the web access logs with indexing activity. For an organization with two or more sites with different content that should be searched together, HT Dig's HTTP indexing model makes good sense.

Swish-e was easy to get to work on Linux. I had trouble with OpenBSD because the Perl GDBM libraries required by Swish-e were not installed and I was not able to find them with a limited search. Since Swish-e worked on Linux and adapting a Perl search form to fit inside of standard GeodSoft pages was straight forward, Linux ended up with what I regarded as the minumum required functionality. Index Server wasn't working and I didn't succeed in istalling Swish-e on OpenBSD. Thus Linux became my primary server (the one pointed to by GeodSoft.com and www.GeodSoft.com) and NT and OpenBSD became secondary mirrors.

This setup was maintained from May 2000 until late August, 2001 when the NT server died and was not restored. In the 16 months it was a mirror, the NT server had more problems than all my other systems combined; these are documented throughout this section. In February, 2002, I put up a FreeBSD mirror to replace the NT server.

transparent spacer

Top of Page - Site Map

Copyright © 2000 - 2014 by George Shaffer. This material may be distributed only subject to the terms and conditions set forth in http://GeodSoft.com/terms.htm (or http://GeodSoft.com/cgi-bin/terms.pl). These terms are subject to change. Distribution is subject to the current terms, or at the choice of the distributor, those in an earlier, digitally signed electronic copy of http://GeodSoft.com/terms.htm (or cgi-bin/terms.pl) from the time of the distribution. Distribution of substantively modified versions of GeodSoft content is prohibited without the explicit written permission of George Shaffer. Distribution of the work or derivatives of the work, in whole or in part, for commercial purposes is prohibited unless prior written permission is obtained from George Shaffer. Distribution in accordance with these terms, for unrestricted and uncompensated public access, non profit, or internal company use is allowed.

 
Home >
About >
Building GeodSoft.com >
server.htm


What's New
How-To
Opinion
Book
                                       
Email address

Copyright © 2000-2014, George Shaffer. Terms and Conditions of Use.