Au prix de quelques configurations Tomcat, et suivant les habitudes de chacun, il peut être intéressant de séparer "CATALINA_BASE" (conf) et "CATALINA_HOME" (install Tomcat, binaires,...) pour faciliter les montées de version.

C'est ce qui est expliqué ci-dessous.

Par rapport à une installation classique simple et usuelle où on décompresse l'archive tomcat simplement (sans modification des fichiers de configuration, car tout à fait fonctionnelle telle que donnée par défaut) , cette pratique complexifie toute de même l'installation ; de plus l'arborescence initiale (et classique) du Tomcat est également bouleversée.

La variable CATALINA_HOME doit être valuée, et le chemin"$CATALINA_HOME/bin" (Linux) ou "%CATALINA_HOME%\bin" (Windows) rajouté au PATH :

...
export CATALINA_HOME=<cheminVersHomeTomcat>
export PATH=$PATH:$CATALINA_HOME/bin
...
SET CATALINA_HOME=<cheminVersHomeTomcat>
SET PATH=%PATH%;%CATALINA_HOME%\bin

Cet exemple de scripts permet alors la séparation.

...
export CATALINA_HOME=/usr/local/tomcatexport
export CATALINA_BASE=/opt/tomcat
export CATALINA_TMPDIR=$CATALINA_BASE/temp
export CATALINA_OPTS="-Djavax.net.ssl.trustStore=/path/to/esup.keystore"
export CATALINA_PID=/opt/tomcat/uportal.pid
...
./home/ENT/env.sh
 
HOME=$CATALINA_HOME/..
BASE=$CATALINA_BASE/..
cd $HOME
wget http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.tar.gz
tar -xzf apache-tomcat-6.0.36.tar.gz
ln -s apache-tomcat-6.0.36 tomcat
 
mkdir $CATALINA_BASE
cp -r $CATALINA_HOME/conf $CATALINA_BASE
mkdir $CATALINA_BASE/logs
mkdir $CATALINA_BASE/temp
mkdir $CATALINA_BASE/work
mkdir -p $CATALINA_BASE/shared/lib
mkdir -p $CATALINA_BASE/shared/classes
mkdir -p $CATALINA_BASE/lib
mkdir $CATALINA_BASE/common
ln -s $CATALINA_HOME/lib/ $CATALINA_BASE/common/lib
 
cp $CATALINA_HOME/conf/server.xml $CATALINA_BASE/conf/
cp $CATALINA_HOME/conf/catalina.properties $CATALINA_BASE/conf/
cp $CATALINA_HOME/conf/logging.properties $CATALINA_BASE/conf/
mkdir $BASE/webapps

Les applications sont à déployer dans $BASE/webapps. Adapter les fichiers $CATALINA_BASE/conf/server.xml, $CATALINA_BASE/conf/catalina.properties et $CATALINA_BASE/conf/logging.properties

Par rapport à l'exemple d'installation dans le fichier $CATALINA_BASE/conf/server.xml bien spécifier le bon path des contextes d'application comme ceci :

...
<Context path="/portail" docBase="/opt/webapps/uPortal" reloadable="false" ...>
      <Resource name="jdbc/PortalDb" auth="Container" type="javax.sql.DataSource"
                username="USER" password="PASSWORD"
                driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://database.ip:3306/uPortal4"
                maxActive="100" maxIdle="30" maxWait="10000"
                poolPreparedStatements="true"
                removeAbandoned="true"
                removeAbandonedTimeout="300"
                validationQuery="SELECT 1"
                logAbandoned="true"
      />
      ...
</Context>
 ...

 Lors d'une migration de Tomcat, il suffira de:

!! Attention toutefois lors d'un changement de version majeure !!