Skip to content

Instantly share code, notes, and snippets.

@philmadden83
Created September 8, 2017 14:32
Show Gist options
  • Save philmadden83/fd1b31b32aecc53a2225dbfe71f3514c to your computer and use it in GitHub Desktop.
Save philmadden83/fd1b31b32aecc53a2225dbfe71f3514c to your computer and use it in GitHub Desktop.
Installing and running vivid-web with local tomcat and symlinks.
#!/bin/bash
PROJECT_PATH=$(pwd)
TOMCAT_VERSION="7.0.64"
TOMCAT_INSTALL_PATH="${HOME}/servers/tomcat"
TOMCAT_HOME="${TOMCAT_INSTALL_PATH}/${TOMCAT_VERSION}"
if [ ! -d "${PROJECT_PATH}/target" ]; then
mvn clean install
fi
if [ ! -d $TOMCAT_INSTALL_PATH ]; then
echo "Downloading Tomcat v${TOMCAT_VERSION} to ${TOMCAT_INSTALL_PATH}.."
mkdir -p $TOMCAT_HOME
pushd $TOMCAT_HOME > /dev/null
curl -s https://archive.apache.org/dist/tomcat/tomcat-7/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz -o tomcat.tar.gz
tar -xzf tomcat.tar.gz --strip 1
rm -R webapps
mkdir -p webapps/ROOT
echo "Symlinking webapp files.."
for FILE in $PROJECT_PATH/src/main/webapp/*; do
ln -snf $FILE webapps/ROOT/$(basename $FILE)
done
ln -snf $PROJECT_PATH/target/vivid-web-1.0-SNAPSHOT/META-INF webapps/ROOT/META-INF
ln -snf $PROJECT_PATH/target/vivid-web-1.0-SNAPSHOT/WEB-INF webapps/ROOT/WEB-INF
echo "Enabling symlinking.."
sed -i '.bak' 's/\(<Context\)/\1 allowLinking="true" reloadable="true"/' ${TOMCAT_HOME}/conf/context.xml
echo "Installing connector/J.."
curl -s http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.18/mysql-connector-java-5.1.18.jar -o ${TOMCAT_HOME}/lib/mysql-connector-java-5.1.18.jar
echo "Cleaning up.."
rm tomcat.tar.gz
popd > /dev/null
fi
${TOMCAT_HOME}/bin/shutdown.sh &> /dev/null
${TOMCAT_HOME}/bin/startup.sh &> /dev/null
echo "Application started."
@philmadden83
Copy link
Author

Downloading Tomcat v7.0.64 to /Users/phil.madden/servers/tomcat..
Symlinking webapp files..
Enabling symlinking..
Installing connector/J..
Cleaning up..
Application started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment