Wildcard DNS no WHM/cPanel [Atualizado]

Wildcard DNS (DNS curinga, tradução livre) é uma forma de poder manipular subdomíos (ou domínios, por que não?) de forma dinâmica.  Ou melhor, segundo a wikipédia, é um registro em uma zona DNS que irá responder por nomes de domínios que não existem. Este é o método usado pelo wordpress-mu para criar novos blogs em subdomínios sem alterar a configuração do apache. Você pode ver isto em ação na página do wordpress.com, blogger ou o antigo site foipreso.com (lembrava deste?).

Se você tem acesso às configurações de um servidor DNS como o BIND, pode adicionar uma entrada wildcard em seu domínio — Como explicado no post do Matt Mullenweg.  Caso contrário, se você utiliza os seviços de uma empresa de hospedagem que disponibiliza o cPanel, acesse o cPanel de sua conta, clique na opção “subdomínios” em seu painel e adicione um novo subdomínio com valor “*”. Ou seja, o endereço completo será: *.seudominio.com.

cPanel-X_1245763031383

O caminho (valor em document root) que você configurar para seu subdomínio irá tratar suas requisições com o wildcard. Para testar, crie um arquivo index.php (se estiver usando PHP no seu servidor) no document root do subdomínio criado, com o seguinte conteúdo:

<?php
print_r($_SERVER);

Digite no seu browser algo como: umnomequalquer.seudominio.com. Dentre os resultados, você verá que a chave SERVER_NAME terá o valor completo do endereço que você digitou. Se tudo deu certo, seu subdomínio está pronto para usar. Com ele você pode apresentar a página do usuário de acordo com a URL, chamar conteúdo do banco de dados, fazer a chamadas a métodos do seu framework , fazer uma página 404 interna, etc. As possibilidades são infinitas.

04/11/2009 - Atualização: Como comentado pelo Victor Teixeira, não é necessário editar as zonas de DNS no WHM. Isto é feito automaticamente quando um novo subdomínio é adicionado. Removi a parte do post referente a isto. Obrigado Victor :-)