diff --git a/java/java_install.sh b/java/java_install.sh index d6d9f12..d3b7dbf 100755 --- a/java/java_install.sh +++ b/java/java_install.sh @@ -1,12 +1,12 @@ #!/bin/bash -export JAVA_HOME="$1" +export JAVA_HOME="$1/jdk" JAVA_BIN_DIR="$JAVA_HOME/bin" JAVA_VERSION="11.0.19" JAVA_UPDATE="7" JAVA_VERSION_ENCODED="${JAVA_VERSION}%2B${JAVA_UPDATE}" -JAVA_VERSION="${JAVA_VERSION}_${JAVA_UPDATE}" +JAVA_FULL_VERSION="${JAVA_VERSION}_${JAVA_UPDATE}" JDK_DEST="jdk-${JAVA_VERSION}+${JAVA_UPDATE}" JAVA_ARCH="" @@ -24,8 +24,9 @@ else echo "x86 architecture, 32-bit is not supported" fi -if [ ! -d "$JAVA_BIN_DIR" ] && [! -z ${JAVA_ARCH} ]; then - JDK_TAR_GZ_FILE=${JAVA_ARCH}${JAVA_VERSION}".tar.gz" +if [ ! -d ${JAVA_BIN_DIR} ] && [ ! -z ${JAVA_ARCH} ]; then + JDK_TAR_GZ_FILE=${JAVA_ARCH}${JAVA_FULL_VERSION}".tar.gz" + mkdir -p $JAVA_HOME cd "$JAVA_HOME" wget https://github.com/adoptium/temurin11-binaries/releases/download/jdk-${JAVA_VERSION_ENCODED}/${JDK_TAR_GZ_FILE} tar -xvf ${JDK_TAR_GZ_FILE} -C "$JAVA_HOME" diff --git a/mysql/my.cnf b/mysql/my.cnf index c9bd568..953ec3a 100644 --- a/mysql/my.cnf +++ b/mysql/my.cnf @@ -22,20 +22,18 @@ # The following values assume you have at least 32M ram [mysqld_safe] -socket = /mysql/server/bin/mysqld.sock +socket = /bin/mysqld.sock nice = 0 [mysqld] # # * Basic Settings # -user = mysql -pid-file = /mysql/server/bin/mysqld.pid -socket = /mysql/server/bin/mysqld.sock -basedir = /mysql/server/ -datadir = /mysql/server/data -tmpdir = /mysql/server/tmp -lc-messages-dir = /mysql/server/share +#pid-file = /bin/mysqld.pid +#socket = /bin/mysqld.sock +#basedir = / +#tmpdir = /tmp +#lc-messages-dir = /share lc_messages = en_US character-set-server = utf8mb4 collation-server = utf8mb4_bin @@ -57,22 +55,22 @@ max_heap_table_size = 48M myisam-recover-options = BACKUP max_connections = 400 -#general_log_file = /var/log/mysql/mysql.log +#general_log_file = /log/mysql.log #general_log = 1 # # Error log - should be very few entries. # -log_error = /var/log/mysql/error.log +#log_error = /log/error.log # # Here you can see queries with especially long duration -slow_query_log = /var/log/mysql/mysql-slow.log +#slow_query_log = /log/mysql-slow.log long_query_time = 1 # The following can be used as easy to replay backup logs or for replication. # note: if you are setting up a replication slave, see README.Debian about # other settings you may need to change. #server-id = 1 -#log_bin = /var/log/mysql/mysql-bin.log +#log_bin = /log/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100M #binlog_do_db = include_database_name @@ -80,10 +78,10 @@ max_binlog_size = 100M # # * InnoDB # -# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. +# InnoDB is enabled by default with a 10MB datafile innodb_buffer_pool_size = 2048M innodb_file_per_table = 1 -skip_name_resolve +#skip_name_resolve innodb_buffer_pool_instances = 2 innodb_log_file_size = 256M @@ -91,13 +89,12 @@ innodb_log_file_size = 256M # * Security Features # # Read the manual, too, if you want chroot! -# chroot = /var/lib/mysql/ # # For generating SSL certificates I recommend the OpenSSL GUI "tinyca". # -# ssl-ca=/etc/mysql/cacert.pem -# ssl-cert=/etc/mysql/server-cert.pem -# ssl-key=/etc/mysql/server-key.pem +# ssl-ca=cacert.pem +# ssl-cert=server-cert.pem +# ssl-key=server-key.pem innodb_flush_log_at_trx_commit=1 -log_bin_trust_function_creators = 1 +log_bin_trust_function_creators=1 innodb_print_all_deadlocks=1 diff --git a/mysql/mysql_install.sh b/mysql/mysql_install.sh index 01ede60..8565ec7 100755 --- a/mysql/mysql_install.sh +++ b/mysql/mysql_install.sh @@ -8,12 +8,19 @@ INIT_SCHEMA="$1/scadalts.sql" MY_CNF="$1/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 MACHINE_TYPE=`uname -m` -MYSQL_VERSION="8.0.33" + +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="" @@ -22,54 +29,59 @@ if [ ${MACHINE_TYPE} == 'aarch64' ]; then SERVER_MYSQL_DEST="mysql-${MYSQL_VERSION}-linux-glibc2.17-aarch64-minimal" elif [ ${MACHINE_TYPE} == 'x86_64' ] || [ ${MACHINE_TYPE} == 'x64' ]; then echo "64-bit machine detected" - SERVER_MYSQL_DEST="mysql-${MYSQL_VERSION}-linux-glibc2.12-x86_64" + SERVER_MYSQL_DEST="mysql-${MYSQL_VERSION}-linux-glibc2.17-x86_64-minimal" SHELL_MYSQL_DEST="mysql-shell-${MYSQL_VERSION}-linux-glibc2.12-x86-64bit" else echo "x86 32-bit architecture is not supported" fi -if [ ! -d "${SERVER_BIN_DIR}" ] && [! -z ${SERVER_MYSQL_DEST}]; then +if [ ! -d ${SERVER_BIN_DIR} ] && [ ! -z ${SERVER_MYSQL_DEST} ]; then - SERVER_MSQL_TAR_FILE=${SERVER_MYSQL_DEST}".tar" - SERVER_MSQL_TAR_XZ_FILE=${SERVER_MYSQL_DEST}".tar.xz" + SERVER_MSQL_TAR_FILE="${SERVER_MYSQL_DEST}.tar" + SERVER_MSQL_TAR_XZ_FILE="${SERVER_MYSQL_DEST}.tar.xz" - cd "$MYSQL_HOME" - wget https://dev.mysql.com/get/Downloads/MySQL-8.0/${SERVER_MSQL_TAR_FILE} - tar -xvf ${SERVER_MSQL_TAR_FILE} -C "$MYSQL_HOME" - tar -xvf ${SERVER_MSQL_TAR_XZ_FILE} -C "$MYSQL_HOME" + mkdir -p $MYSQL_HOME + cd $MYSQL_HOME + wget "https://dev.mysql.com/get/Downloads/MySQL-${MYSQL_MAJOR_VERSION}.${MYSQL_MINOR_VERSION}/${SERVER_MSQL_TAR_FILE}" + tar -xvf ${SERVER_MSQL_TAR_FILE} -C $MYSQL_HOME + tar -xvf ${SERVER_MSQL_TAR_XZ_FILE} -C $MYSQL_HOME cd "$MYSQL_HOME/${SERVER_MYSQL_DEST}" - mv * "$MYSQL_HOME" + mv * $MYSQL_HOME cd .. rm -rf ${SERVER_MYSQL_DEST} rm -f ${SERVER_MSQL_TAR_FILE} rm -f *.tar.xz - - if [${MYSQL_PORT} == -1]; then - echo -n "Port: " + cp -ar ${MY_CNF} $MYSQL_HOME + if [ ${MYSQL_PORT} -eq -1 ]; then + echo -n "[MySQL Community Server] Enter port: " read -r MYSQL_PORT - echo "port = ${MYSQL_PORT}" >> ${MY_CNF} + echo "port = ${MYSQL_PORT}" >> $MYSQL_HOME/my.cnf fi + mkdir -p ${SERVER_LOG_DIR} echo "MySQL Community Server version ${MYSQL_VERSION} installed" fi -if [ ! -d "$CLIENT_BIN_DIR" ] && [! -z ${SHELL_MYSQL_DEST}]; then +if [ ! -d ${CLIENT_BIN_DIR} ] && [ ! -z ${SHELL_MYSQL_DEST} ]; then - SHELL_MYSQL_TAR_GZ_FILE=$SHELL_MYSQL_DEST".tar.gz" + SHELL_MYSQL_TAR_GZ_FILE="${SHELL_MYSQL_DEST}.tar.gz" - cd "$SHELL_HOME" - wget https://dev.mysql.com/get/Downloads/MySQL-Shell/${SHELL_MYSQL_TAR_GZ_FILE} - tar -xvf ${SHELL_MYSQL_TAR_GZ_FILE} -C "$SHELL_HOME" + mkdir -p "$SHELL_HOME" + cd $SHELL_HOME + wget "https://dev.mysql.com/get/Downloads/MySQL-Shell/${SHELL_MYSQL_TAR_GZ_FILE}" + tar -xvf "${SHELL_MYSQL_TAR_GZ_FILE}" -C "$SHELL_HOME" cd "$SHELL_HOME/${SHELL_MYSQL_DEST}" - mv * "$SHELL_HOME" + mv * $SHELL_HOME cd .. rm -rf ${SHELL_MYSQL_DEST} rm -f ${SHELL_MYSQL_TAR_GZ_FILE} echo "MySQL Shell version ${MYSQL_VERSION} installed" fi +mkdir -p ${SERVER_TMP_DIR} + if [ ! -d "$DATADIR" ]; then mkdir -p $DATADIR cd ${SERVER_BIN_DIR} - ./mysqld --defaults-file=${MY_CNF} --initialize-insecure --datadir $DATADIR --user=${USER} --init-file=${INIT_SCHEMA} --console + ./mysqld --defaults-file="$MYSQL_HOME/my.cnf" --initialize-insecure --datadir $DATADIR --user="${USER}" --init-file="${INIT_SCHEMA}" --console fi diff --git a/mysql_start.sh b/mysql_start.sh index f8052d8..24859e4 100755 --- a/mysql_start.sh +++ b/mysql_start.sh @@ -2,13 +2,13 @@ export MYSQL_HOME="`pwd`/mysql/server" export MYSQL_BASE="`pwd`/mysql" -export MY_CNF="$MYSQL_BASE/my.cnf" +export MY_CNF="$MYSQL_HOME/my.cnf" export BINDIR="$MYSQL_HOME/bin" export DATADIR="$MYSQL_HOME/data" export MYSQLD_PID="$DATADIR/mysqld.pid" -if [ ! -d "$DATADIR" ]; then +if [ ! -d $DATADIR ]; then $MYSQL_BASE/mysql_install.sh $MYSQL_BASE fi diff --git a/tomcat64/tomcat_install.sh b/tomcat64/tomcat_install.sh index f6fea93..ed70864 100755 --- a/tomcat64/tomcat_install.sh +++ b/tomcat64/tomcat_install.sh @@ -26,10 +26,11 @@ if [ ! -d "$CATALINA_BIN_DIR" ]; then 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_DEST="apache-tomcat-${TOMCAT_VERSION}" TOMCAT_TAR_GZ_FILE="${TOMCAT_DEST}.tar.gz" - cd "$CATALINA_HOME" + 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}" @@ -41,23 +42,33 @@ if [ ! -d "$CATALINA_BIN_DIR" ]; then 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 ${SCADA_LTS_HOME}/META-INF/context.xml + cp -rf context.xml ${CATALINA_CONTEXT_XML} cp -rf ${CATALINA_BASE}/lib/*.jar ${CATALINA_LIB} - if [${CATALINA_PORT} == -1]; then - echo -n "Port: " + if [[ ${CATALINA_PORT} -eq -1 ]]; then + echo -n "[Apache Tomcat Server] Enter port: " read -r CATALINA_PORT - sed -i "s/'port="8080"'/'port=${CATALINA_PORT}'/" ${CATALINA_SERVER_XML} + sed -i "s/8080/${CATALINA_PORT}/" ${CATALINA_SERVER_XML} + fi + + DATABASE_PORT=-1 + + if [[ ${DATABASE_PORT} -eq -1 ]]; then + echo -n "[Apache Tomcat Server] Enter server database port: " + read -r DATABASE_PORT + sed -i "s/localhost:3308/localhost:${DATABASE_PORT}/" ${CATALINA_CONTEXT_XML} fi - if [-z ${CATALINA_USERNAME}] || [-z ${CATALINA_PASSWORD}]; then - echo -n "User: " - read -r ${CATALINA_USERNAME} - echo -n "Password: " - read -r ${CATALINA_PASSWORD} - sed -i "s/''/''/" ${CATALINA_TOMCAT_USERS_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>/<\/tomcat-users>/" ${CATALINA_TOMCAT_USERS_XML} fi echo "Tomcat version ${TOMCAT_VERSION} configured" fi diff --git a/tomcat_start.sh b/tomcat_start.sh index 6f7c839..e3550f4 100755 --- a/tomcat_start.sh +++ b/tomcat_start.sh @@ -3,7 +3,7 @@ JAVA_BASE="`pwd`/java" CATALINA_BASE="`pwd`/tomcat64" if [ ! -d "${SCADA_LTS_HOME}" ]; then - $CATALINA_BASE/tomcat_config.sh ${JAVA_BASE} ${CATALINA_BASE} + $CATALINA_BASE/tomcat_install.sh ${JAVA_BASE} ${CATALINA_BASE} fi $CATALINA_HOME/bin/catalina.sh run