#!/bin/bash set -e CATALINA_HOME=/usr/share/tomcat7-codedeploy TOMCAT_VERSION=7.0.77 # Tar file name TOMCAT7_CORE_TAR_FILENAME="apache-tomcat-$TOMCAT_VERSION.tar.gz" # Download URL for Tomcat7 core TOMCAT7_CORE_DOWNLOAD_URL="http://mirror.olnevhost.net/pub/apache/tomcat/tomcat-7/v$TOMCAT_VERSION/bin/$TOMCAT7_CORE_TAR_FILENAME" # The top-level directory after unpacking the tar file TOMCAT7_CORE_UNPACKED_DIRNAME="apache-tomcat-$TOMCAT_VERSION" # Check whether there exists a valid instance # of Tomcat7 installed at the specified directory [[ -d $CATALINA_HOME ]] && { service tomcat7 status; } && { echo "Tomcat7 is already installed at $CATALINA_HOME. Skip reinstalling it." exit 0 } # Clear install directory if [ -d $CATALINA_HOME ]; then rm -rf $CATALINA_HOME fi mkdir -p $CATALINA_HOME # Download the latest Tomcat7 version cd /tmp { which wget; } || { yum install wget; } wget $TOMCAT7_CORE_DOWNLOAD_URL if [[ -d /tmp/$TOMCAT7_CORE_UNPACKED_DIRNAME ]]; then rm -rf /tmp/$TOMCAT7_CORE_UNPACKED_DIRNAME fi tar xzf $TOMCAT7_CORE_TAR_FILENAME # Copy over to the CATALINA_HOME cp -r /tmp/$TOMCAT7_CORE_UNPACKED_DIRNAME/* $CATALINA_HOME # Install Java if not yet installed { which java; } || { yum install java; } # Create the service init.d script cat > /etc/init.d/tomcat7 <<'EOF' #!/bin/bash # description: Tomcat7 Start Stop Restart # processname: tomcat7 PATH=$JAVA_HOME/bin:$PATH export PATH CATALINA_HOME='/usr/share/tomcat7-codedeploy' case $1 in start) sh $CATALINA_HOME/bin/startup.sh ;; stop) sh $CATALINA_HOME/bin/shutdown.sh ;; restart) sh $CATALINA_HOME/bin/shutdown.sh sh $CATALINA_HOME/bin/startup.sh ;; esac exit 0 EOF # Change permission mode for the service script chmod 755 /etc/init.d/tomcat7