Skip to content

Commit

Permalink
refactor tomcat_start.sh, mysql_start.sh; extract version config for:…
Browse files Browse the repository at this point in the history
… java, tomcat, mysql server;

replacing the pwd command with dirname, realpath; created tomcat_config.sh
  • Loading branch information
Limraj committed Jun 22, 2023
1 parent 186593b commit 1d3645c
Show file tree
Hide file tree
Showing 6 changed files with 152 additions and 126 deletions.
10 changes: 4 additions & 6 deletions java/java_install.sh
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
#!/bin/bash
export JAVA_HOME="$1/jdk"
export JAVA_HOME="$1"
JAVA_VERSION="$2"
JAVA_UPDATE="$3"
JAVA_BIN_DIR="$JAVA_HOME/bin"

JAVA_VERSION="11.0.19"
JAVA_UPDATE="7"

JAVA_VERSION_ENCODED="${JAVA_VERSION}%2B${JAVA_UPDATE}"
JAVA_FULL_VERSION="${JAVA_VERSION}_${JAVA_UPDATE}"
JDK_DEST="jdk-${JAVA_VERSION}+${JAVA_UPDATE}"

JAVA_ARCH=""
MACHINE_TYPE=`uname -m`
SERVER_MYSQL_DEST=""
Expand All @@ -35,5 +32,6 @@ if [ ! -d ${JAVA_BIN_DIR} ] && [ ! -z ${JAVA_ARCH} ]; then
cd ..
rm -rf ${JDK_DEST}
rm -f ${JDK_TAR_GZ_FILE}
echo "JDK version ${JAVA_FULL_VERSION} installed"
fi

60 changes: 32 additions & 28 deletions mysql/mysql_install.sh
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
#!/bin/bash
export MYSQL_HOME="$1/server/"
export SHELL_HOME="$1/client/"
export DATADIR="$MYSQL_HOME/data"
MYSQL_MAJOR_VERSION=$1
MYSQL_MINOR_VERSION=$2
MYSQL_PATCH_VERSION=$3

INIT_SCHEMA="$1/scadalts.sql"
INIT_SCHEMA_TMP="$MYSQL_HOME/scadalts.sql"
MY_CNF="$1/my.cnf"
MYSQL_VERSION="${MYSQL_MAJOR_VERSION}.${MYSQL_MINOR_VERSION}.${MYSQL_PATCH_VERSION}"
MYSQL_INSTALLER_HOME=$(dirname "$(realpath "$0")")
export MYSQL_HOME="${MYSQL_INSTALLER_HOME}/server"
export SHELL_HOME="${MYSQL_INSTALLER_HOME}/client"
export DATADIR="$MYSQL_HOME/data"

INIT_SCHEMA="${MYSQL_INSTALLER_HOME}/scadalts.sql"
COPIED_INIT_SCHEMA="$MYSQL_HOME/scadalts.sql"
MY_CNF="${MYSQL_INSTALLER_HOME}/my.cnf"
COPIED_MY_CNF="$MYSQL_HOME/my.cnf"
SERVER_BIN_DIR="$MYSQL_HOME/bin"
SERVER_TMP_DIR="$MYSQL_HOME/tmp"
SERVER_LOG_DIR="$MYSQL_HOME/log"
CLIENT_BIN_DIR="$SHELL_HOME/bin"

MYSQL_PORT=-1
Expand All @@ -19,11 +23,6 @@ MYSQL_ROOT_PASSWORD=""

MACHINE_TYPE=`uname -m`

MYSQL_MAJOR_VERSION=8
MYSQL_MINOR_VERSION=0
MYSQL_PATCH_VERSION=33
MYSQL_VERSION="${MYSQL_MAJOR_VERSION}.${MYSQL_MINOR_VERSION}.${MYSQL_PATCH_VERSION}"

SERVER_MYSQL_DEST=""
SHELL_MYSQL_DEST=""

Expand Down Expand Up @@ -54,29 +53,35 @@ if [ ! -d ${SERVER_BIN_DIR} ] && [ ! -z ${SERVER_MYSQL_DEST} ]; then
rm -rf ${SERVER_MYSQL_DEST}
rm -f ${SERVER_MSQL_TAR_FILE}
rm -f *.tar.xz
cp -ar ${MY_CNF} $MYSQL_HOME
cp -ar ${INIT_SCHEMA} ${INIT_SCHEMA_TMP}
if [ ${MYSQL_PORT} -eq -1 ]; then
echo -n "[MySQL Community Server] Enter port: "
read -r MYSQL_PORT
echo "port = ${MYSQL_PORT}" >> $MYSQL_HOME/my.cnf
fi
cp -ar ${MY_CNF} ${COPIED_MY_CNF}
cp -ar ${INIT_SCHEMA} ${COPIED_INIT_SCHEMA}

NUMBER_REGEX='^[0-9]+$'
while [ ${MYSQL_PORT} -eq -1 ] || ! [[ ${MYSQL_PORT} =~ ${NUMBER_REGEX} ]]
do
echo -n "[MySQL Community Server] Enter port: "
read -r MYSQL_PORT
done
echo "port = ${MYSQL_PORT}" >> ${COPIED_MY_CNF}

if [ -z ${MYSQL_USERNAME} ]; then
echo -n "[MySQL Community Server] Enter username: "
read -r MYSQL_USERNAME
echo "user = ${MYSQL_USERNAME}" >> $MYSQL_HOME/my.cnf
echo "user = ${MYSQL_USERNAME}" >> ${COPIED_MY_CNF}
fi

if [ -z ${MYSQL_PASSWORD} ]; then
echo -n "[MySQL Community Server] Enter password: "
read -r MYSQL_PASSWORD
echo $'\n'"CREATE USER IF NOT EXISTS '${MYSQL_USERNAME}'@'localhost' IDENTIFIED BY '${MYSQL_PASSWORD}';"$'\n'"GRANT ALL ON scadalts.* TO '${MYSQL_USERNAME}'@'localhost';"$'\n'"FLUSH PRIVILEGES;" >> ${INIT_SCHEMA_TMP}
echo $'\n'"CREATE USER IF NOT EXISTS '${MYSQL_USERNAME}'@'localhost' IDENTIFIED BY '${MYSQL_PASSWORD}';"$'\n'"GRANT ALL ON scadalts.* TO '${MYSQL_USERNAME}'@'localhost';"$'\n'"FLUSH PRIVILEGES;" >> ${COPIED_INIT_SCHEMA}
fi

if [ -z ${MYSQL_ROOT_PASSWORD} ]; then
echo -n "[MySQL Community Server] Enter root password: "
read -r MYSQL_ROOT_PASSWORD
echo $'\n'"ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}';" >> ${INIT_SCHEMA_TMP}
echo $'\n'"ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}';" >> ${COPIED_INIT_SCHEMA}
fi
mkdir -p ${SERVER_LOG_DIR}

echo "MySQL Community Server version ${MYSQL_VERSION} installed"
fi

Expand All @@ -96,10 +101,9 @@ if [ ! -d ${CLIENT_BIN_DIR} ] && [ ! -z ${SHELL_MYSQL_DEST} ]; then
echo "MySQL Shell version ${MYSQL_VERSION} installed"
fi

mkdir -p ${SERVER_TMP_DIR}

if [ ! -d "$DATADIR" ]; then
if [ -d ${SERVER_BIN_DIR} ] && [ ! -d "$DATADIR" ]; then
mkdir -p $DATADIR
cd ${SERVER_BIN_DIR}
./mysqld --defaults-file="$MYSQL_HOME/my.cnf" --initialize-insecure --datadir $DATADIR --user="${MYSQL_USERNAME}" --init-file="${INIT_SCHEMA_TMP}" --console
./mysqld --defaults-file="$MYSQL_HOME/my.cnf" --initialize-insecure --datadir $DATADIR --user="${MYSQL_USERNAME}" --init-file="${COPIED_INIT_SCHEMA}" --console
echo "MySQL Community Server version ${MYSQL_VERSION} configured"
fi
14 changes: 10 additions & 4 deletions mysql_start.sh
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
#!/bin/bash
MYSQL_BASE="`pwd`/mysql"
MYSQL_MAJOR_VERSION=8
MYSQL_MINOR_VERSION=0
MYSQL_PATCH_VERSION=33

INSTALLER_HOME=$(dirname "$(realpath "$0")")
MYSQL_BASE="${INSTALLER_HOME}/mysql"

export MYSQL_HOME="${MYSQL_BASE}/server"
export DATADIR="$MYSQL_HOME/data"
MY_CNF="$MYSQL_HOME/my.cnf"
BINDIR="$MYSQL_HOME/bin"

MYSQLD_PID="$DATADIR/mysqld.pid"

if [ ! -d $DATADIR ]; then
$MYSQL_BASE/mysql_install.sh $MYSQL_BASE
if [ ! -d ${BINDIR} ]; then
${MYSQL_BASE}/mysql_install.sh ${MYSQL_MAJOR_VERSION} ${MYSQL_MINOR_VERSION} ${MYSQL_PATCH_VERSION}
fi

cd $BINDIR
cd ${BINDIR}
./mysqld --defaults-file=${MY_CNF} --datadir $DATADIR --pid-file=${MYSQLD_PID} --console

61 changes: 61 additions & 0 deletions tomcat64/tomcat_config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#!/bin/bash
export CATALINA_HOME="$1"
cd $CATALINA_HOME
cd ..
CATALINA_BASE=`pwd`

CATALINA_SERVER_XML="$CATALINA_HOME/conf/server.xml"
CATALINA_LIB="$CATALINA_HOME/lib"
CATALINA_TOMCAT_USERS_XML="$CATALINA_HOME/conf/tomcat-users.xml"
CATALINA_WEBAPPS="$CATALINA_HOME/webapps"
SCADA_LTS_HOME="${CATALINA_WEBAPPS}/Scada-LTS"
CATALINA_CONTEXT_XML=${SCADA_LTS_HOME}/META-INF/context.xml
CATALINA_BIN_DIR="$CATALINA_HOME/bin"

CATALINA_PORT=-1
CATALINA_USERNAME=""
CATALINA_PASSWORD=""

DATABASE_PORT=-1
DATABASE_USERNAME=""
DATABASE_PASSWORD=""

NUMBER_REGEX='^[0-9]+$'

cd "${CATALINA_BASE}"
unzip "Scada-LTS.war" -d ${SCADA_LTS_HOME}
cp -rf context.xml ${CATALINA_CONTEXT_XML}
cp -rf ${CATALINA_BASE}/lib/*.jar ${CATALINA_LIB}
cp -ar setenv.sh ${CATALINA_BIN_DIR}

while [ ${CATALINA_PORT} -eq -1 ] || ! [[ ${CATALINA_PORT} =~ ${NUMBER_REGEX} ]]
do
echo -n "[Apache Tomcat Server] Enter port: "
read -r CATALINA_PORT
done
sed -i "s/<Connector port=\"8080\"/<Connector port=\"${CATALINA_PORT}\"/" ${CATALINA_SERVER_XML}

if [ -z ${CATALINA_USERNAME} ] || [ -z ${CATALINA_PASSWORD} ]; then
echo -n "[Apache Tomcat Server] Enter username: "
read -r CATALINA_USERNAME
echo -n "[Apache Tomcat Server] Enter password: "
read -r CATALINA_PASSWORD
sed -i "s/<\/tomcat-users>/<role rolename=\"monitoring\"\/><role rolename=\"manager\"\/><role rolename=\"manager-gui\"\/><role rolename=\"admin\"\/><role rolename=\"admin-script\"\/><role rolename=\"admin-gui\"\/><user username=\"${CATALINA_USERNAME}\" password=\"${CATALINA_PASSWORD}\" roles=\"admin,manager,manager-gui,monitoring,admin-script,admin-gui\"\/><\/tomcat-users>/" ${CATALINA_TOMCAT_USERS_XML}
fi

while [ ${DATABASE_PORT} -eq -1 ] || ! [[ ${DATABASE_PORT} =~ ${NUMBER_REGEX} ]]
do
echo -n "[Apache Tomcat Server] Enter database port: "
read -r DATABASE_PORT
done
sed -i "s/jdbc:mysql:\/\/localhost:3308/jdbc:mysql:\/\/localhost:${DATABASE_PORT}/" ${CATALINA_CONTEXT_XML}

if [ -z ${DATABASE_USERNAME} ] || [ -z ${DATABASE_PASSWORD} ]; then
echo -n "[Apache Tomcat Server] Enter database username: "
read -r DATABASE_USERNAME
sed -i "s/username=\"root\"/username=\"${DATABASE_USERNAME}\"/" ${CATALINA_CONTEXT_XML}
echo -n "[Apache Tomcat Server] Enter database password: "
read -r DATABASE_PASSWORD
sed -i "s/password=\"\"/password=\"${DATABASE_PASSWORD}\"/" ${CATALINA_CONTEXT_XML}
fi
echo "Tomcat version ${TOMCAT_VERSION} configured"
104 changes: 19 additions & 85 deletions tomcat64/tomcat_install.sh
Original file line number Diff line number Diff line change
@@ -1,86 +1,20 @@
#!/bin/bash
export JAVA_HOME="$1/jdk"
export CATALINA_HOME="$2/server"
JAVA_BASE="$1"
CATALINA_BASE="$2"

CATALINA_SERVER_XML="$CATALINA_HOME/conf/server.xml"
CATALINA_LIB="$CATALINA_HOME/lib"
CATALINA_TOMCAT_USERS_XML="$CATALINA_HOME/conf/tomcat-users.xml"
JAVA_BIN_DIR="$JAVA_HOME/bin"
CATALINA_BIN_DIR="$CATALINA_HOME/bin"
CATALINA_PORT=-1
CATALINA_USERNAME=""
CATALINA_PASSWORD=""

DATABASE_PORT=-1
DATABASE_USERNAME=""
DATABASE_PASSWORD=""

CATALINA_WEBAPPS="$CATALINA_HOME/webapps"
SCADA_LTS_HOME="${CATALINA_WEBAPPS}/Scada-LTS"

if [ ! -d "${JAVA_BIN_DIR}" ]; then
${JAVA_BASE}/java_install.sh ${JAVA_BASE}
fi

if [ ! -d "$CATALINA_BIN_DIR" ]; then

TOMCAT_MAJOR_VERSION=9
TOMCAT_MINOR_VERSION=0
TOMCAT_PATCH_VERSION=76
TOMCAT_VERSION="${TOMCAT_MAJOR_VERSION}.${TOMCAT_MINOR_VERSION}.${TOMCAT_PATCH_VERSION}"
TOMCAT_DEST="apache-tomcat-${TOMCAT_VERSION}"
TOMCAT_TAR_GZ_FILE="${TOMCAT_DEST}.tar.gz"

mkdir -p $CATALINA_HOME
cd $CATALINA_HOME
wget "https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_VERSION}/bin/${TOMCAT_TAR_GZ_FILE}"
tar -xvf ${TOMCAT_TAR_GZ_FILE} -C "$CATALINA_HOME"
cd "$CATALINA_HOME/${TOMCAT_DEST}"
mv * "$CATALINA_HOME"
cd ..
rm -rf ${TOMCAT_DEST}
rm -f ${TOMCAT_TAR_GZ_FILE}
echo "Tomcat version ${TOMCAT_VERSION} installed"
fi

if [ ! -d "${SCADA_LTS_HOME}" ]; then

CATALINA_CONTEXT_XML=${SCADA_LTS_HOME}/META-INF/context.xml
cd "${CATALINA_BASE}"
unzip "Scada-LTS.war" -d ${SCADA_LTS_HOME}
cp -rf context.xml ${CATALINA_CONTEXT_XML}
cp -rf ${CATALINA_BASE}/lib/*.jar ${CATALINA_LIB}
cp -ar setenv.sh ${CATALINA_BIN_DIR}

if [[ ${CATALINA_PORT} -eq -1 ]]; then
echo -n "[Apache Tomcat Server] Enter port: "
read -r CATALINA_PORT
sed -i "s/8080/${CATALINA_PORT}/" ${CATALINA_SERVER_XML}
fi

if [ -z ${CATALINA_USERNAME} ] || [ -z ${CATALINA_PASSWORD} ]; then
echo -n "[Apache Tomcat Server] Enter username: "
read -r CATALINA_USERNAME
echo -n "[Apache Tomcat Server] Enter password: "
read -r CATALINA_PASSWORD
sed -i "s/<\/tomcat-users>/<role rolename=\"monitoring\"\/><role rolename=\"manager\"\/><role rolename=\"manager-gui\"\/><role rolename=\"admin\"\/><role rolename=\"admin-script\"\/><role rolename=\"admin-gui\"\/><user username=\"${CATALINA_USERNAME}\" password=\"${CATALINA_PASSWORD}\" roles=\"admin,manager,manager-gui,monitoring,admin-script,admin-gui\"\/><\/tomcat-users>/" ${CATALINA_TOMCAT_USERS_XML}
fi

if [[ ${DATABASE_PORT} -eq -1 ]]; then
echo -n "[Apache Tomcat Server] Enter database port: "
read -r DATABASE_PORT
sed -i "s/jdbc:mysql:\/\/localhost:3308/jdbc:mysql:\/\/localhost:${DATABASE_PORT}/" ${CATALINA_CONTEXT_XML}
fi

if [ -z ${DATABASE_USERNAME} ] || [ -z ${DATABASE_PASSWORD} ]; then
echo -n "[Apache Tomcat Server] Enter database username: "
read -r DATABASE_USERNAME
sed -i "s/username=\"root\"/username=\"${DATABASE_USERNAME}\"/" ${CATALINA_CONTEXT_XML}
echo -n "[Apache Tomcat Server] Enter database password: "
read -r DATABASE_PASSWORD
sed -i "s/password=\"\"/password=\"${DATABASE_PASSWORD}\"/" ${CATALINA_CONTEXT_XML}
fi
echo "Tomcat version ${TOMCAT_VERSION} configured"
fi
export CATALINA_HOME="$1"
TOMCAT_MAJOR_VERSION="$2"
TOMCAT_MINOR_VERSION="$3"
TOMCAT_PATCH_VERSION="$4"

TOMCAT_VERSION="${TOMCAT_MAJOR_VERSION}.${TOMCAT_MINOR_VERSION}.${TOMCAT_PATCH_VERSION}"
TOMCAT_DEST="apache-tomcat-${TOMCAT_VERSION}"
TOMCAT_TAR_GZ_FILE="${TOMCAT_DEST}.tar.gz"

mkdir -p $CATALINA_HOME
cd $CATALINA_HOME
wget "https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_VERSION}/bin/${TOMCAT_TAR_GZ_FILE}"
tar -xvf ${TOMCAT_TAR_GZ_FILE} -C "$CATALINA_HOME"
cd "$CATALINA_HOME/${TOMCAT_DEST}"
mv * "$CATALINA_HOME"
cd ..
rm -rf ${TOMCAT_DEST}
rm -f ${TOMCAT_TAR_GZ_FILE}
echo "Tomcat version ${TOMCAT_VERSION} installed"
29 changes: 26 additions & 3 deletions tomcat_start.sh
Original file line number Diff line number Diff line change
@@ -1,11 +1,34 @@
#!/bin/bash
JAVA_BASE="`pwd`/java"
CATALINA_BASE="`pwd`/tomcat64"
JAVA_VERSION="11.0.19"
JAVA_UPDATE=7

TOMCAT_MAJOR_VERSION=9
TOMCAT_MINOR_VERSION=0
TOMCAT_PATCH_VERSION=76

INSTALLER_HOME=$(dirname "$(realpath "$0")")
JAVA_BASE="${INSTALLER_HOME}/java"
CATALINA_BASE="${INSTALLER_HOME}/tomcat64"

export JAVA_HOME="${JAVA_BASE}/jdk"
export CATALINA_HOME="${CATALINA_BASE}/server"

JAVA_BIN_DIR="$JAVA_HOME/bin"
CATALINA_BIN_DIR="$CATALINA_HOME/bin"

CATALINA_WEBAPPS="$CATALINA_HOME/webapps"
SCADA_LTS_HOME="${CATALINA_WEBAPPS}/Scada-LTS"

if [ ! -d "${JAVA_BIN_DIR}" ]; then
${JAVA_BASE}/java_install.sh $JAVA_HOME ${JAVA_VERSION} ${JAVA_UPDATE}
fi

if [ ! -d "${CATALINA_BIN_DIR}" ]; then
$CATALINA_BASE/tomcat_install.sh ${JAVA_BASE} ${CATALINA_BASE}
$CATALINA_BASE/tomcat_install.sh $CATALINA_HOME ${TOMCAT_MAJOR_VERSION} ${TOMCAT_MINOR_VERSION} ${TOMCAT_PATCH_VERSION}
fi

if [ ! -d "${SCADA_LTS_HOME}" ]; then
$CATALINA_BASE/tomcat_config.sh $CATALINA_HOME
fi

$CATALINA_HOME/bin/catalina.sh run

0 comments on commit 1d3645c

Please sign in to comment.