Looking for a use for that old K6, Pentium 2, or Celeron system? Got
a closet full of old computer parts? Turn it into a web server! The web
page you are viewing is
coming from a web server sitting on the floor next to my desk. This
server was built entirely using parts from my "junk closet", and cost
me
essentially nothing to put together -- software included!
Update: On June 5, 2005, after
nearly 2-1/2 years of faithful service during which the server ran 24x7
without so much as a single hiccup, the motherboard suddenly succumbed
to "exploding capacitor syndrome". The site is still hosted in my
basement, on an upgraded "junk closet" system consisting of a FIC AD11
motherboard and Athlon XP 1800+ ("Palomino") CPU. When the original
motherboard bit the dust, I hastily cobbled together the replacement
system, and moved the hard drive over. Linux recognized all of the new
hardware without incident (just try and do that with a Windows-based server!),
and I was quickly back in business. Stability of the replacement server
has been as good as the original; as of late May 2006 (nearly 1 year in
service on the replacement hardware), I have not experienced any
unscheduled downtime.
The Hardware
Like any self-respecting computer geek, I've got all sorts of odds and ends that have been pulled from various old computers, and various components that have been swapped out due to upgrades. Here's the parts list for our "nearly free" web server project:
PSU Swap
The original PSU from the Gateway 486 tower case had some issues. The fan on it was starting to make a lot of noise, and regardless of the fan issue, I didn't really trust the 10 year old PSU, which had seen some fairly hard use in its day. Unfortunately, it was a bizarre non-standard form factor, and a modern PSU wouldn't fit the opening. A little work with a hacksaw and some tinsnips, and a piece of aluminum (cut from the bottom of that disposable baking pan) to cover the original PSU opening, and the case was ready to roll with the Baby AT PSU.

back of server, including replacement
PSU and patch made from the bottom of a disposable aluminum baking pan
Ventilation
K6-III+ chips were originally designed for the mobile market, and dissipate very little power; so extra case fans aren't really needed. I did want to make absolutely sure the hard drive stays cool though, since this box will be running 24x7. So I used some adapter rails to mount the hard drive in the bottom 5-1/4" external bay, and put the faceplate from the dead hard drive cooler in front of it. The PSU exhaust fan should draw enough air through the faceplate to cool the drive.

front of server, including ventilated
drive bay for the hard drive
Configuration
The FSB is running stock (100 MHz). I decided to bump the multiplier to 5x, to run the CPU at a slightly overclocked core speed of 500 MHz. K6-III+ chips are great overclockers, and I know that this one will even do 550 MHz at default VCore; I figured the extra 50 MHz would give the server a little extra zip, without increasing heat output much, or shortening the CPU's lifetime.
The motherboard has been flashed with an unofficial (beta) BIOS from
FIC's web site, to allow it to ID the mobile K6-III+ chip properly.
Memory timings were left at their defaults, except for CAS latency, which was lowered to 2. I figured a PC-133 CAS 3 stick ought to be able to handle CAS 2 at 100 MHz no problem.
Everything else about the configuration is standard -- hard drive as master on IDE 0, CD-ROM as master on IDE 1, etc. The VA-503A's on board sound is enabled, but I don't have any speakers connected to it now, so I can't hear it anyway. Maybe I'll eventually set it up to play a sound when people connect to it or something, just for grins.
Initial Burn-In
Initial burn-in was done by looping Memtest86 overnight, to verify
that
running the PC-133 CAS 3 as PC-100 CAS 2 wasn't a problem. The system
passed the memory test with flying colors.
Software
If we're using (nearly) free hardware, we really ought to use all free software too, right? :-) I've been getting up to speed on Linux lately, and this seemed like a perfect opportunity to learn how to put up a Linux web server. I installed Linux using a set of Redhat Linux 8.0 installation CDs I burned myself, from ISO images I downloaded from one of Redhat's official mirror sites. (OK, if you really want to get picky, I guess the software wasn't totally free, the blank CD-Rs cost me a couple of bucks...)
Installation went relatively smoothly. Redhat 8.0 does have a few minor quirks, however. A tip for anyone contemplating Redhat 8.0: Assuming you're using the default English language setting, do yourself a favor, and immediately edit the /etc/sysconfig/i18n file after installation (before you do anything else), changing the first line to:
You'll save yourself a lot of frustration later on (things like the UNIX "man" command not working right) if you do this.
Internet Connection
My Internet connection is currently IDSL (144 kbps up and down). Not
blazing fast, but good enough for a low traffic server like this one.
My
ISP (Speakeasy) even provides a
second static IP addresses as part of their standard IDSL package; all
I
had to do was ask for it. Oh yeah, and unlike many ISPs, they don't
mind
if you run servers on your connection. If you're thinking of switching
ISPs, they're definitely worth a look, if their service is available in
your area.
I debated whether to bother registering a domain name; after all, a
domain registration (at $35/year) would cost me more than the server
hardware and software put together! In the end, vanity won out; my
credit card balance took a $35 hit, and here we are running on the
justbrewit.net domain. ;-)
Update: As of mid-February
2004, my Internet connection has been upgraded to 1500/768 ADSL...
who-hoo! Speakeasy upgraded me for free, and my monthly fee even went down by $20. Did I mention that
Speakeasy rocks? :-)
Security
The rest of the systems on my LAN are behind a dedicated firewall (just a small one like you can pick up at the local Best Buy or CompUSA), to provide security and NAT capability for all of my PCs. Incoming TCP/IP connections are blocked at the firewall, securing the LAN. The JustBrewIt.net web server on the other hand, is outside the dedicated firewall, in the "no man's land" between the firewall and the IDSL modem. The web server uses its own software firewall (which comes with Redhat Linux) to protect itself from intrusion. And in the (hopefully unlikely) event that the web server is compromised, it is still walled off from the rest of my LAN, so the worst that can happen is that the hackers take out just this server.
Server Administration
I don't have room for multiple monitors in my office (it is crowded
enough already), and I'm out of ports on my KVM switch. It would be
nice
to have more than just basic telnet/ftp access, but moving
monitor/keyboard/mouse cables around every time I want to do something
on the server is a pain. What to do? Free software to the rescue again!
VNC (Virtual Network
Computing) is a slick little package that allows you to set up virtual
desktops that are accessible over the network. If you've ever used
Symantec's pcAnywhere package, VNC is sort of like that... except it is
cross-platform. And free.
Finding the information to get it set up exactly the way I wanted took a little digging, both on the VNC home page, and through Google. But once it is set up right, it is pretty sweet. My primary workstation is still Windows-based. But with VNC, I have full access to a virtual desktop on the Linux web server, from within a window on my Windows 2000 desktop:

virtual desktop from the Redhat Linux web server running on my Windows
2000 workstation
(click the image for a full-size screen shot)
What about power consumption?
You may be wondering if I'm concerned about the additional
electricity this system will consume by being left on 24x7. Well, there
are a few mitigating factors:
So what is Folding@home anyway?
Folding@home is a
distributed computing project being run by a group of scientists at
Stanford University. The goal of the project is to run molecular
simulations using spare CPU cycles donated by people around the world,
in order to "understand protein folding, protein aggregation, and
related diseases".
Conclusion
So there you have it! A complete web server for next to nothing. The
hardware was free, because it was all stuff I wasn't using anyway. The
software was free, because it was all included with the free download
of
Redhat Linux. Even the authoring of this page was done using mostly
free
software (Mozilla Composer). I did cheat a little, and used a
commercial
package (Corel Photo-Paint) to do some minor touch-up on the pictures,
rescale them, convert them to JPEG format, etc.
If you've got some old hardware that is sitting around unused, I
encourage you to try loading Linux on it. I have to say, it has been an
interesting (if occasionally frustrating), and quite educational
experience.

No Intel Inside!
Click here to return to the JustBrewIt.net home page!
Questions? Comments?
Obligatory Legalese
Any trademarks referenced herein are the property of their respective holders. This web site is Copyright © 2003-2006 by Michael Uchima.
Posted January 3, 2003; last update
May 28, 2006