How to create multi sites I have just started to learn Drupal. So, I apologize to ask such a silly question here.

I wanted to create multi sites in Drupal. I have unlimited access to create Subdomains, Parked Domains, Addon Domains, Email Accounts and All SQl Databases with my hosting provider.

I wanted to create total 4 websites.


One that I have already created just to play and learn drupal with just Basic Structure and layout. 


Rest of the three websites should have same layout and theme but different layout and theme then what I have already created called Basic Structure.

So, theses three purposes should have Same Theme and Same layout with Different Databses with Same User Names and Password.


One for Development purposes, 
One for Staging purpose and
One for Clients Editing purpose (where client can play with our mock-up website for their content editing purpose). 


I have read lots of reviews and steps to create multi sites in Drupal. Everyone explained it nicely in different ways. And I tried all the different ways to make it work. So, by trying and doing all those, I have messed up everything. 

So, now I wanted to create again from beginning. 
Can anyone help me with that? Can any one provide steps to how to create multi site in Drupal? I am just beginner for Drupal. So, can anyone please explain the steps in detail?

Also, What is the best practice to create multi sites? With Parked Domain or with Sub Domain?

Thanks for your help!
If the only purpose is to have a a dev/test/live environment, you should just go with a service like Pantheon which provides all of those for you with an ease of maintenance.

If you want to host it yourself, here's the gist of what you do...


Make sure you only have one Drupal root. Can't stress this enough. If possible, also be on version control (git) as this will help immensely.
Create 4 separate MySQL databases. Would go with a naming convention of like CODE_dev, CODE_test, etc.
Inside of your sites directory, create 4 directories, each with their own settings.php and files directory. You can name them whatever, just keep it consistent for ease of use. ie, dev.example, test.example, etc. Add their database credentials to their settings file.
In your sites directory, you will create a file called sites.php. In there, you will assign a directory name to a URL. So if you used dev.example as the name of your development site directory, and your subdirectory URL looks like dev.example.com, the format will look like this:

$sites['dev.example.com'] = 'dev.example';

Do that for each directory/site.
In your registrar for your DNS settings, point all of the subdirectories to the same IP or path as the top level domain (example.com), which should be the Drupal root directory. From there, Drupal will take care of the rest.


I think that's it, but anyone feel free to correct me. As far as the themes go, put it in sites/all/themes so all sites will have access to them. If you want a site to only have access to a specific theme/module, put it in THAT site folder. 

For example: sites/dev.example/themes/THEMENAME