I've been pondering the idea of building a home server for a while now. I want linux for development, but I want windows for streaming files (subsonic, plex, etc). So, I figure I can just create an ubuntu server virtual machine using vmware on my windows machine. I probably won't be using windows server, but just either windows xp or 7. Is this viable? I might also want to be able to access the virtual machine from outside of my home network, which is something to consider.
Assuming you have the hardware necessary to run both operating systems at a rate you find acceptable, then you will have no issues.
You will want to use vmware's bridged networking to give the Ubuntu server its own IP on your network. With this in place, you can open up access from the firewall directly to the server.
It's very viable, I have a very similar setup. After you install VMWare and start creating the VM just make sure of two things:
1) Set networking to bridged - this will ensure the Ubuntu will be on the same network as your Windows and not behind another NAT. This will allow for easy file/printer sharing sharing as well as easy setup for remote access from work. All you need to do for that is to setup port forwarding on your home router to the IP the Ubuntu will use. I would also recommend if this is the gall to set it up with a static IP.
2) Ensure an appropriate RAM allocation. You didn't say how much you got available but I would recommend at least 2GB for the XP host and 2GB for the Ubuntu VM since it's going to be your primary dev environment with LAMP stack I assume