In theory, there’s not a lot difference between a desktop and a server. It’s mostly software. Servers typically have better overall hardware that’s been tested for continuous use and have fault tolerant abilities. So, they may use better error correcting memory, have RAID arrays for drives, and run a server OS.
Given your stated needs, I think going with a dual xeon setup seems like overkill. Do you anticipate a lot of traffic to your website (and do you even have enough bandwidth where the server will be the bottleneck)? How many people are you supporting on your e-mail server? If it’s just you then again….total overkill. Lastly, file storage access is easy to setup and there are a variety of ways to do it whether you’re using a “real” server or a desktop set up as a server.
Since most modern day processors are pretty fast you can get away with a single CPU in many cases. It all comes down to what your loads are. Even at dedicated hosting sites, a measly 2.4Ghz Celeron is more than enough to host a site that gets 200GB of transfer a month. You really only need a dual setup if you’re running a site that gets millions of hits a month. And even then you’d set up multiple servers for load balancing and to rule out any single point of failure.
I run a modest server at home. It’s simply a 1.6Ghz Athlon XP with 1GB of RAM, and 360MB of total storage. It’s one of those Shuttle XPC systems. It’s connected to a UPS (battery backup) and is configured as a web server, an audio server, and e-mail and ftp server. I also back it up to an external hard disk every once in a while. That thing barely gets stressed even with hundreds of visitors hitting the box. Also, out of laziness, this server isn’t even running a typical server OS. It’s simply Windows XP Professional. I do plan on upgrading it to Windows 2003 Server later. This system is on 24/7 and has been for nearly a year. I only shut it down when I need to open it up and give it a good air dusting every once in a while.
As a web server, it’s running Apache, MySQL, and PHP and it’s pretty rock solid. My friends and housemates post pictures to Gallery (a PHP application for sharing photos) and all of our friends come to visit it. Even on heavy days no one has ever complained about it being slow. The only limitation I have is that my cable modem provider only offers 256Kb upstream (vs. 3Mb down). So, in my case, the bandwidth is the more of a limiting factor before the server is.
I have shoutcast streaming audio so me and my housemates can listen to music. For times when no one wants to hear my “mixes” then it also has iTunes running with my entire collection of music so they can all choose the songs they want to hear. I also have Remote Desktop services running so I can fully control the system from another computer or remotely if I’m away from the house.
E-mail isn’t a terribly demanding thing and I run a small version on my server for testing so again it really doesn’t need much.