your gonna need some serious internet connection to run all that.
also would reccomend a gig nic.

as for linux or windows, well it kinda depends on how experinced you are at networking. if you are learning, i would reccomend windows, as it does a suprisingly large amount of the server setup with easy wizards, whereas wiht linux you will be hunting down config files scattred all over the opertaing system (depending slightly on distro).

additionally, most of the easier distros (red hat, mandrake etc) charge money (athlogh not as much as windows) for the server edition of thier os.

i would strongly reccomend dual cpus if the server is typically going to be running all or lots of those tasks at the same time, but you can probably get away with a fast ide raid 5 array (use a decent controller though). for a server like that, i would tend to choose dual slower cpus than a single fast cpu, as niether linux or windows always have particularly intelligent cpu sharing for services in my experinces.

something like a dual athlon mp 1gig should cope with plenty of overhead to spare.
remember that the cheaper hd controller and nic card you buy, the more the cpu gets taxed, so if you get really good controllers and nic then you could run it quite happily with mcuh less powerful cpus.

i haent actually got to windows 2003 yet, sadly i only have 56k to play with while broadband is down but i have used and liked windows 2k adv server.

particualrly if you go with windows, get a large (and i do mean large) amount of ram, as not only is the core os memory hungry, the individual services tend to be less memory efficent.

- a bit disjointed, but i hope it helps anyway