I also did mine from scratch. It is a, to painfully put it in incorrect French,
un douleur dans le derriere.
That's why when I decided to put together a
Photoblog and, lately, a
Blog , I used Pixelpost and WordPress, respectively.
I host my own sites. I registered my own domain name(s), and used a free DNS server (there are lots) so I didn't have to pay a ridiculous price to manage my subdomain names.
If you're going to use a host, most of them (the company) can give you a whole hosting package (DNS registration, hosting, administration, etc.)
I suggest that you always look to see, if you're going to go that route (pay a hosting company), to see if they support PHP
and mySQL. That alone gives you flexibility to install a lot of pre-packaged free stuff out there.
This forum, for example, is running on vBulletin (look at the footer). It's all PHP and needs mySQL (which is a database program). WordPress is a blogging software which is coded in PHP and needs mySQL. Setting it up from the get-go to something you want can be frustrating, so expect a bumpy ride.
After all that disjointed info, you may first want to define what you want to do first (see some sites; look around). You don't want to go and purchase some hosting package that gives you lots of features you don't need, or even worse, it lacks what you need or want.
Perhaps you should start there. Gather some sample URLs to see what you want, then share them here, and then we may be able to tell you what can be feasible and/or insanely sophisticated.
Chips Ahoy!