Either via an external web host that usually comes with a monthly or annual fee, or on a computer from home that has been self configured to act as a web server . I personally use an external host, due to home Internet connections being a bit limited if your user base is larger than 1 person.
it should depend what format your web site will be. if its in HTML its would be easy there a lot of free sites or for pay sites, if its dynamic like xml, asp or php there only little who offers free, me i use asphost.
You're joking right? That's easy to setup. It's just a matter of finding a good piece of free hosting software, that supports all known formats ( php, asp ), installing it and configuring it, with a good guide on how to do so. I used to use a piece of software that was as simple as install, drag your website files into a folder, and it was working. However unfortunately I can't recall the name of that now since I've been paying for my external host. So don't make it out to be harder than it is, because if you actually research on google into it, it's not that hard at all.
But yes, firstly, what format is your website saved in? Does it consist of just HTML code? Or does it have any php or asp pages within it? We need to know this before taking any further steps.
I'm not aware of any ISPs that will allow you to do this with a personal account. Corporate account I do, but that's different. That doesn't mean they don't exist, however.
you need OS's that can run a web server , I have seen some of the settings on my old winnt server, it has something like DHCP, and virtual server can be assigned a domain name. I have set it ony for an intranet, i dont know if it works for internet.