Browse Source

Add upgrade tomcat

lj2007331@gmail.com 6 years ago
parent
commit
0a8464d8dd
9 changed files with 134 additions and 71 deletions
  1. 2 0
      include/check_download.sh
  2. 1 1
      include/php-7.2.sh
  3. 9 9
      include/tomcat-6.sh
  4. 9 9
      include/tomcat-7.sh
  5. 9 9
      include/tomcat-8.sh
  6. 9 9
      include/tomcat-9.sh
  7. 58 4
      include/upgrade_web.sh
  8. 35 28
      upgrade.sh
  9. 2 2
      versions.txt

+ 2 - 0
include/check_download.sh

@@ -20,6 +20,8 @@ checkDownload() {
   if [ "${web_yn}" == 'y' ]; then
     case "${nginx_option}" in
       1)
+        echo "Download openSSL1.1..."
+        src_url=https://www.openssl.org/source/openssl-${openssl11_ver}.tar.gz && Download_src
         echo "Download nginx..."
         src_url=http://nginx.org/download/nginx-${nginx_ver}.tar.gz && Download_src
         ;;

+ 1 - 1
include/php-7.2.sh

@@ -23,7 +23,7 @@ Install_PHP72() {
   if [ ! -e "${curl_install_dir}/lib/libcurl.la" ]; then
     tar xzf curl-${curl_ver}.tar.gz
     pushd curl-${curl_ver}
-    ./configure --prefix=${curl_install_dir} --with-ssl=${openssl_install_dir}
+    ./configure -Wl,-rpath=${curl_install_dir}/lib --prefix=${curl_install_dir} --with-ssl=${openssl_install_dir}
     make -j ${THREAD} && make install
     popd
     rm -rf curl-${curl_ver}

+ 9 - 9
include/tomcat-6.sh

@@ -36,15 +36,15 @@ Install_Tomcat6() {
   fi
 
   /bin/cp catalina-jmx-remote.jar ${tomcat_install_dir}/lib
-  [ ! -d "${tomcat_install_dir}/lib/catalina" ] &&  mkdir ${tomcat_install_dir}/lib/catalina
-  pushd ${tomcat_install_dir}/lib/catalina
-  jar xf ../catalina.jar
-  sed -i 's@^server.info=.*@server.info=Tomcat@' org/apache/catalina/util/ServerInfo.properties
-  sed -i 's@^server.number=.*@server.number=6@' org/apache/catalina/util/ServerInfo.properties
-  sed -i "s@^server.built=.*@server.built=$(date)@" org/apache/catalina/util/ServerInfo.properties
-  jar cf ../catalina.jar ./*
-  popd
-  rm -rf ${tomcat_install_dir}/lib/catalina
+  #[ ! -d "${tomcat_install_dir}/lib/catalina" ] && mkdir ${tomcat_install_dir}/lib/catalina
+  #pushd ${tomcat_install_dir}/lib/catalina
+  #jar xf ../catalina.jar
+  #sed -i 's@^server.info=.*@server.info=Tomcat@' org/apache/catalina/util/ServerInfo.properties
+  #sed -i 's@^server.number=.*@server.number=6@' org/apache/catalina/util/ServerInfo.properties
+  #sed -i "s@^server.built=.*@server.built=$(date)@" org/apache/catalina/util/ServerInfo.properties
+  #jar cf ../catalina.jar ./*
+  #popd
+  #rm -rf ${tomcat_install_dir}/lib/catalina
 
   pushd ${tomcat_install_dir}/bin
   tar xzf tomcat-native.tar.gz

+ 9 - 9
include/tomcat-7.sh

@@ -36,15 +36,15 @@ Install_Tomcat7() {
   fi
 
   /bin/cp catalina-jmx-remote.jar ${tomcat_install_dir}/lib
-  [ ! -d "${tomcat_install_dir}/lib/catalina" ] &&  mkdir ${tomcat_install_dir}/lib/catalina
-  pushd ${tomcat_install_dir}/lib/catalina
-  jar xf ../catalina.jar
-  sed -i 's@^server.info=.*@server.info=Tomcat@' org/apache/catalina/util/ServerInfo.properties
-  sed -i 's@^server.number=.*@server.number=7@' org/apache/catalina/util/ServerInfo.properties
-  sed -i "s@^server.built=.*@server.built=$(date)@" org/apache/catalina/util/ServerInfo.properties
-  jar cf ../catalina.jar ./*
-  popd
-  rm -rf ${tomcat_install_dir}/lib/catalina
+  #[ ! -d "${tomcat_install_dir}/lib/catalina" ] && mkdir ${tomcat_install_dir}/lib/catalina
+  #pushd ${tomcat_install_dir}/lib/catalina
+  #jar xf ../catalina.jar
+  #sed -i 's@^server.info=.*@server.info=Tomcat@' org/apache/catalina/util/ServerInfo.properties
+  #sed -i 's@^server.number=.*@server.number=7@' org/apache/catalina/util/ServerInfo.properties
+  #sed -i "s@^server.built=.*@server.built=$(date)@" org/apache/catalina/util/ServerInfo.properties
+  #jar cf ../catalina.jar ./*
+  #popd
+  #rm -rf ${tomcat_install_dir}/lib/catalina
 
   pushd ${tomcat_install_dir}/bin
   tar xzf tomcat-native.tar.gz

+ 9 - 9
include/tomcat-8.sh

@@ -36,15 +36,15 @@ Install_Tomcat8() {
   fi
 
   /bin/cp catalina-jmx-remote.jar ${tomcat_install_dir}/lib
-  [ ! -d "${tomcat_install_dir}/lib/catalina" ] &&  mkdir ${tomcat_install_dir}/lib/catalina
-  pushd ${tomcat_install_dir}/lib/catalina
-  jar xf ../catalina.jar
-  sed -i 's@^server.info=.*@server.info=Tomcat@' org/apache/catalina/util/ServerInfo.properties
-  sed -i 's@^server.number=.*@server.number=8@' org/apache/catalina/util/ServerInfo.properties
-  sed -i "s@^server.built=.*@server.built=$(date)@" org/apache/catalina/util/ServerInfo.properties
-  jar cf ../catalina.jar ./*
-  popd
-  rm -rf ${tomcat_install_dir}/lib/catalina
+  #[ ! -d "${tomcat_install_dir}/lib/catalina" ] && mkdir ${tomcat_install_dir}/lib/catalina
+  #pushd ${tomcat_install_dir}/lib/catalina
+  #jar xf ../catalina.jar
+  #sed -i 's@^server.info=.*@server.info=Tomcat@' org/apache/catalina/util/ServerInfo.properties
+  #sed -i 's@^server.number=.*@server.number=8@' org/apache/catalina/util/ServerInfo.properties
+  #sed -i "s@^server.built=.*@server.built=$(date)@" org/apache/catalina/util/ServerInfo.properties
+  #jar cf ../catalina.jar ./*
+  #popd
+  #rm -rf ${tomcat_install_dir}/lib/catalina
 
   pushd ${tomcat_install_dir}/bin
   tar xzf tomcat-native.tar.gz

+ 9 - 9
include/tomcat-9.sh

@@ -36,15 +36,15 @@ Install_Tomcat9() {
   fi
 
   /bin/cp catalina-jmx-remote.jar ${tomcat_install_dir}/lib
-  [ ! -d "${tomcat_install_dir}/lib/catalina" ] &&  mkdir ${tomcat_install_dir}/lib/catalina
-  pushd ${tomcat_install_dir}/lib/catalina
-  jar xf ../catalina.jar
-  sed -i 's@^server.info=.*@server.info=Tomcat@' org/apache/catalina/util/ServerInfo.properties
-  sed -i 's@^server.number=.*@server.number=9@' org/apache/catalina/util/ServerInfo.properties
-  sed -i "s@^server.built=.*@server.built=$(date)@" org/apache/catalina/util/ServerInfo.properties
-  jar cf ../catalina.jar ./*
-  popd
-  rm -rf ${tomcat_install_dir}/lib/catalina
+  #[ ! -d "${tomcat_install_dir}/lib/catalina" ] && mkdir ${tomcat_install_dir}/lib/catalina
+  #pushd ${tomcat_install_dir}/lib/catalina
+  #jar xf ../catalina.jar
+  #sed -i 's@^server.info=.*@server.info=Tomcat@' org/apache/catalina/util/ServerInfo.properties
+  #sed -i 's@^server.number=.*@server.number=9@' org/apache/catalina/util/ServerInfo.properties
+  #sed -i "s@^server.built=.*@server.built=$(date)@" org/apache/catalina/util/ServerInfo.properties
+  #jar cf ../catalina.jar ./*
+  #popd
+  #rm -rf ${tomcat_install_dir}/lib/catalina
 
   pushd ${tomcat_install_dir}/bin
   tar xzf tomcat-native.tar.gz

+ 58 - 4
include/upgrade_web.sh

@@ -199,7 +199,7 @@ Upgrade_OpenResty() {
 Upgrade_Apache() {
   pushd ${oneinstack_dir}/src > /dev/null
   [ ! -e "${apache_install_dir}/bin/httpd" ] && echo "${CWARNING}Apache is not installed on your system! ${CEND}" && exit 1
-  OLD_apache_ver="`/usr/local/apache/bin/httpd -v | grep version | awk -F'/| ' '{print $4}'`"
+  OLD_apache_ver="`${apache_install_dir}/bin/httpd -v | grep version | awk -F'/| ' '{print $4}'`"
   Apache_flag="`echo ${OLD_apache_ver} | awk -F. '{print $1 $2}'`"
   Latest_apache_ver=`curl -s http://httpd.apache.org/download.cgi | awk "/#apache${Apache_flag}/{print $2}" | head -1 | grep -oE "2\.[24]\.[0-9]+"`
   [ -z "${Latest_apache_ver}" ] && Latest_apache_ver=${apache22_ver}
@@ -207,8 +207,8 @@ Upgrade_Apache() {
   echo "Current Apache Version: ${CMSG}${OLD_apache_ver}${CEND}"
   while :; do echo
     read -p "Please input upgrade Apache Version(Default: ${Latest_apache_ver}): " NEW_apache_ver
+    [ -z "${NEW_apache_ver}" ] && NEW_apache_ver=${Latest_apache_ver}
     if [ `echo ${NEW_apache_ver} | awk -F. '{print $1$2}'` == "${Apache_flag}" ]; then
-      [ -z "${NEW_apache_ver}" ] && NEW_apache_ver=${Latest_apache_ver}
       if [ "${NEW_apache_ver}" != "${OLD_apache_ver}" ]; then
         if [ "${Apache_flag}" == '24' ]; then
           src_url=http://archive.apache.org/dist/apr/apr-${apr_ver}.tar.gz && Download_src
@@ -250,9 +250,9 @@ Upgrade_Apache() {
     fi
     make -j ${THREAD}
     if [ -e 'httpd' ]; then
-      [[ -d ${apache_install_dir}.bak && -d ${apache_install_dir} ]] && rm -rf ${apache_install_dir}.bak
+      [[ -d ${apache_install_dir}_bak && -d ${apache_install_dir} ]] && rm -rf ${apache_install_dir}_bak
       /etc/init.d/httpd stop
-      /bin/cp -R ${apache_install_dir}{,bak}
+      /bin/cp -R ${apache_install_dir}{,_bak}
       make install && unset LDFLAGS
       /etc/init.d/httpd start
       popd > /dev/null
@@ -264,3 +264,57 @@ Upgrade_Apache() {
   fi
   popd > /dev/null
 }
+
+Upgrade_Tomcat() {
+  pushd ${oneinstack_dir}/src > /dev/null
+  [ ! -e "${tomcat_install_dir}/conf/server.xml" ] && echo "${CWARNING}Tomcat is not installed on your system! ${CEND}" && exit 1
+  OLD_tomcat_ver="`${tomcat_install_dir}/bin/version.sh | awk '/Server number/{print $3}' | awk -F. '{print $1"."$2"."$3}'`"
+  Tomcat_flag="`echo ${OLD_tomcat_ver} | awk -F. '{print $1}'`"
+  Latest_tomcat_ver=`curl -s https://tomcat.apache.org/download-${Tomcat_flag}0.cgi | grep "README" | head -1 | grep -oE "[6-9]\.[0-9]\.[0-9]+"`
+  [ -z "${Latest_tomcat_ver}" ] && Latest_tomcat_ver=${tomcat9_ver}
+  echo
+  echo "Current Tomcat Version: ${CMSG}${OLD_tomcat_ver}${CEND}"
+  while :; do echo
+    read -p "Please input upgrade Tomcat Version(Default: ${Latest_tomcat_ver}): " NEW_tomcat_ver
+    [ -z "${NEW_tomcat_ver}" ] && NEW_tomcat_ver=${Latest_tomcat_ver}
+    if [ "`echo ${NEW_tomcat_ver} | awk -F. '{print $1}'`" == "${Tomcat_flag}" ]; then
+      rm -f catalina-jmx-remote.jar
+      echo "Download tomcat-${NEW_tomcat_ver}..."
+      src_url=http://mirrors.linuxeye.com/apache/tomcat/v${NEW_tomcat_ver}/apache-tomcat-${NEW_tomcat_ver}.tar.gz && Download_src
+      src_url=http://mirrors.linuxeye.com/apache/tomcat/v${NEW_tomcat_ver}/catalina-jmx-remote.jar && Download_src
+      [ ! -e "apache-tomcat-${NEW_tomcat_ver}.tar.gz" ] && wget --no-check-certificate -c https://archive.apache.org/dist/tomcat-${OLD_tomcat_ver}/v${NEW_tomcat_ver}/bin/apache-tomcat-${NEW_tomcat_ver}.tar.gz > /dev/null 2>&1
+      [ ! -e "catalina-jmx-remote.jar" ] && wget --no-check-certificate -c https://archive.apache.org/dist/tomcat-${OLD_tomcat_ver}/v${NEW_tomcat_ver}/bin/extras/catalina-jmx-remote.jar > /dev/null 2>&1
+      if [ -e "apache-tomcat-${NEW_tomcat_ver}.tar.gz" ]; then
+        echo "Download [${CMSG}apache-tomcat-${NEW_tomcat_ver}.tar.gz${CEND}] successfully! "
+        break
+      else
+        echo "${CWARNING}Tomcat version does not exist! ${CEND}"
+      fi
+    else
+      echo "${CWARNING}input error! ${CEND}Please only input '${CMSG}${Tomcat_flag}.xx${CEND}'"
+    fi
+  done
+
+  if [ -e "apache-tomcat-${NEW_tomcat_ver}.tar.gz" ]; then
+    echo "[${CMSG}apache-tomcat-${NEW_tomcat_ver}.tar.gz${CEND}] found"
+    echo "Press Ctrl+c to cancel or Press any key to continue..."
+    char=`get_char`
+    tar xzf apache-tomcat-${NEW_tomcat_ver}.tar.gz
+    /bin/mv apache-tomcat-${NEW_tomcat_ver}/conf/server.xml{,_bk}
+    /bin/cp ${tomcat_install_dir}/conf/{server.xml,jmxremote.access,jmxremote.password,tomcat-users.xml} apache-tomcat-${NEW_tomcat_ver}/conf/
+    /bin/cp ${tomcat_install_dir}/bin/setenv.sh apache-tomcat-${NEW_tomcat_ver}/bin/
+    /bin/cp -R ${tomcat_install_dir}/conf/vhost apache-tomcat-${NEW_tomcat_ver}/conf/
+    chmod +x apache-tomcat-${NEW_tomcat_ver}/bin/*.sh
+    [[ -d ${tomcat_install_dir}_bak && -d ${tomcat_install_dir} ]] && rm -rf ${tomcat_install_dir}._bak
+    /etc/init.d/tomcat stop
+    /bin/mv ${tomcat_install_dir}{,_bak}
+    /bin/mv apache-tomcat-${NEW_tomcat_ver} ${tomcat_install_dir} && chown -R ${run_user}.${run_user} ${tomcat_install_dir}
+    if [ -e "${tomcat_install_dir}/conf/server.xml" ]; then
+      /etc/init.d/tomcat start
+      echo "You have ${CMSG}successfully${CEND} upgrade from ${CWARNING}${OLD_tomcat_ver}${CEND} to ${CWARNING}${NEW_tomcat_ver}${CEND}"
+    else
+      echo "${CFAILURE}Upgrade Tomcat failed! ${CEND}"
+    fi
+  fi
+  popd > /dev/null
+}

+ 35 - 28
upgrade.sh

@@ -44,14 +44,14 @@ IPADDR_COUNTRY=$(./include/get_ipaddr_state.py $PUBLIC_IPADDR)
 Usage(){
   printf "
 Usage: $0 [ ${CMSG}web${CEND} | ${CMSG}db${CEND} | ${CMSG}php${CEND} | ${CMSG}redis${CEND} | ${CMSG}memcached${CEND} | ${CMSG}phpmyadmin${CEND} | ${CMSG}oneinstack${CEND} | ${CMSG}acme.sh${CEND} ]
-${CMSG}web${CEND}            --->Upgrade Nginx/Tengine/OpenResty/Apache
-${CMSG}db${CEND}             --->Upgrade MySQL/MariaDB/Percona
-${CMSG}php${CEND}            --->Upgrade PHP
-${CMSG}redis${CEND}          --->Upgrade Redis
-${CMSG}memcached${CEND}      --->Upgrade Memcached
-${CMSG}phpmyadmin${CEND}     --->Upgrade phpMyAdmin
-${CMSG}oneinstack${CEND}     --->Upgrade OneinStack
-${CMSG}acme.sh${CEND}        --->Upgrade acme.sh
+${CMSG}web${CEND} [nginx|tengine|openresty|apache|tomcat] ->Upgrade Nginx/Tengine/OpenResty/Apache/Tomcat
+${CMSG}db${CEND}                                          ->Upgrade MySQL/MariaDB/Percona
+${CMSG}php${CEND}                                         ->Upgrade PHP
+${CMSG}redis${CEND}                                       ->Upgrade Redis
+${CMSG}memcached${CEND}                                   ->Upgrade Memcached
+${CMSG}phpmyadmin${CEND}                                  ->Upgrade phpMyAdmin
+${CMSG}oneinstack${CEND}                                  ->Upgrade OneinStack
+${CMSG}acme.sh${CEND}                                     ->Upgrade acme.sh
 
 "
 }
@@ -60,7 +60,7 @@ Menu(){
   while :; do
     printf "
 What Are You Doing?
-\t${CMSG}1${CEND}. Upgrade Nginx/Tengine/OpenResty/Apache
+\t${CMSG}1${CEND}. Upgrade Nginx/Tengine/OpenResty/Apache/Tomcat
 \t${CMSG}2${CEND}. Upgrade MySQL/MariaDB/Percona
 \t${CMSG}3${CEND}. Upgrade PHP
 \t${CMSG}4${CEND}. Upgrade Redis
@@ -77,15 +77,11 @@ What Are You Doing?
     else
       case "${Upgrade_flag}" in
         1)
-          if [ -e "$nginx_install_dir/sbin/nginx" ]; then
-            Upgrade_Nginx
-          elif [ -e "$tengine_install_dir/sbin/nginx" ]; then
-            Upgrade_Tengine
-          elif [ -e "$openresty_install_dir/nginx/sbin/nginx" ]; then
-            Upgrade_OpenResty
-          elif [ -e "${apache_install_dir}/conf/httpd.conf" ]; then
-            Upgrade_Apache
-          fi
+          [ -e "${nginx_install_dir}/sbin/nginx" ] && Upgrade_Nginx
+          [ -e "${tengine_install_dir}/sbin/nginx" ] && Upgrade_Tengine
+          [ -e "${openresty_install_dir}/nginx/sbin/nginx" ] && Upgrade_OpenResty
+          [ -e "${apache_install_dir}/conf/httpd.conf" ] && Upgrade_Apache
+          [ -e "${tomcat_install_dir}/conf/server.xml" ] && Upgrade_Tomcat
           ;;
         2)
           Upgrade_DB
@@ -118,18 +114,29 @@ What Are You Doing?
 
 if [ $# == 0 ]; then
   Menu
-elif [ $# == 1 ]; then
+elif [ $# -ge 1 ] && [ $# -le 2 ]; then
   case $1 in
     web)
-      if [ -e "$nginx_install_dir/sbin/nginx" ]; then
-        Upgrade_Nginx
-      elif [ -e "$tengine_install_dir/sbin/nginx" ]; then
-        Upgrade_Tengine
-      elif [ -e "$openresty_install_dir/nginx/sbin/nginx" ]; then
-        Upgrade_OpenResty
-      elif [ -e "${apache_install_dir}/conf/httpd.conf" ]; then
-        Upgrade_Apache
-      fi
+      case $2 in
+        nginx)
+          Upgrade_Nginx
+          ;;
+        tengine)
+          Upgrade_Tengine
+          ;;
+        openresty)
+          Upgrade_OpenResty
+          ;;
+        apache)
+          Upgrade_Apache
+          ;;
+        tomcat)
+          Upgrade_Tomcat
+          ;;
+        *)
+          Usage
+          ;;
+      esac
       ;;
     db)
       Upgrade_DB

+ 2 - 2
versions.txt

@@ -1,7 +1,7 @@
 # newest software version
 # Web
 nginx_ver=1.14.1
-tengine_ver=2.2.2
+tengine_ver=2.2.3
 openresty_ver=1.13.6.2
 openssl11_ver=1.1.1
 openssl_ver=1.0.2p
@@ -79,7 +79,7 @@ xdebug_ver=2.6.1
 pureftpd_ver=1.0.47
 
 # Redis
-redis_ver=5.0.0
+redis_ver=5.0.1
 redis_pecl_ver=4.1.1
 
 # Memcached