バーチャルホストとは、異なるドメインのアクセスを1台の物理マシン内で振り分けるものです。
個人が運用するサーバーのように、アクセス数の多くない場合は、このやり方が簡単で経済的です。
apache2 では、そもそもバーチャルホスト的な設定方法になっておりますから、設定は非常に簡単です。

root@meckk:~# vi /etc/apache2/sites-available/default 
<VirtualHost *:80>
        ServerName yukke-no-kobeya.ddo.jp
        ServerAdmin webmaster@meckk.com

        DocumentRoot /var/www/yukke
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/yukke/>
                Options Includes ExecCGI FollowSymLinks
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
        

root@meckk:~# vi /etc/apache2/sites-available/meckk 
<VirtualHost *:80>
        ServerName meckk.com
        ServerAdmin webmaster@meckk.com
        DocumentRoot /var/www/meckk
        <Directory /var/www/meckk/>
                Options Includes ExecCGI FollowSymLinks
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog /var/log/apache2/meckk.error.log
        CustomLog /var/log/apache2/meckk.access.log combined
        LogLevel warn
</VirtualHost>

root@meckk:~# a2ensite default 
root@meckk:~# a2ensite meckk 
root@meckk:~# /etc/init.d/apache2 restart 

見ての通り、/etc/apache2/sites-available/default の設定の他に /etc/apache2/sites-available/meckk と言う設定ファイルを新たに作成しただけです。
両者の違いは基本的に ServerName だけです。
これで、http://yukke-no-kobeya.ddo.jp/ でアクセスした場合と、http://meckk.com/ でアクセスした場合を切り分けます。
切り分けのファイルは、DocumentRoot で指定します。
http://meckk.com/ と http://www.meckk.com/ の切り分けは、別ファイルに分ける方法と Redirect permanent / http://www.meckk.com のようにリダイレクトを使用する方法があります。
.htaccess ファイルで指定する方法など、多くのサイトの解説があります。(恰好さえ気にしなければ、別ファイルで分けるのが単純で確実です。)

それでは、ServerName で合致しない場合はどうなるのでしょうか。
例えば、http://192.168.1.10/ でアクセスした場合などです。
私が試した限りでは、エラーは発生しなくて、設定してあるどちらかが表示されるようです。
それがどちらかかが、一定しない(頻繁に切り替わると言う意味ではなくて)ようなので、ServerName を記入しないものを作成しておけば、合致しない場合はそちらになるのかと思いましたが、この場合は常に ServerName が記入されていない選択になってしまいました。
どうやら、default のファイルを使用している場合は、該当するものがない場合は、その設定になるようです。
但し、まだまだ知識が浅い状態ですから、それが正しい設定方法かは不明ですので、鵜呑みにしないでください。(ひょっとしたら、ABCD 順とか)

【Tips】
設定ファイルを有効にする場合と無効にする場合のコマンドです。
a2ensite default で、default が有効になります。
a2dissite default で、default が無効になります。
どうやら、apache2 enable(disable)site の略のようです。

この設定を反映させるには、 /etc/init.d/apache2 restart が必要です。(reload でも同じ結果になります)