Don't know much about servers but I'm pretty sure buying MS Server is unnecessary-plenty of Linux distros that will do the job just as well and usually better
Check out FreeNAS, been a while since I last used it but I seem to remember it being pretty versatile. It should handle everything (with very low performance requirements) on your list apart form webserver, I think that requires a plugin...