2017-05-17 12:58 GMT-04:00 Richard Huntrods <huntr...@nucleus.com>:

> 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/migr
>>>> ation-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/l
>> ib
>> 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/l
>> ib
>> 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
>


Maybe a useless comment. However I upgraded from 8.0 to 8.5. I have both a
CATALINA_HOME and CATALINA_BASE and the upgrade was really easy and
summarizes almost entierly in changes for the new configuration syntax in
the server.xml file. Upgrading from a release to another is almost a no
brainer, as well as upgrading to a new Java version.

It may be a little more work to start with to setup two separated filetree,
but on the long run, it pays. I have to maintain and support about 70
instances of Tomcat and a dozen of applications as a sideline job.

-----------------
Daniel Savard

Reply via email to