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.
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.
|