Feature Article
Building a Home Server & Workstation

February 1, 2003
By Scott Lewis

Many people are starting to have more than one computer in the house. Sharing a high speed Internet connection, printers and files across a home network is becoming quite popular. But what if you want to share a printer and files but don't want to restrict the usage of the any of the individual computers.

This month I will cover the setup of a very simple home server. I bought the absolute fewest possible components to be able to start with one computer and end up with two separate computers... a desktop and a server. Join me as I go over the minimalists approach to having a true server at home... on the cheap.

The Original Desktop

I started with my existing computer, which was a really nice computer 5 years ago. It started life as a 450 MHz Celeron with 128 MB and a 18 GB hard drive. It has a TNT video card, Sound Blaster sound card, and HP CD/RW drive. All these components were very close to top of the line five years ago.

Over the years I have made three upgrades and one downgrade to the computer. First I added a 60 GB "D:" drive to the computer. This provided all the storage space I needed for music files, pictures, etc. The next upgrade was to Windows 2000 Professional. This initially was a slow operating system. However, I had an extra 256 MB memory module laying around and added that as the third upgrade. With 384 MB of memory the computer seems about as fast with Win 2K as it did with Win 98 running on 128 MB of memory.

The one downgrade I made was replacing the CD/RW drive with a CD-ROM drive. The CD/RW was failing and I was not burning CDs with any regularity, so I took the inexpensive route and installed a CR-ROM drive. I use the CD/RW drive in my wife's laptop when I need to make a music CD or backup some critical files.

The Components

Over a year ago I ended up with an extra 20 GB hard drive because of impatient when building a computer for someone else. I knew I could use it someday, so no real loss. In fact, that it the same way I ended up with the extra 256 MB memory I mentioned above.

With a 20 GB drive, I decided to see what was the absolute fewest parts I would need to build another computer. CPU, motherboard, case, memory, video, sound, Ethernet, floppy, CD-ROM drive, monitor, keyboard and mouse. Those are the basic components to any computer. But what if you were really on the cheap, and the server was going to sit in a closet and just plain run. Let's see... it doesn't really need a monitor. Once you have it running you can unplug the monitor and run the server remotely from another computer. The same can be said of a keyboard, mouse, CD-ROM and floppy.

If we look carefully we can get a motherboard with video, sound and Ethernet on board. It won't be the best video, but it is good enough for a server... and maybe even a mild desktop.

I ordered a 1.7 GHz Celeron CPU and an Intel 845GE motherboard. The GE series has built-in 3D graphics, sound and Ethernet. In fact, these components are better than the components in my current computer. Which is why I decided to strip my old computer and turn it into the server.

The Server

I partitioned and formatted the 18 GB drive in my old computer. I set it up with 1 - 5 GB partition, and loaded that with Windows 2000 Server. I made a point to include Terminal Services as part of the Win 2K Server install. I later formatted the remaining 13 GB as a D: drive. As it sits it has three "visible" drives. C: is the primary drive that holds the operating system and any applications I end up adding, D is a 13 GB drive that I use to hold disk images for Virtual CD, and the 60 GB drive as E to hold what it always has held... MP3s, pictures, documents, downloads, etc, etc.

Once it was running as I wanted I removed the monitor, keyboard, mouse, CD-ROM drive and floppy. I placed it in my closet next to my router and cable modem. I attached my HP P1000 PhotoSmart printer and I have only had to go into the closet for two things... to get paper, and to boot the server after a power interruption in the house.

My "server" is a 450 MHz Celeron with 384 MB of memory and two (physical, 3 logical) hard drives. No monitor, no keyboard, no mouse, no CD-ROM... just a case sitting in a closet.

Simple. Since there were already two computers in my household connecting to this machine when it was my only computer, I left it with the same name as before. This way the "clients" don't need anything else to access the files and printer they always have.

The Desktop

I was thinking about playing around with Linux before I did this big switch. But I don't know if there is a lot of point in switching. I have grown quite comfortable with Windows, and the way I see it... if the operating system is doing what it is supposed to do, why change it. Win 2K Professional or Win XP Professional do everything I need and want. Linux does everything I need, but I want more. I may change my mind, so I decided to continue with the multi-booting environment.

I installed the new Celeron CPU on the Intel motherboard, installed the memory, dropped the motherboard into the case, added the hard drive, the CD-ROM and floppy drives. It all went smoothly. In fact, this was the easiest computer I have ever build. It should have been easy since I didn't need to install a video card, sound card or Ethernet card.

I booted the computer and partitioned the 20 GB drive as follows: a 500MB partition for Windows 98, a 3 GB partition for Windows XP Professional, a 3 GB partition for Windows 2000 Professional, 3.5 GB partition unused, and a 10 GB partition for data.

I set up all three versions of Windows and will eventually install Linux on the unpartitioned space. The 10 GB partition is seen as a D: drive by each version of Windows. I created these directories:

D:\Program Files 98
D:\Program Files 2K
D:\Program Files XP

I was able to use Tweak UI (a downloadable utility from Microsoft) to change the default location of new programs installed to the appropriate folder for Win 98 and Win 2K. However, Win XP and its version of Tweak UI does not allow you to change the location of the "Program Files." I will look into it later. Maybe I can fiddle with the registry myself.

I was forced to install Windows 98 Second Edition. The drivers for the Intel motherboard will not work with Windows 98, so I did the upgrade. No big deal, but I made sure NOT to install the Internet Connection Sharing which I have found makes Win 98 less stable.

So far this "new" desktop... a combination of new and old parts, is working quite well. It is very fast. I know... a 1.7 GHz computer is almost half as fast as the fastest machine available. But I am coming from a .45 GHz machine, so it is over 3-1/2 times faster than what I am use to. The on board graphics look just fine. Warcraft III looks at least as good as it did on the TNT card. Sound is as good as well... at least to my untrained ear.

Overall my new desktop is a lot faster and more fun to use. Some tasks are MUCH faster. For example, I converted a directory full of MP3 files from 128 kbps to 64 kbps for loading on my MXP 100 MP3 Player. With the 450 MHz machine I would let it go and come back HOURS later. The new computer spits though the directory in the background while I am working and finishes surprisingly fast. I may have to do a timed trial in the future.

Network Setup

If you are thinking you can build a simple server from an old computer you may be wondering what you actually have to do to make the server work. Well... for one thing you don't need Windows 2000 Server. You can use Windows 2000 Professional or Windows XP Professional. I have heard some bad things about using Windows XP Home edition for networking so I would avoid that. I used Windows 2000 Server for two reasons. 1) I had it laying around from my MSDN subscription, and 2) I may try to load Oracle or SQL Server on it. Either of these might balk at not having a real server OS under them.

The other alternative would be Linux. Most Linux distributions will let you tell them what type of machine you are installing to. I know Mandrake and Red Hat offer a "server" install as part of their downloadable packages. Using Linux from a download would make the server OS free. But you would need to know what to do to configure it, or be able to find the answers. I don't know how to configure Linux as a file and print server yet, but when I learn I may convert my server to Linux. That's for another article.

I did not setup a domain for this setup. I just setup the server as a regular stand alone server. I put it in the same workgroup as all other computers in my house. I then shared the printer and all the folders on its D and E drives.


For those of you that have read this far here is a treat. When I started looking for parts all I cared about was getting a motherboard that would hold either an Intel Celeron or Intel P4 CPU. I wanted to allow the chance I might upgrade some day. I ordered the first Intel motherboard on the list at that supported both CPUs and had the built-in graphics, sound and LAN components. What I received was an Intel D845GEBV2L, one of the top of the line 845 motherboards. This piece supports P4 CPUs up to 3.06 GHz (the fastest available at purchase time) including the new Hyperthreading technology. It also supports 533 MHz FSB and DDR333 memory. I am only using 400MHz FSB and 226DDR memory with the 1.7 GHz Celeron, but with a simple CPU and memory upgrade I can have a blazing machine. It also has an AGP slot for a killer graphics card. This can easily become a super gaming machine later. This was a great discovery when the box came in the mail.

I am very pleased with the results. I notice that the "server" is much faster at printing then it was when it was my desktop. Having the dedicated resources and running a real server operating system sure comes in handy.

If you want to try something like this yourself you can save money by using a cheaper OS. Win 2K Prof should work quite well. In fact you could even use Win 98 or Win XP home. Keep in mind that that Terminal Services is exclusive to Microsoft's true server family, so you would need something like pcAnywhere (from Symantic) to remotely connect to a "server" running a lower end operating system. Of course Linux has built in remote access that should pose no trouble to a Linux guru.

One last note... connecting to the server from my new desktop is very, very fast with Terminal Services. Much faster than it is at work when I have to connect to my servers. This is probably because of how small my network is (currently only 4 computers) and the distance from the room to the closet... not much.

I hope you enjoyed this. I would love to help anyone thinking about doing the same. Feel free to contact me if you have any questions on building a simple home network. I am not a networking expert by any means, but I can do this much.