I host many dnn websites and can give you a couple of pointers here.
Firstly - Only use solid releases of builds - eg.. 3.1.1>> 3.2.2 DNN4 is still not quite a commercial release yet with AspNet2 still being fine tuned as well and you need to have it installed to run.
Find out from your clients what they want to do - EG.. I have a domain where I have many child portals. http://www.ssav.com.au is sitting on the same build as http://www.hibiscuswarehouse.com.au - eg.. 1 Database but each customer with their own portal.
I have a wildcard entry in the DNS setting of the primary domain. This means when I set it up, it's easy to manage and configure.
I use the portal not child setup in the host/portals setting. If you use it this way with your wildcard setup in the dns entry it also keeps the folder structure of dnn clean. And I will explain this also.
If you have an IP dedicated to this wildcard dn entry and use the hostheaders correctly - the site will appear without even touching the IIS entry. (This is think is very handy for mainatence)
It means that you can create a single code base - let's called http://www.portalholder.com - and you've decided that 3 customers who aren't using much traffic, can go on to this codebase.
You would create the site as normal using your portalholder domain, which has a wildcard entry in the DNS so theoritically - yada.portalholder.com and hello.portalholder.com would dispay the www.portalholder.com url since there isn't any site defined yet and the hostheaders and IP point that folder and the wildcard entry points it back to that installed folder. (I hope this is making sense so far)
Then, you log in as host on your www.portalholder.com domain and normally I go to the Host/Portal settings and you'll see www.portalholder.com sitting there and you can edit that portal and add the portaholder.com address so that even http://portalholder.com url works. And it is a good start to learn how you can add different addresses to this url when in test and development mode.(but that's getting sidetracked -this was to show you where to change the portal settings)
Now you have a site running, you can then start adding *children* Or *child portals* whatever you like to call it.
I will explain the differences between child portals and portals that sit in the host/portals setting when you want to add another site. When you go to add another site you have two options.. You can add a portal or a child but reall what it's saying is - do you want the page to look like this -
http://www.portalholder.com/child (which is the Child Portal Choice) OR
http://child.portalholder.com (which is the Portal choice) - both using the same name but it's referenced differently.
I recommend and always have recommended the Portal choice - and if your wild card reference is setup, then it's going to be instant - so you can be talking on phone to client, log in to your portal, and literally create their site on the spot - they get an email to log in as administrator and you also get an email telling them their site is setup.
If you choose the Child Portal Choice you might run into some problems if your settings are using the virtual directory format (that's what I've been told but don't run my servers that way)
The other downfall to using the childportal choice is that dnn then creates a folder in the root directory of the same name - so you would see a *child* folder sitting in the root directory and in there a default.aspx page. Now this is fine, but I find if you delete a portal - that folder is sitting there and it's another thing to remember to delete.
Depending upong your host settings you can have a few extra modules installed for some clients, but not let others see them and it's easy to configure this - Simply go into your host / module definitions page, scroll down to the module that you want to hide (for me it's ususally the discussions and xsl modules) click on the module and you'll see *premium* sitting there. You can check that box and when it refreshes, you can choose which child portals have access to it. If you users want to have this module, they can see a list of the modules when they are logged in as administrator, in the admin/settings page, scrolling down and there is a list of premium modules which they can check to install and it does something with contacting you I think (not explored this so much yet since I'm looking for convience in management here)
You can control the skin management here as well in the host settings by allowing only host to upload skins. That means they cannot upload skins unless they are logged in as host. If you want to upload skins for them, simply go to their portal/url and log in as host, then go to their admin/settings and upload the skins - then it will go directly to their portal. You see you're logged in as host so you will see everything all the time - you simply need to know where to go with confidence, knowing you are in fact on their portal doing a task. What this means is that they only see the skins you have installed for them. Most of my clients know what I do, but they don't understand it, they don't want to see lots of skins and containers - they just want their site and the skin I applied for them and to do their job.
Now back to the Portal - your client - you've chosen a portal name for them, and it's the widget company - so your portal install would be a Portal and the name would be - widgets.portalcompany.com - don't use the http but remember to use the full url extension - eg.. add portalcompany.com to the name. And ususally I choose the minimal template - it just puts in a home page. Then, your clients details (remember you must use passwords with more than 4 letters in it) and then wait while the portal is created. If it's the first - then you'll probably see that it's it's called 1, look in the folder and you'll see a folder called 1 with just the default.css file in it. And as you add more portals it's numerically incremented.
You can choose to add your own references - eg.. client name but I just keep it all standard - and have offline management of it.
If your client has a live domain that's ready to use - you can simply add the URL in the admin/settings/ scroll down the page and click the pencil and add it. For me, I never choose to bravely put in the full url - I always always put in the subdomain/child adress first - because I know it's going to work.
So there is a quick snapshot on how I setup and manage the sites - there are lots of other great benefits and it's easy to manage certain groups of clients together using different portals.
Hope this gives you an insight.
Nina Meiers