De mon côté (VB) je ne trouve pas et n'utilise pas cette façon de faire ...
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é.
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:
- faire un arrêt du Tomcat,
- faire pointer le lien symbolique /usr/local/tomcat vers la nouvelle version des sources tomcat
- puis relancer.
!! Attention toutefois lors d'un changement de version majeure !!