Server Hardware

The heart and soul of any type of server. The type of server you will need will be partially determined by what you plan on doing with your webserver. If your website is active with cgi, perl, asp, or php, then you need to place a bit more emphasis on CPU speed. If your server is going to be a game server, then you need a fast CPU and a fast Internet connection.

Here are a few guidelines on what you should concentrate on for each particular setup, but remember, it's fairly flexible.

  • Basic personal home page - nothing special
  • FTP file server - fast connection speed
  • Streaming media - fast connection speed
  • CGI scripts - fast CPU speed
  • Active server pages - fast CPU speed
  • Game server - fast connection speed & fast CPU speed
As you can see, different types of web pages have different needs. In general, it is good to make your webserver powerful and robust enough to handle a bit of everything.

The key to a good webserver is to make it STABLE! What good is a fast webserver if you need to reboot it every 3 days? You need a machine that you can leave on for months at a time (theoretically). Because of the reliability factor, many people buy computers from big companies like Dell and Gateway because they tend to use very basic Intel motherboards and CPUs with reference designs. These tend to be very stable machines. You can build your own machine yourself but make sure that you make it STABLE! This means avoiding overclocking, unproven drivers, and high temperatures.

Before we spec out a computer, remember that the bottleneck for your webserver will most likely NOT be your computer, but instead your DSL/Cable line. Most high-speed Internet lines are fast downstream, but pretty slow upstream. For example, my DSL line is rated at 768 Kbps downstream and 128 Kbps upstream. That means that people who are visiting this web page will be able to access things at about 2x the speed of a 56k modem. Although that sounds very bleak, remember that a DSL/Cable line has a much more stable connection than a modem so 128 Kbps on DSL is more like 3-4x faster than a 56k modem. Don't expect to make your webserver a huge file server for the world unless you shelled out some big bucks for a really fast DSL line. Even if you did, that still can't compare to a well connected professional web host.

Although fairly popular, dual CPU's may be a bit of an overkill for a webserver at home. Okay, so your dualie crunches all the information the web user requests, but then it still has to get through that little old DSL/Cable line, which negates any speed gains. If you're just serving up plain html pages, you will not be able to tell the difference between a 486/66 and a Pentium III 933 MHz. Trust me, I've tried it. I know of several people who use 486-based computers for hosting their websites just fine. However, if your website has a bunch of dynamic material (perl, cgi, asp, php, and cold fusion), then the extra CPU speed certainly will help. Depending on how deep your pockets are, get a decent speed chip. AMD or Intel? Doesn't matter. I even have a Cyrix running a webserver over here.

This is the component that will singly determine how stable your computer is. If your mobo sucks, your server will suck too. Please do not buy one of these generic $20 specials at the computer show. Get a motherboard from a reputable manufacturer like Asus, Abit, MSI, or Tyan. I must admit that you can't go wrong getting an Intel motherboard just for the sake of stability. The Intel boards are simply rock solid. If you're an AMD fan, the major companies also all have very stable boards. Once you get the motherboard, check the bios version and see if there are any flash updates for it. Don't get the latest bios, but instead, ask around on the web and see which revisions are the most stable. The latest doesn't mean greatest.

How much memory does your server need? This actually depend more on your operating system than on what your webserver will be serving. Get the minimum amount needed to run your operating system decently. If you're using Windows 98, then 64 Megs will be just fine. If you're using any of the Windows 2000 OS's, then 128 will work great. People always say that more memory is better, but remember, the bottleneck is your DSL/cable connection which gives your server plenty of time to go to your hard disk to get the material that it wants. Really.

Hard disk:
With typical servers, you always hear that they need super fast SCSI hard disks and subsystems, but that's because in the old days, the network speed was faster than the hard disk was. In our situation, almost any modern hard disk will easily saturate our DSL/Cable line. So that means at 15,000 rpm SCSI drive really isn't necessary. A plain jane EIDE HD will be just fine. Even a (gasp) 5400rpm HD will be fine although 7200rpm are probably a better buy (price/performance). You should concentrate on the size of the hard disk and how much noise it makes. Remember, your server will be on 24 hours a day, and the constant humming of a hard disk could drive your crazy. 

Another thing you might want to consider when designing the hard disk layout is whether or not you want to setup a RAID. RAID stands for "Redundant Array of Inexpensive Disks". The popular versions of RAID are: striping RAID 0, mirroring RAID 1, and mirroring + striping RAID 0+1. What I'm talking about is RAID 1, or mirroring. For RAID you need a special RAID controller and two hard drives that are identical in size and speed. In RAID 1, all the information on 1 drive is mirrored onto the other drive. In the unfortunate instance that one drive should fail, the other drive will still have all the information. This may be crucial if your webserver also acts as a file server or as a backup server. A RAID setup isn't all that expensive these days and think of the peace of mind such a setup would provide!

Network card:
Preferably a PCI card in order to minimize CPU utilization and one that has good driver support in your Operating System.  Which is the best brand?  We wondered the same thing so we did some tests and came up with some interesting answers.  Check it out: Network Adapter Testing.

Video card:
If your webserver will only act as a webserver and nobody will be using it, then get a cheapo video card for $10. If somebody is going to use the computer, get a card with decent image quality. Don't get a card that plays games really well since you don't want anybody to bog down your webserver by fragging away in Unreal Tournament.

AKA - uninterruptible power supply. You probably want to get on for those pesky brown outs or short blackouts. The things you should have connected to the UPS are your webserver, router, and DSL/Cable modem. Basically anything between the server and the wire coming out of the wall. It doesn't need to be a super huge UPS, because if you have a sustained blackout, you're website is going down no matter what.

The rest of your computer is up to you. A rule is that the part can be cheapo if nobody is using the webserver as a workstation, a slightly nicer part if somebody will be using the webserver as a workstation. But make sure the part is stable and reliable. One bad peripheral or driver is all it takes to crash your server.

The thing that many people forget when they build a webserver is the fact that your computer will be left on 24 hours a day, 7 days a week, etc. This means that the noise of the server will NOT go away when you go to sleep. Maybe this doesn't matter to you because the webserver is located in another room, but if the computer is located where you sleep, or if you're sensitive to noise, or if you just want to cut down your electricity bill, you might want to try some of these noise/energy saving tips.

Disclaimer: DSL/Cable Webserver is not responsible for any injury or harm caused by the following modifications. Remember, so of these tips may work for you or they may cause serious damage/injury/bodily harm/horror. Make sure your server is safe before you leave the server unattended for any period of time. Fire Fire Fire.

1. See if your CPU can be run with a heatsink without a fan. I know it sounds crazy, but depending on the size of your heatsink, you might not have to use a fan. This is done all the time in Dell computers. They slap on a huge heatsink and forgo the fan. It doesn't get quieter than a bare heatsink. The bigger the heatsink, the better. You may have to spend a little more cash to get a larger, more efficient heatsink, but it's worth it. After you decide to go fanless, run some type of program to stress your CPU for several hours to check if the computer crashes or if the heatsink gets too hot. My CPU is barely warm to the touch even under full load.
2. If your power supply is of moderate power (200-250 watts), you may be able to get with rewiring your power supply fan to run at 5 volts instead of 12 volts. At 5 volts, the fan will turn slower and in the process generate less noise. Conversely, it also is less efficient at cooling your power supply so it could possibly overheat. My advice is to try it out and see if the power supply gets too hot. You can accomplish this by opening your power supply, cutting the wires to the fan. Outside of the power supply, take a free power connector (not the one to your motherboard and you see 4 wires. The yellow wire and the black ground wire next to it are 12 volts. The red wire and the black ground wire next to it are 5 volts. You can spliced the fan wire to the 5 volt yellow wire and adjacent ground wire. Make sure there are no exposed wires anywhere along your splices. Use electrical tape or heat shrink tubing to cover any exposed areas.

3. Use this adapter to lower the voltages of some of your fans.  How to make a 5 volt and 7 volt wiring adapter out of a Molex Y adapter

Once again, be very careful with these modifications. If your computer has a lot of components drawing a lot of electricity, the power supply modification probably shouldn't be done, but use good sense in any case. 

If these mods work right, your server will NOT run at high temps, the CPU will run moderately warm, and it will be safe. If these mods don't work, you should reverse them right away.

My server currently has both mods and it runs cool as a cucumber. I just have the power supply fan running at 5 volts, which is barely audible at night.

KVM - Keyboard, Video, Mouse
Okay, so now you got you webserver up and running, but what do you do if you have a dedicated webserver and another workstation?  Do you need to buy two monitors, keyboards, and mice?  The answer is no.  Having two of everything is expensive, not to mention takes up too much space.  The answer is a KVM switch.

KVM stands for "Keyboard, Video, Mouse".  It is a device that allows you to connect two computers to one keyboard, monitor, and mouse.  By pressing a button on the KVM, you can switch between the two computers.  Some models have a Hot Key combination on the keyboard that does the switch.  On my Linksys KVM kit, I hit the "Control" button twice really quick to switch between my server and my workstation.

You may have seen other solutions like those boxes that have a turn knob that says "A" and "B" which will do the same thing, but STAY AWAY from those boxes.  Those boxes are mechanical units that may introduce electrical shock into your components.  They're really cheap because they have no electronics or intelligence to protect your equipment.

The electronic KVM's all are able to "buffer" the transfer from one computer to the other so that there is no damage to your computers.  Also, these electronic KVM's can remember the settings of each computer so that your computer or operating system won't suddenly hang or crash because it thinks the keyboard, monitor, and mouse have been detached (a problem with the mechanical switch boxes).

Even if you did have a second monitor, keyboard, and mouse to use with your server, they are probably not as good quality as your main workstation computer and it's nice to be able to sit in one place and can control your empire.  A downside is that you can't see both computers at the same time.

KVM's come in many different configurations.  They range from being able to control 2 computers to about 10 computers.

What to look for:  Try to buy a KVM kit instead of purchasing the cables and box separately. This way you'll save money and also make sure all the equipment works correctly.  Also look for kits that have high quality cables.  Don't skimp here.  You're introducing another device between your video card and monitor which can degrade your image quality if the cables aren't shielded and of the proper gauge.

I love my KVM and don't know what I'd do without it.  It was expensive - about $80, but it's totally worth it.

Server Appliance
For those of you who want a server hardware/software solution pre-packaged and ready to go, here's something pretty cool.  It's the Cobalt Qube 3 - an All-In-One server appliance. It can handle Web, FTP, Email and more.  This would be perfect for small businesses who need reliability and don't want to fuss with hardware and software.  The only bad thing is that it can't do virtual hosting (run several websites).  I wouldn't mind having one of these boxes sitting on my desk.  It's really cool looking!

I also found a website that is all about the Cobalt Qube.  It's called Qube Quorner and their site is actually hosted on a Qube 2 (not the newer Qube 3).

And to answer your question, Cobalt came out with the Qube way before Apple even had a twinkle in their eye for their version of the Qube.


Additional Information
Articles: Step-by-Step: Resources: Cobalt Qube 3: