I'm assuming that you succeeded in doing a normal drupal installation
Maybe you want to host 2 completely different sites, for example a blog about your cats and a site about your stamp collection. Or maybe you want to have a test installation where you can try out new modules, themes or content. If you want to have these separated in terms of content and structure but don't feel like doing a separate Drupal install for each subsite, which would have you update the same modules and themes on different installations, you arrive at the Drupal multisite concept.
One Drupal codebase, with differente sites that use it. The main advantage is that you have the Drupal core and custom modules and themes in one place, and you only have to do updates once. Do realize that you might have to run the update script on each subsite that use an updated module to make sure that new versions can do database updates, the databases are after all separate per subsite.
What is the way to get to this? If you want to have several sites run by the same Drupal installation, you have to put them in the 'drupal/sites' folder. I already had a 'main' and 'lageweg' subsite. For this tutorial, I'm creating a 'testsite'. I create the directory with an FTP tool like Filezilla.

I create the folder ‘frankvanhof.nl.testsite’ in drupal/sites. A folder name can't have a slash in it, so replace those with dots. You would think that since the site is called 'testsite' you would name it so, but the drupal name needs to be the complete URL with slashes replaced by dots.
After this, I do the normal things for a Drupal installation; I create a new mysql database and copy default.settings.php from sites/default to sites/frankvanhof.nl.testsite. Then I rename default.settings.php to settings.php and edit the connection information to the new mysql database. I read somewhere that in settings.php you have to uncomment a declaration of $base_url and adapt it in the following way:
$base_url = 'http://www.frankvanhof.nl/testsite';
I haven't done that and it worked, but if you run into problems this is a first thing to try and solve them.
The website should be accessible on http://www.frankvanhof.nl/testsite, but this isn't going to work just yet. The webserver will be looking for a subfolder 'testsite' relative to your web root and it doesn't exist. You need a symlink, symbolic link, so that the webserver knows that requests for 'testsite' should be routed to your Drupal installation. Drupal will then use the 'testsite' settings.php to connect to the correct database and use the themes and code installed in the 'testsite' folder plus those installed in the 'all' folder.
Making a symlink on a shared host is easy with a small php script. Open a PHP editor, or any text edtior, and type the following:
<?php symlink('/home/frank/domains/frankvanhof.nl/public_html/drupal/', '/home/frank/domains/frankvanhof.nl/public_html/testsite'); ?>
The first parameter is the physical path where the request should be sent, i.e. to your drupal installation, the second is the part of the request that should be linked to it.
In my case the drupal installation is in its own subdirectory. This is not the standard, it's actually better to put the Drupal code base into the web root, public_html in most cases.
Save the text file as 'makesymlink.php' and upload it with your FTP client to the root of your webserver, ‘/home/frank/domains/frankvanhof.nl/public_html/’ in my case. Then browse to ‘http://www.frankvanhof.nl/makesymlink.php’. You'll see nothing but the code executes. Now surf to http://www.frankvanhof.nl/testsite and the standard Drupal configuration screens will appear.