On 16/05/2017 17:18, Igal @ Lucee.org wrote:
On 5/16/2017 8:27 AM, Kreuser, Peter wrote:

I'd say a more robust (and the documented way) is to use a Tomcat-Home directory and a Tomcat-Base Directory.

$CATALINA_HOME holds the actual distributed Tomcat-"Binaries" (ZIP/TGZ),
$CATALINA_BASE holds your adapted config, libs and webapps.

This way you can just exchange the CATALINA_HOME with a new version (say 8.5.15) and restart Tomcat. In case there are differences in configs between versions, adapt your conf using https://tomcat.apache.org/migration-85.html#Tomcat_8.5.x_configuration_file_differences

I agree that separating the CATALINA_HOME from CATALINA_BASE is a much better setup, but if Tomcat was not set up like that already then for a minor upgrade this complicates the process.

The simplest way to upgrade is the one I documented.

That simple approach is incomplete. It assumes that:
a) the JARs in $CATALINA_HOME/bin haven't changed
b) the names of the JARs in $CATALINA_HOME/lib haven't changed
c) no configuration changes are required.

a) sometimes happens

b) happens when the JDT compiler is updated

c) can be checked via the migration guides

Mark


Well, I just upgraded my servers from Tomcat 8..5.12 to 8.5.14. The complex way is to create a new tomcat directory for the new version, then rename webapps to webapps.orig and create a new webapps directory to hold my war files. Then compare all the config files and make appropriate changes to the stock config files, then test. This takes a while.

So for the minor change from 12 to 14, I decided to try a new way. On my windows devel box, I unzipped a new download of 12 and a new download of 14 into their own new directories, then compared all the files in both (yay for the ancient program "windiff"). I then built a batch file to copy only the changed files and tested this. Once satisfied, I built a shell script to make the same changes on my devel unix server, and tested this. Once I was sure it worked without any problems, I ported the script (and virgin 8.5.14 directory) to my production servers. On scheduled maintenance I shut down each tomcat 12, ran the script and then restarted tomcat. All worked perfectly.

Here's the file changes from 8.5.12 to 8.5.14, no including the changes to "webapps" which I don't use:

#!/bin/sh
#
# update files in tomcat 8.5.12 to 8.5.14
#
# when done, rename apache-tomcat-8.5.12 to apache-tomcat-8.5.14
# then fix the symbolic link and restart tomcat
#

cp ./apache-tomcat-8.5.14/RELEASE-NOTES ../apps/apache-tomcat-8.5.12
cp ./apache-tomcat-8.5.14/bin/bootstrap.jar ../apps/apache-tomcat-8.5.12/bin cp ./apache-tomcat-8.5.14/bin/tomcat-juli.jar ../apps/apache-tomcat-8.5.12/bin cp ./apache-tomcat-8.5.14/lib/annotations-api.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/catalina-ant.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/catalina-ha.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/catalina-storeconfig.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/catalina-tribes.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/catalina.jar ../apps/apache-tomcat-8.5.12/lib
cp ./apache-tomcat-8.5.14/lib/el-api.jar ../apps/apache-tomcat-8.5.12/lib
cp ./apache-tomcat-8.5.14/lib/jasper-el.jar ../apps/apache-tomcat-8.5.12/lib
cp ./apache-tomcat-8.5.14/lib/jasper.jar ../apps/apache-tomcat-8.5.12/lib
cp ./apache-tomcat-8.5.14/lib/jaspic-api.jar ../apps/apache-tomcat-8.5.12/lib
cp ./apache-tomcat-8.5.14/lib/jsp-api.jar ../apps/apache-tomcat-8.5.12/lib
cp ./apache-tomcat-8.5.14/lib/servlet-api.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/tomcat-api.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/tomcat-coyote.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/tomcat-dbcp.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/tomcat-i18n-es.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/tomcat-i18n-fr.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/tomcat-i18n-ja.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/tomcat-jdbc.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/tomcat-jni.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/tomcat-util-scan.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/tomcat-util.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/tomcat-websocket.jar ../apps/apache-tomcat-8.5.12/lib cp ./apache-tomcat-8.5.14/lib/websocket-api.jar ../apps/apache-tomcat-8.5.12/lib



---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

Reply via email to