Esta configuração é necessária quando uma aplicação (ou um site) vai ser acessada diretamente na raiz de um domímio da Internet. Monstraremos passo-a-passo como fazê-la no Tomcat ("gato", para os íntimos).
- Criar um diretório que conterá os diretórios do Domínio. O diretório do domínio pode ser qualquer um, mas por questão de organização sugiro a criação de um que contenha todos os de domínios, que por sua vez conterão suas respectivas aplicações. No exemplo este diretório será chamado de "dominios".
 | Fique atento!
Não esqueça de dar permissão de escrita ao gato quando criar o diretório base das aplicações. Isto é importante para que os arquivos war possam ser descompactados. Acho que não preciso dizer que se não der permissão de leitura também não funcionará. Ou preciso? O_o |
- Criar o diretório que representará o domínio que está sendo configurado. Este também pode receber qualquer nome, mas utilizaremos o mesmo do domínio por questão de organização. No exemplo este diretório será chamado de teste.com (apesar deste domínio existir de verdade. Curioso, não?).
- Configurar o gato para responder ao domínio que está sendo criado. Isto consiste na criação de um novo elemento "Host" no arquivo server.xml ($CATALINA_HOME/conf/server.xml). Para fazer isto basta editar o server.xml adicionando o trecho a seguir imediatamente antes de "</Engine>", no final do arquivo.
<Host name="teste.com" appBase="c:\dominios\teste.com" unpackWARs="true"
autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="diretorioDaAplicacaoPrincipal" reloadable="true"/>
</Host>
Alguns atributos da tag <Host>:
- name: nome do host virtual que está sendo criado. Ou seja, o nome do domínio, conforme registrado no DNS.
- appBase: diretório base para as aplicações que serão disponibilizadas através deste host virtual. Deve ser utilizado o caminho absoluto para o diretório. Uma coisa interessante que ocorre com o diretório informado aqui é que, dependendo do valor dos atributos seguintes, ele terá o mesmo comportamento do webapps do Tomcat. Ou seja, se você colocar um arquivo war dentro dele este war será descompactado e uma nova aplicação ficará acessível pelo respectivo contexto que será gerado, ou se tiver um arquivo xml dentro deste diretório então é porque este arquivo está mapeando um novo contexto (uma nova aplicação web).
- unpackWARs: é a flag onde você indica se o gato deve descompactar ou não os arquivos war.
- autoDeploy: é a flag onde você indica que as aplicações deste host virtual devem ser publicadas automaticamente.
A tag <Context> representa uma aplicação web.
- path: caminho será usado na URL para acessar a aplicação. O caminho informado aqui será utilizado após o nome do domínio. Exemplo: teste.com/enquete. Neste caso enquete é o nome do contexto.
 | No caso do contexto default, ou seja, aquele que é acessado diretamente pelo nome do domínio, o atributo path deve ser vazio. |
- docBase: é o caminho do diretório base do contexto. Ou seja, é o diretório da aplicação web. Aqui pode ser informado simplesmente o caminho relativo ao appBase, ou, se preferir o caminho absoluto.
O que fizemos foi o mapeamento de um domínio (endereço de DNS, que no caso é teste.com) com uma aplicação JAVA web (que no caso é "diretorioDaAplicacaoPrincipal"). Desta forma, ao receber uma requisição para teste.com o gato vai entregar para o usuário a aplicação web que está no endereço diretorioDaAplicacaoPrincipal.
Outras aplicações podem ser instaladas no novo host virtual. Cada aplicação é um contexto (configurado ou não dentro da tag <Host>) e será acessado após o nome do domínio.
- Testar. Para fazer o teste de forma bem rápida, podemos dizer para o SO que o endereço teste.com é o próprio localhost. Para isto basta editar o arquivo hosts adicionado a seguinte linha no final do arquivo:
127.0.0.1 teste.com
 | No Windows o arquivo fica em [driver]:\WINDOWS\system32\drivers\etc.
No Linux geralmente ele fica em /etc.
Não esqueça de retirar esta configuração quando concluir o teste. |
Se tudo tiver dado certo, ao tentar acessar teste.com você será "direcionado" para aplicação informada no docBase da tag <Context>.
Mais informações em: Tomcat 4
e Tomcat 5
.
Gostou da dica? Então deixe seu comentário! 