diff --git a/java/java_install.sh b/java/java_install.sh index d3b7dbf..120ecfc 100755 --- a/java/java_install.sh +++ b/java/java_install.sh @@ -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="" @@ -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 diff --git a/mysql/mysql_install.sh b/mysql/mysql_install.sh index a2c56a8..4230a30 100755 --- a/mysql/mysql_install.sh +++ b/mysql/mysql_install.sh @@ -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 @@ -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="" @@ -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 @@ -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 \ No newline at end of file diff --git a/mysql_start.sh b/mysql_start.sh index df4f0d9..c183986 100755 --- a/mysql_start.sh +++ b/mysql_start.sh @@ -1,5 +1,11 @@ #!/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" @@ -7,10 +13,10 @@ 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 diff --git a/tomcat64/tomcat_config.sh b/tomcat64/tomcat_config.sh new file mode 100755 index 0000000..c69f7c3 --- /dev/null +++ b/tomcat64/tomcat_config.sh @@ -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//<\/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" \ No newline at end of file diff --git a/tomcat64/tomcat_install.sh b/tomcat64/tomcat_install.sh index ba40351..f8bb534 100755 --- a/tomcat64/tomcat_install.sh +++ b/tomcat64/tomcat_install.sh @@ -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>/<\/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 \ No newline at end of file +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" \ No newline at end of file diff --git a/tomcat_start.sh b/tomcat_start.sh index e07994c..9099fff 100755 --- a/tomcat_start.sh +++ b/tomcat_start.sh @@ -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