É muito simples hospedar mais de um site em um mesmo servidor, vou mostrar como configurar o vhost (Virtual Host) para hospedar diversos sites em um único servidor, isso é muito conveniente pois iremos utilizar um único IP para quantos domínios desejarmos.
Neste exemplo estou utilizando debian em sua versão estável atual (squeeze), Caso não saiba como instalar o apache no debian verifique esse post .
Neste exemplo irei configurar dois domínios meusite.com.br e meusite.net onde cada um terá seu conteúdo independente com um DocumentRoot próprio ou seja cada domínio irá apontar para uma pasta específica no sistema com seu respectivo conteúdo.
Com o apache já instalado, vamos iniciar a configuração primeiramente crie o diretório raíz de cada domínio (DocumentRoot). Normalmente os arquivos do domínio ficam em /var/www dentro de suas respectivas pastas, irei utilizar esse diretório neste exemplo com as pastas /var/www/meusite.com.br e /var/www/meusite.net , porém nada impede a utilização de outro diretório como /home/user/www por exemplo.
Crie os diretórios para os domínios que deseja utilizar
Crie também um diretório para armazenar os logs de cada domínio, normalmente o diretório de logs é criado dentro do próprio diretório raíz do domínio, porém nada impede que crie o diretório de log em outro local.
Caso deseje executar scripts python, perl crie também a pasta cgi-bin
Após a criação dos diretórios iremos configurar o Virtual Host.
O Apache 2 no debian possui dois diretórios de configuração, o /etc/apache2/sites-available que possuí os domínios disponíveis no servidor e o /etc/apache2/sites-enabled que possuí os domínios habilitados.
Em outras palavras em /etc/apache2/sites-available está a configuração do domínio onde configuramos o VirtualHost em si porém mesmo que vhost exista dentro desta pasta não significa que o domínio está habilitado e disponível para ser acessado, primeiramente devemos criar um link simbólico da configuração deste domínio em /etc/apache2/sites-enabled.
Para efetuar o procedimento da criação do link simbólico o apache no debian possuí dois comandos para esse propósito, o a2ensite (apache2 enable site) e o a2dissite (apache2 disable site) para habilitar e desabilitar o site respectivamente.
Agora vamos criar os Virtual Hosts, utilizarei como exemplo o nome dos próprios domínios mas isso não é uma regra.
Adicione o seguinte conteúdo:
<VirtualHost *:80> #Caso deseje utilizar um ip fixo adicione no lugar do *
ServerAdmin admin@meusite.com.br # ou outro e-mail que desejar
ServerName www.meusite.com.br
ServerAlias meusite.com.br
DocumentRoot /var/www/meusite.com.br #ou outro local que desejar
#Caso tenha criado a pasta cgi-bin descomente as linhas abaixo
#ScriptAlias /cgi-bin/ /var/www/meusite.com.br/cgi-bin/
#<Location /cgi-bin/>
#Options +ExecCGI
#</Location>
ErrorLog /var/www/logs/error.log
CustomLog /var/www/logs/access.log combined
</VirtualHost>
Agora a configuração do meusite.net
#Caso tenha criado a pasta cgi-bin descomente as linhas abaixo
#ScriptAlias /cgi-bin/ /var/www/meusite.net/cgi-bin/
#<Location /cgi-bin/>
#Options +ExecCGI
#</Location>
Agora que os vhosts estão criados vamos habilitar os domínios com o comando a2ensite para cirar o link simbólico do vhost em /etc/apache2/sites-enabled a sintaxe para utilização é simples: a2ensite mais o nome do arquivo criado em /etc/apache2/sites-available.
Agora basta efetuar o reload no apache com o comando abaixo:
Caso tenha feito tudo corretamente os domínios já estarão funcionando, você pode efetuar um teste criando um arquivo index.html dentro de cada diretório raíz dos domínios com conteúdos distintos para verificar se estão funcionando corretamente.
Para maiores informações sobre a configuração do Virtual Host aconselho a leitura da documentação oficial aqui.