More and more people are building servers for their home or a HTPC and rightly so. There are so many good reasons and benefits for having your own server or HTPC that a lot of companies are building hardware specifically for these systems. I finally decided to make the move and get the hardware I would need to accomplish this task as well.
This article is mainly going to go over how to build and setup a server and look at some of the software that works well for a server situation. This article will also be good for someone looking to build their own HTPC.
With any HTPC you want it to be silent, be warned though this usually takes some work. Servers typically very noisy on an enterprise level but we’re not building an enterprise server. For a home server that the typical power user would build it is not that difficult to keep it quiet. For this reason I am going to focus on building this computer to be silent, or at least as quiet as possible.
In the future I plan on writing other articles that coat-tail this one and add to the subject. The hardware that I decided to use in this server came from different sources. Some of the hardware was provided from manufacturers for this article, some from past reviews, some that I had laying around, and some that I bought.
The Server Side of Things
When planning the build for a server or HTPC you should decide what tasks it will be doing right away and in the future. You will want to make sure that the system will be able to handle anything you want it to do now, and down the road without too much upgrading. For my particular build on the server side of things I mainly wanted the system to act as a file server, print server, and game server. I also wanted it to take care of FTP, Terminal Services, and run Distributed.net full time for team OCmodshop. Of course your server could be totally different than this, it all depends on your needs and wants.
Doubling as a HTPC
On the HTPC side of things you will probably want it to handle TV, DVDs, MP3s, VCDs, pictures, and things of that nature. For DVD playback you don’t need top of the line hardware but if you want to spend the money you can. I currently don’t have a big screen TV but eventually would like to buy a large rear projection HDTV, but I don’t see that happening anytime soon. Because of that I decided that at this point I did not need any TV output from the computer or a great video card. Down the line if I were to get a larger TV or cable/satellite I would probably pick up an ATi All In Wonder to handle the HTPC tasks that I would want. If you want to setup a PVR or have TV out I would suggest picking up a TV tuner card that has TV out or an ATi All In Wonder card.
The Hardware
The guts of a system are really the most important thing for any computer. However that doesn’t mean you want to have a nice computer that everyone will see in a junky case. Since HTPC are typically found in the living room or den and everyone will be seeing it I would suggest a desktop style case that looks nice. I decided to use a SilverStone LC03V that previously reviewed. I really liked this case and it will make a great body for my server/HTPC. The built in VFD will add extra functionality by allowing you to monitor the system and get information. This will be very useful for both server and HTPC functionality.
You will want your system to be as quiet as possible and hopefully silent, with any new processors it would be almost impossible for a silent system. Because I had two Pentium III 866MHz processors sitting around doing nothing I decided that they would be a good choice for this server. Although these processors are not the fastest on the market by any means they are not outdated for a build like this. These Pentium III processors are a good choice because they will run cooler than most processors out there today. A dual processor system will also be useful for the server side of this build allowing software that is multithreaded to use both processors.
Depending on your processor, memory, and what level of system you want to build you will need to choose a motherboard that fits your needs. When it came to picking a motherboard I went with an ECS D6VAA that I got off of eBay. I chose this motherboard because it was cheap, would take my processors, had a lot of PCI slots, and an AGP slot. It has 3 DIMM slots allowing me to add enough memory for now and for some time down the line if I should ever want to add more. The only thing that is lacking on this motherboard is USB 2.0, but a PCI USB 2.0 card can be added later.
Your motherboard will dictate what kind of memory you will be using. This ECS D6VAA accepts 168 pin PC100 and PC133 memory with a maximum of 1.5GB. Because this server isn’t going to be doing heavy work right away I decided to start out with 512MB of PC133. If I ever need more memory I can stick a 512MB stick in there to beef it up to 1GB.
If you are not concerned about graphics processing power I would suggest finding the cheapest card possible and using that. If you need something that has the ability to run new games or things of that nature I would suggest something that will accept a passive GPU cooler to eliminate unnecessary noise. Like I mentioned before at this point I don’t have any need to have this system do anything with TV and won’t be playing games on it right now. So to save money I just grabbed a PCI Matrox Mistique that I had laying around to use for the video card.
A server isn’t much good without a network so if you have an existing network I would say stick with that. If you currently don’t have a decent network I would suggest going the gigabit route. SMC provided us with a gigabit switch and network card for this system, both of which I previously reviewed. Obviously when it comes to servers you want the fastest network possible for all of the traffic that will be passing through it. This servers main responsibility will be to act as a file server so there will be a lot of data flowing in and out of it. Having gigabit equipment will speed things up and reduce the time waiting for transfers. Gigabit will run fine over cat 5e, however the cost is only about fifty cents more for cat 6 compared to cat 5e. If you currently have cat5e I would say continue using it. If you need some new cables spend the extra few bucks and go with some cat 6.
One of the major tasks of most servers will be to act as a file server, and when you have a file server you need a lot of storage. Not only do you need a lot of storage but you need fast and reliable hard drives. Seagate was more than generous to send over two of their new 400GB Barracuda 7200.8 SATA NCQ hard drives. One great thing about Seagate hard drives is that they are very quiet which makes it an ideal choice for a setup like this. A full review of these hard drives will be done shortly after this article is posted so watch for that.
Although the thought of an 800GB file server makes me giddy, size isn’t the only thing that matters. Data reliability is also important for a file server because no matter how much capacity you have, if you lose it all capacity means nothing. I have the utmost confidence in Seagate hard drives but that doesn’t mean they are infallible.
To protect my data I would suggest setting up a RAID array or doing tape backups. I decided to set these drives up using RAID 1 so that all the data is mirrored. The motherboard that I chose is pretty old and does not have native support for SATA. Windows is able to do software RAID but this is not as stable as a hardware RAID controller. In the past I have had Windows 2003 break the mirror so that only 1 drive was writing data.
Luckily I did not lose all of my data but I don’t want to go there again. What controller you decide to buy is totally up to you. Just be sure that the card you choose is compatible with the operating system you plan on using. For my system I decided to buy an Adaptec 1210SA SATA RAID controller.
As I have been saying so far throughout this article one of your main goals is for the server or HTPC is for it to be silent. One of the main sources for computer noise is the power supply, so a passive PSU is a perfect choice. I will be using a 0dB power supply from Thermaltake, which I reviewed as well. Using a passive power supply will remove a lot of unnecessary noise from the system and provide ample power for all the hardware in the system.
If you have a fax modem laying around waiting to be used it might be a good addition to your server. I found a 56K modem that I had in an unused system and figured it would be good for this server. Right now I don’t have a fax machine because I don’t send faxes very often. However it would be nice to setup a fax server so I could send and receive faxes in the future. The modem could also be used as a internet connection backup incase your broadband goes out and you have to get online for some reason.
Continuing with the silent system theme we come to processor cooling. If your processor(s) will run cool enough with a passive heatsink I would really suggest using one. Along with the processors that I had sitting around I also had a set of matching aluminum heatsinks. These should be able to keep the processors cool enough and silent at the same time. If the processors end up getting too hot using a passive heatsink you could either add a very quiet fan or buy a better heatsink. I figured for now I might as well give these heatsinks a try before spending more money.
For additional cooling you may want to think about buying some RAMsinks. We recently wrote a guide on Cleaning up power with additional cooling which goes into much detail about added cooling parts in your system. Sharka Corporation sent over some Zalman RAM heatsinks to use and use them I will. These are intended to be used for video card memory however they will work for anything that you want to use them on.
Although putting a server like this together is basically the same thing is building a regular computer I wanted to add it to this article. The order in which you decide to build a computer is totally up to you. Your way may deviate from the way I explain but this is just typically the way I go about it. The first thing you will probably want to do is install your processor(s) to the motherboard and then apply some thermal compound like Arctic Silver 5 to the core(s). Once that is done you should installed your heatsink(s), be especially careful while doing this if you have a socket A platform.
Mosfets are normally a source of heat on electronics and can get quite hot. Some extra cooling is always a good idea; I decided to use the Zalman RAM heatsinks on these mosfets all over the motherboard. Installation of these heatsinks is simple, all you need to do is peel off the plastic from the adhesive and stick them to the mosfet. Once this is done just make sure they are firmly in place and your mosfets should run a little cooler.
After getting all the extra cooling added you can then install your memory. If your case has a removable motherboard your build will be a lot easier. This case happened to have one so I mounted the motherboard to the motherboard tray.
With most of the components added to the motherboard you will probably want to install the motherboard tray to the case if you have one. If you do not have one, you already have gotten most of your components into the case. Either way from here you will probably want to install your hard drives to the 3.5″ cage.
Now that most of your hardware is in your case you can install then installed all of your PCI cards. You will also want to install your optical drive to a 5.25″ drive bay. I then added my Plextor PX-708A so that I could install the operating system. This isn’t going to be the optical drive that I use for the long run. I plan on picking up a very quiet DVD-ROM since I don’t need burning capabilities. You probably want to install your power supply last because it will create a mess with all the cables and take up a lot of space. I installed the Thermaltake 0dB PSU I had into the case. Once all of that is done all you should have left to do is plugging in power, jumpers, and other cables.
Below are some final shots of everything installed to the system. All that is really left to do is cleanup the cabling and do some testing. Not only will cleaning up the cabling within the case make it much nicer but it will allow air to move more freely. With a silent system there is normally very little or no air being moved around by fans within the case. Because of this the more natural airflow you can get through the case the better. The DVD burner is removed in the last picture because I had to pull it to use on another system.
Before you can install you operating system of choice you will need to setup the RAID array assuming that you are using a hardware RAID controller. Depending on your RAID controller you will be prompted to press a combination of keys when the system is booting to setup your array. Since you may not have the exact same card that I am using the procedure for you might be a little different but you should get the general idea.
When you get into the configuration utility you should have options to manage your array. The first time around you will need to create your array so choose create array. Typically your hard drives will show up as 00, 01, 02 and so on. Select the drives that you want to make an array out of and move on to the next step, in this case by pressing enter.
You will probably be moved to the section of the configuration where you choose type (RAID 0, 1, 5, etc), label, size, and so on. Like I mentioned on the first page I am going with a RAID 1 setup using the entire capacity of the drives and labeled the array “Server”. Once you have made the appropriate changes proceed to the next section where it will most likely ask you to verify the actions before it starts.
When the previous screen shot said it may take a half an hour or more that’s an understatement. I don’t know exactly how long it took but it had been going for about 3 hours before I went to bed and was only about 50% done. So just remember it will probably take quite a while to build the array to plan accordingly. When the process completes you will have your array complete and can move on to installing your operating system.
Operating System Setup
I will be installing Windows 2003 Small Business Server, but you can install whatever operating system you like of course. For the sake of this article I am going to quickly run through the installation process.
If you are using a SCSI or RAID card you will need to load the driver for it before you can install your operating system. Without the driver the operating system will not be able to see your hard drives. Before you start the operating system installation you need to load the drivers for the card onto a floppy disk. After you have done that you can start your installation. As soon as Windows starts to load, at the bottom of your screen you will tell you to press F6 to load the driver, do it when it tells you to. You will then be able to load the driver from your floppy disk and continue with the installation like your normally would.
You will then need to decide how to setup your partitions. I typically create two partitions, one for Windows and the other for data. I do this in the event that Windows gets messed up, which it sometimes likes to do. If you keep all your data on the second partition there is less of a chance to loose it if Windows decides to not work correctly. So for this particular setup I went with a 40GB Windows partition leaving me with 341GB for data.
The installation progress will probably take between 30 and 40 minutes. It will first copy over all of the files it needs then reboot. From there a GUI setup wizard will appear and walk you through the process. When that completes the system will again reboot and you will be taken to the Windows logon screen.
The first thing you want to do with any new system is get the operating system patched. Ideally what you want to do is slipstream the updates into the install or have all the patches on a CD so that you can install them before putting the machine on the network. With an un-patched Windows system it could take only minutes before your system is hit and infected with something given the right circumstances. So as soon as you have your system up and running for the first time head over to Windows Update so you can download and install the newest patches for your operating system. Once that is done I would suggest running Microsoft’s Baseline Security Analyzer. This tool will scan your system for various configuration settings and patches that you might be missing.
Another vital part of a healthy system is an antivirus of some sort. Eset Software was generous enough to provide us with their NOD32 antivirus system to use for this project. NOD32 is able to run on any version of Windows including the server side. I will also have a full review of this software the near future.
Although Windows 2003 Small Business Server has Terminal Service capabilities I also installed TightVNC to give me console control. There are many free VNC servers out there on the web so you will need to decide which one meets your needs the best. Normally with Terminal Services when you log in you get a session and when you log out it closes. An example of this is if you log in via Terminal services, start a download, and log out the download will be canceled. Connecting with a VNC (Virtual Network Computing) client will allow you to see the desktop as if you were sitting in front of it. This means you can log in, start that download, log out, and the download will continue.
There are many FTP servers out there but there are only a few free ones that work well. I have tried out many different ones and of all the free ones I like FileZilla server the most. I like the interface and it will run as a Windows service which is something very important. I personally don’t like the built in Windows FTP which is why I went with a 3rd party solution.
There are many programs to monitor the temperatures and voltages of the system. Most people you talk to in the overclocking community will probably suggest Motherboard Monitor which is what I decided to use.
The VFD that’s built into the case did come with any software. LCD Smartie is an open source LCD/VFD program that works really well with many displays. There are tons of things that you can do with this software so don’t limit yourself. I currently have mine setup so that it tells me the time, date, CPU temperatures, and Winamp information.
If you haven’t already joined OCmodshop’s Distributed.net team you should do so now. All you need to do is install and configure the client and it will take care of the rest. Finally, when it comes to MP3 players nothing tops Winamp in my book. I installed it so that I can have the system play music when I want it to.
Conclusion
There are so many things that you can do with something like this and so many ways to configure it. Whatever hardware, operating system, and software you decide to use you will have many ways to configure everything and do it however you like. There is really too much to write about in one article for what you can do with a server or HTPC. There is a lot that my server/HTPC will be doing in the future and I’ll probably think of some more things as time goes on. I hope this article has been helpful for you or given you some ideas on your server or HTPC. We should have some more articles coming up to build upon this one and give you some more ideas and help in building a great server or HTPC.