There are two flavors of Personal Movie Servers. You can either have it "on-the-grid" or "off-the-grid". In fact, you can even make a blend of the two. I'll explain each individually below:
On "Off-The-Grid" movie server is one that exists solely on your home network and is not accessible from the outside world. This way, you don't have to worry so much about password protecting your files, or having the MPAA or the FBI knock on your door to request an audit of all your movies you've posted on the internet. In order to set up a closed system movie server, you really only need two things:
1. Front-end device, such as a small PC, a modded xbox, a laptop, etc.
2. Back-end device: PC w/ HDD.
You can sometimes mesh the two together if you want, but I have always liked having them split up. The following is the setup of my system:
For the frontend, I have a soft-modded Original Xbox with Xbox Media Center (XBMC). The software is free, and you only really need an exploit disk and a way to move some files from your PC to your Xbox before the mod (I bought one of those cables that allows you to connect an Xbox memory card to your computer). I'll write up a detailed guide for installing XBMC at a later date. The frontend is then connected to my home network.
For the backend, I have an old (OLD!) HP Vectra running Windows XP and Xserver (used to deliever content to the Xbox). This piece of crap sits in my closet and is always on. I connected an external 250Gb HDD via USB, which is where I keep all my .avi movie files. Once all the configuration is done, its really easy to sync the files on the Vectra with the Xbox frontend. XBMC even downloads the latest info from IMDB, like cast, director, year, a plot synopsis, and even the DVD cover.
Now all I have to do is turn on the Xbox, and I have a library of all my DVD movies sitting in front of me.
This version of the setup can be started after you've already built the Off-the-grid version if you like, or it can be setup from scratch. You don't need a frontend, just a backend. For this, you'll have to have a static IP address (or a DynDNS account, which is free). You simply point the DynDNS account to a webpage that lists all the links to your movies. I had a pretty cool setup with a searchable database of plot synopsis, run time, etc. The only problem was that for movies of considerable size (which is most movies if they are in .avi), the buffer time was too long to be functional. On the occasions that it DID work, it was awesome. My Vectra served as the backend, and I could watch Casino Royale from Nashville simply by pointing my web browser to my static IP page. It was a pretty slick setup.
I'll post an in-depth HOW TO in a few days, this was just to get everyone inspired.