I have been asked and seen some recent posts on folks having trouble setting up Drupal multisites on their shared hosting, specifically Dreamhost, Bluehost, etc. I figured it might be worth giving the basics for any hosting on how to get Drupal multisites to work.
Most ISP/hosting companies allow you to host multiple websites on a single account. Either separate as domains or "subdomains", you can host multiple websites on your account. Traditionally, two separate websites are served from separate directories. When two addresses point to the same directory (or in Apache httpd-speak) share a single DocumentRoot the websites serve the same files.
However, with Drupal multisites, this is exactly what happens and we want the same files to be served. Drupal's multisite capabilities happen within those files.
So the best thing you can do is to set up your first Drupal site as per the host's instructions. Then for the second site, don't set up a fully hosted subdomain. You want to set up the second domain as a "mirrored" domain (Dreamhost) or a "parked" domain (Bluehost).
You can set up multiple databases on either of these hosts as well, so don't reuse the same database for each multisite, you want to use separate databases.
In Dreamhost, visit your "Domains" secion and choose "Add New Domain / Sub-Domain". Skip the "Fully hosted" section and go straight to the "Mirrored" section. Fill in the name of your new domain/subdomain and then choose the original Drupal site from the drop down list.
In your Drupal web folder, create a sites/newdomain.mydomain.com (substituting your real domain/subdomain) and then copy the default.settings.php into that directory as settings.php. Now you should be able to visit http://newdomain.mydomain.com/install.php and proceed as a normal Drupal installation.