Share and update the structure (content types, vocabularies/tags, views, rules, …) for several sites I want to start a Drupal 7 site, and it’s likely that in the future I need to run several other sites that should share the same modules, theme, configuration, content types, vocabularies and tags, views, rules, …. Apart from created nodes and things like the site name, they should be 100% copies, i.e., all changes should be applied to all current as well as all future sites.

It doesn’t matter if the userbase is shared or not. If it matters, all sites share the same second-level domain, i.e., every site has a subdomain.

As I start with only one site, I could make all changes to the structure (e.g., to node types or tags) right at this place. But as soon as there are two sites, I don’t want to have to replicate all changes for all sites.

How could I achieve this?

As far as I understand, the multi-site functionality would help with modules, but not with configuration or content types or vocabularies/tags, correct?

Should I create a custom distribution? Whenever I want to change something, I can change it in the distribution first and then automagically update it on all sites (without losing the already created content)?

Or should I use one site and, somehow (how?), divide the content into areas/sections so that it only appears on specific sub domains?

Or is there another way?
We use the domain access module, https://drupal.org/project/domain

Everything is or can be shared on the multiple sites ... we choose to have different themes for each domain and we only have a few nodes that are common to multiple sites, most of our nodes are only on one site, but the content types and taxonomies and blocks and views are shared. 

There are some current domain views filters that allow exactly the same view to be used on multiple sites but show different content on each.

It is working really well for us, our only issues are that


There are some reports that combine all domains when we would like to have them separate (e.g. ubercart)
Users have to login to each site separately
All relative path links are rewritten to the correct domain automatically but if someone for some reason requests a path on the wrong domain they are not redirected and they see an access denied message.