CATALINA_HOME vs CATALINA_BASE
Se você estiver executando várias instâncias, precisará das duas variáveis, caso contrário apenas CATALINA_HOME.
Em outras palavras: CATALINA_HOMEé obrigatório e CATALINA_BASEé opcional.
CATALINA_HOME representa a raiz da sua instalação do Tomcat.
Opcionalmente, o Tomcat pode ser configurado para várias instâncias, definindo $CATALINA_BASEpara cada instância. Se várias instâncias não estiverem configuradas, $CATALINA_BASEé o mesmo que $CATALINA_HOME.
Veja: Apache Tomcat 7 - Introdução
Executando com separado CATALINA_HOMEe CATALINA_BASEestá documentado em RUNNING.txt, que diz:
As variáveis de ambiente CATALINA_HOMEe CATALINA_BASEsão usadas para especificar o local do Apache Tomcat e o local da sua configuração ativa, respectivamente.
Você não pode configurar CATALINA_HOMEe CATALINA_BASEvariáveis no
setenvscript, porque elas são usadas para encontrar esse arquivo.
Por exemplo:
(4.1) O Tomcat pode ser iniciado executando um dos seguintes comandos:
%CATALINA_HOME%\bin\startup.bat (Windows)
$CATALINA_HOME/bin/startup.sh (Unix)
ou
%CATALINA_HOME%\bin\catalina.bat start (Windows)
$CATALINA_HOME/bin/catalina.sh start (Unix)
Várias instâncias do Tomcat
Em muitas circunstâncias, é desejável ter uma única cópia de uma distribuição binária do Tomcat compartilhada entre vários usuários no mesmo servidor. Para tornar isso possível, você pode definir a CATALINA_BASE
variável de ambiente para o diretório que contém os arquivos para sua instância 'pessoal' do Tomcat.
Ao executar com um CATALINA_HOMEe separado CATALINA_BASE, os arquivos e diretórios são divididos da seguinte maneira:
Em CATALINA_BASE:
bin - Apenas: setenv.sh (* nix) ou setenv.bat (Windows), tomcat-juli.jar
conf - Arquivos de configuração do servidor (incluindo server.xml)
lib - Bibliotecas e classes, conforme explicado abaixo
logs - Arquivos de log e saída
webapps - Aplicativos da web carregados automaticamente
work - Diretórios de trabalho temporários para aplicativos da web
temp - Diretório usado pela JVM para arquivos temporários>
Em CATALINA_HOME:
bin - Scripts de inicialização e desligamento
lib - Bibliotecas e classes, conforme explicado abaixo
endorsed- Bibliotecas que substituem os "padrões endossados" padrão. Por padrão, está ausente.
Como verificar
A maneira mais fácil de verificar o que é seu CATALINA_BASEe CATALINA_HOMEexecutando startup.sh, por exemplo:
$ /usr/share/tomcat7/bin/startup.sh
Using CATALINA_BASE: /usr/share/tomcat7
Using CATALINA_HOME: /usr/share/tomcat7
Você também pode verificar onde os arquivos do Tomcat estão instalados, por dpkgferramenta como abaixo (Debian / Ubuntu):
dpkg -L tomcat7-common