Se você desenvolve há algum tempo com certeza já tem um servidor web instalado em seu pc(se não fica a dica de como instalar no Linux) e deve ter rodando vários sites em desenvolvimento através de uma URL no estilo http://localhost/site1/, http://localhost/site2/, etc. Todos estando dentro de uma pasta /var/www/ ou C:\wamp\www\ dependendo do seu Sistema Operacional, mas o Virtual Host do Apache nos permite ter vários sites rodando em nosso servidor em pastas em lugares diferentes e sendo acessados por uma URL de sua escolha como por exemplo http://www.site1.com.br e seus arquivos estando armazenando em /home/site1/ por exemplo.

A configuração básica é bastante simples, no Debian Squeeze começamos criando um arquivo(pode ser o nome do dominio desejado mesmo) que irá conter a configuração do site na pasta /etc/apache2/sites-available/

/etc/apache2/sites-available/cliente1.com.br

<VirtualHost *:80>
        DocumentRoot /home/cliente1/site/
        ServerName www.cliente1.com.br
 
	<Directory "/home/cliente1/site/">
       		Options Indexes MultiViews FollowSymLinks
       		AllowOverride All
       		Order allow,deny
       		Allow from all
   	</Directory>
</VirtualHost>

Sendo DocumentRoot a pasta onde os arquivos do site estarão e ServerName é a URL de acesso.

Agora criamos um link simbólico para este arquivo na pasta /etc/apache2/sites-enabled/ e reiniciamos o apache.

ln -s /etc/apache2/sites-available/cliente1.com.br /etc/apache2/sites-enabled/cliente1.com.br
 
 /etc/init.d/apache2 restart

Agora o Virtual Host(vhost) está configurado, mas se você tentar acessar o domínio www.cliente1.com.br o seu S.O. tentará resolver o DNS através do servidor de DNS configurado, se o domínio existir será mostrado o site que esta na hospedagem e não na sua máquina, então temos que configurar o computador que irá acessar para associar ao domínio o ip do seu servidor e não tentar resolver o DNS por meios normais, isto é feito através do arquivo hosts, no linux ele é encontrado em /etc/hosts e acrescentamos a seguinte linha:

127.0.0.1 www.cliente1.com.br

Pronto agora podemos acessar através do navegador

http://www.cliente1.com.br e ele irá abrir o site do nosso servidor local, só não se esqueça de comentar esta linha quando quiser acessar o site publicado, certo!

Este recurso é uma mão na roda quando trabalhamos com um gerenciador de conteúdo(como o wordpress) que quando é inserida uma imagem por exemplo utiliza o caminho absoluto o que causa alguns problemas quando temos que baixar todo o site para nosso computador para fazer alguma alteração mais profunda(lembre-se não construa aviões em pleno voo) como mudar o template ou fazer alguns teste em plugins e módulos, já que temos que mexer no banco de dados, no .htacess e em um monte de lugares diferentes.

Bom espero que tenha sido útil, T++ !