How could I create multiple private sites within one Drupal site? Can I create a Drupal site, where a user, let's call her Jane, can create an account and publish some content, like a few articles. Then create accounts for her friends who can login and view all the nodes she has created, and which they create. At the same time, Paul creates an account, creates some nodes, and invites his friends etc. However, Paul and his friends cannot see Jane's nodes or users - and vice versa. It feels to Jane and Paul that they have there own separate website.

What are the key Drupal concepts or methods for creating a site like this? Thanks.
This seems like a perfect use case for Organic Groups.


  Enable users to create and manage their own 'groups'. Each group can
  have subscribers, and maintains a group home page where subscribers
  communicate amongst themselves.


I'm not going to go in depth with setup or anything, as OG is a beast of a module, but the benefits are immense, and should allow you to do exactly what you need. It's the same module that provides the groups.drupal.org functionality :)

A quick Google search will provide a wealth or information, as will a browse of the organic-groups tag.

Also check these out for a brief overview of OG:


Organic Groups for Drupal 7 (Lullabot)
An Introduction to Organic Groups with Drupal 7 (YouTube/Lullabot/Drupalize.me)