Now on to how to actually create the domain, join computers to it, and create user accounts. As mentioned the key point to a domain is a domain controller running Active Directory (for a modern Windows domain anyway). There are ways to create a domain using Linux or Unix, but that is even more complex than this and beyond what most avergae small scale users would want to do. So we will need to pick out a server that can run Windows Server 2003. There are actually a few different versions of this, which can be looked into on the Microsoft website. I would tend to recommend Small Business Server 20003 for most users that have a need for a dmoain and are not just learning and doing this for the experience of it. It comes bundled with Exchange Server too so it is pretty good for setting up mail and other small business needs. If you are jus interested in doing this as a learning experience then MS actually offers a free 120 day trial for download.
Now that we have the software we need to decide what kind of PC we will be installing it on. Now a true server is a huge thing that is extremely expensive, and I doubt most people would want/need this thing around. Servers are actually built of multiple computers and kept in racks that are 6' or so tall. The racks alone can be in the thousands of dollars. So we will look to an alternative solution, luckily there are plenty of good ones. It might suprise some people but a server doesn't actually need to be all that powerful of a computer. It does however need a lot of RAM and good hard drive speeds. This is why almost every true server you will see will have RAID arrays of SCSI hard drives and plenty of RAM. Unfortunately SCSI and RAID are also very expensive, and complex to setup, and probably also unecessary for most smaller networks. A good solution is basically any fairly modern PC with SATA drives. These would perform more than adequately for a small domain. If you want a true experience then look for used older servers with SCSI and RAID all included. I run a domain of about 10 computers off of an old 500MHz Pentium 3 server with SCSI and RAID, which actually has slower read times than my SATA drives without RAID. Bottom line is that for a smaller network the server doesn't need to be a stellar performer, just make sure it has plenty of RAM and hard drive space.
The next step would be to install the server OS onto the server. I will assume here that most of us have done an install of Windows at some point, and luckily the server editions are not all that different. There are a few more steps, and a few different options, but it is all basically self explanitory and should be easy enough to follow. Notice however that you won't be able to create an actual domain at this point, that is done once the server is up and running.
Once Windows server is installed you will need to make a few different steps than a typical Windows install. You will want to make sure to use a static IP address, as a server that changes its IP is pretty worthless. Right click on My Network Places and choose properties, and from the list of available connections choose your LAN connection. Again right click and choose properites, and then TCP/IP, and click the properties button. Here is where you will need to enter the IP information that is specific to your network. The default gateway should be the IP of your router, and the DNS serevr the IP of the server you are setting up.
Now you can do Windows Update, and will probably need to reboot at least once. Now you can start configuring your server to act as a server.