--- Tomcat Update|ReDeployment---


============================================
BANNER Tomcat Upgrades: apache-tomcat-8.5.69
============================================

To be completed on:
-------------------
development: banappt3, banappt4, banappt5, banappt6
 production: banapp3, banapp4, banapp5, banapp6

OpenSSL:
--------
sudo -i
cd /usr/local/src/SSL
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
gtar zxf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k
./config --prefix=/usr/local
gmake && gmake install
exit

NOW BACK AS ORACLE


Tomcat:
-------
1. #-- Download Tomcat distro (complete once per server; steps 1 thru 3)
cd /u01/app/apache/tomcat/dist
wget https://ftp.wayne.edu/apache/tomcat/tomcat-8/v8.5.69/bin/apache-tomcat-8.5.69.tar.gz

2. #-- unpack file
gtar zxvf apache-tomcat-8.5.69.tar.gz

3. #-- build and deploy the tomcat ajp module
export CATALINA_HOME=/u01/app/apache/tomcat/dist/apache-tomcat-8.5.69
export JAVA_HOME=/usr/lib/jvm/java
export ANT_HOME=/u01/app/apache/ant
export ANT_OPTS=-Dbuild.sysclasspath=ignore

echo $CATALINA_HOME 
echo $JAVA_HOME 
echo $ANT_HOME 
echo $ANT_OPTS 

cd $CATALINA_HOME/bin
mkdir src
cd src
tar zxf ../tomcat-native.tar.gz
cd tomcat-native-1.2.*-src
$ANT_HOME/bin/ant
cd native
make clean
./configure --with-apr=/usr/bin/apr-1-config --with-java-home=$JAVA_HOME --with-ssl=/usr/local --prefix=$CATALINA_HOME
make
make install
export CATALINA_NEW_HOME=$CATALINA_HOME
unset CATALINA_HOME
unset JAVA_HOME
unset ANT_HOME
unset ANT_OPTS

===================================================================================
Migrate apache_tomcat_? where ? is a substitute for 1,2,3,etcetera to the new disto
===================================================================================
#-- Tomcat home directories
cd /u01/app/apache

#-- Tomcat application server ? home
cd apache_tomcat_$

#-- update setenv.sh 
cp -rp bin/setenv.sh bin/setenv.sh.new
cp -rp bin/setenv.sh bin/setenv.sh.last
grep 'CATALINA_HOME=' bin/setenv.sh.new
perl -pi -e 's|(CATALINA_HOME)=.*|\1='$CATALINA_NEW_HOME'|' \
bin/setenv.sh.new
diff -Naur bin/setenv.sh bin/setenv.sh.new
#-- update server.xml
cp -rp conf/server.xml conf/server.xml.new
cp -rp conf/server.xml conf/server.xml.last
egrep 'bufferSize|maxHttpHeaderSize|compression|compressableMimeType' conf/server.xml.new

perl -pi -e 's/(bufferSize="\S*"[ ]?)//; s/(maxHttpHeaderSize="\S*"[ ]?)//; s/(compression="\S*"[ ]?)//; s/(compressableMimeType="\S*"[ ]?)//' conf/server.xml.new

#-- set secretRequired if missing
grep -qs 'secretRequired' conf/server.xml.new || \
sed -i '/maxThreads/s/\(.*\)/\1 secretRequired="false"/' \
conf/server.xml.new
diff -Naur conf/server.xml conf/server.xml.new

#-- replace catalina.sh
cp -rp bin/catalina.sh bin/catalina.sh.last
cp -rp $CATALINA_NEW_HOME/bin/catalina.sh  bin/

#-- replace tomcat-juli.jar
cp -rp bin/tomcat-juli.jar bin/tomcat-juli.jar.last
cp -rp $CATALINA_NEW_HOME/bin/tomcat-juli.jar bin/

#-- check setenv.sh.new for errors and install it
cp -rp bin/setenv.sh.new bin/setenv.sh

#-- check server.xml for errors and install it
cp -rp conf/server.xml.new conf/server.xml

#-- remove any old lib.* folders
rm -rf lib.*

#-- configure lib folder and add Oracle libraries
mv lib/ lib.last
cp -rp $CATALINA_NEW_HOME/lib .
cp -rp lib.last/ucp.jar lib/
cp -rp lib.last/ojdbc8.jar lib/
cp -rp lib.last/xdb6.jar lib/

#-- add optional Hazelcast libraries and configuration files (may not exist)
cp -r lib.last/hazelcast* lib/

#-- unset environment variable
unset CATALINA_HOME
unset CATALINA_NEW_HOME

#-- check configuration (fix any errors)  #if this fails stop and start ./bin/catalina.sh and retry
./bin/catalina.sh configtest

#-- disable tomcat status cron job
The user is "oracle"; comment the highlighted line.

[oracle@banappt5 ~]$ crontab -l
5 */1 * * * /u01/app/admin/tools/startup/start_stop.shl status >/dev/null 2>&1
?

#-- stop Tomcat instance
./bin/catalina.sh stop 10 -force
./bin/catalina.sh stop

#-- terminate pid (ps -ef | grep apache_tomcat_1)
kill -9 $(ps -ef | grep $(basename $(pwd)) | grep -v grep | awk '{print $2}')

#-- remove old log folders
rm -rf logs.*

#-- start Tomcat
./bin/catalina.sh start

#-- enable tomcat status cron job
The user is "oracle"; comment the highlighted line.

[oracle@banappt5 ~]$ crontab -l
5 */1 * * * /u01/app/admin/tools/startup/start_stop.shl status >/dev/null 2>&1
?
===========================================================

#-- reverse/rollback changes
cd /u01/apache_tomcat_? -- where ? is in the range of 1 through 9
cp -rp conf/server.xml.last conf/server.xml
cp -rp bin/setenv.sh.last bin/setenv.sh
cp -rp bin/tomcat-juli.jar.last bin/tomcat-juli.jar
cp -rp bin/catalina.sh.last bin/catalina.sh
mv lib lib.obsolete
mv lib.last lib/
#-- stop and start Tomcat instance
./bin/catalina.sh stop 10 -force
./bin/catalina.sh stop
kill -9 $(ps -ef | grep $(basename $(pwd)) | grep -v grep | awk '{print $2}')
./bin/catalina.sh start






Valid HTML 4.0 Transitional