#!/bin/bash

clear
UID_ROOT=0
if [ "$UID" -eq "$UID_ROOT" ]
then
    echo "Для работы не требуются права root"
    exit 1
fi

echo -e "\n\033[33;1m Установка SMPO-SERVER(Сервер-КРОС) \033[0m\n"
MODULE_NAME=smpo-server
SMPO_PATH=/usr/'local'/$MODULE_NAME
ASTRA_PATH=""
PSQL_PATH="/etc/postgresql"
iHOME=$HOME
#
copy_kros() {
sudo su <<EOF
if [ ! -d $SMPO_PATH ];
then
        mkdir $SMPO_PATH
        mkdir $SMPO_PATH/{conf,images,logs,lib,plans,templates}
else
        if [ ! -e /etc/init.d/$MODULE_NAME ];
        then
		if [ ! -e /etc/systemd/system/smpo-server.service ];
		        then
		        cp scripts/smpo-server.service /etc/systemd/system
		        chown root:root /etc/systemd/system/smpo-server.service
		else
			service smpo-server stop
	        fi
        else
            /etc/init.d/$MODULE_NAME stop
            update-rc.d $MODULE_NAME remove
	    systemctl disable $MODULE_NAME
            mv /etc/init.d/$MODULE_NAME /usr/bin
        fi
fi
	  cd $iHOME/$MODULE_NAME
          cp -f $MODULE_NAME.jar $SMPO_PATH
          cp -f uninstall.sh $SMPO_PATH
          cp -rf lib/* $SMPO_PATH/lib
          cp -rf conf/* $SMPO_PATH/conf
          cp -rf templates/* $SMPO_PATH/templates
	  chmod +x /usr/bin/$MODULE_NAME
	  chown -R root:root $SMPO_PATH
          cp scripts/smpo-server.service /etc/systemd/system
          chown root:root /etc/systemd/system/smpo-server.service

if [ ! -e /usr/bin/$MODULE_NAME ];
then
	cp -f $iHOME/$MODULE_NAME/$MODULE_NAME.sh /usr/bin/$MODULE_NAME
	chmod +x /usr/bin/$MODULE_NAME
fi
EOF
}
#
sudo su <<EOF
if [ ! -d ${PSQL_PATH} ];
    then
        echo -e "\n"
        echo -e "\n\033[33;1m Поиск установочного комплекта AstraSE \033[0m\n"
        echo -e "\n"
        ASTRA_PATH=`find / -name "AstraSmolenskAmd64.iso"`
        echo -e $ASTRA_PATH
if [ $ASTRA_PATH = "" ]; then
        echo -e "Отсутствует установочный диск AstraSE"
        echo -e "\n\033[33;1m Скачивается установочный диск AstraSE \033[0m\n"
        wget -c --no-check-certificate https://srv2.jupiter8.ru/soft/AstraSE/AstraSmolenskAmd64.iso -O $HOME"/Загрузки/"AstraSmolenskAmd64.iso
        ASTRA_PATH=$HOME"/Загрузки"
fi
        echo -e " Установка PostgreSQL "
        mount -t iso9660 -o loop $ASTRA_PATH /media/cdrom0
        apt-cdrom add
        apt update
        apt install postgresql -y
        systemctl enable postgresql
        systemctl start postgresql
    else
if [ `ps aux | grep [p]ostgresql | wc -l` = 0 ]; then
    systemctl start postgresql
    echo -e "\n\033[33;1m Запуск PostgreSQL \033[0m\n"
fi
        echo -e "\n\033[33;1m PostgreSQL установлен и запущен \033[0m\n"
fi
#
sudo -u postgres psql -c "ALTER USER postgres with encrypted password 'postgres';"
sudo -u postgres psql -c "CREATE DATABASE jupiter;"
systemctl restart postgresql
#
rm -rf /usr/lib/jvm
cd /usr
wget --no-check-certificate https://srv2.jupiter8.ru/soft/java/jre-8u202-linux-x64.tar.gz -O jre-linux.tar.gz
mkdir /usr/lib/jvm
tar xvfz jre-linux.tar.gz
mv  jre1.* /usr/lib/jvm/jre
rm -f jre-linux.tar.gz
update-alternatives --remove-all java
update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre/bin/java 0
java -version
echo -e "\n\033[33;1m Установка Java успешно завершена!\033[0m\n"
cd $iHOME
wget -c --no-check-certificate https://srv2.jupiter8.ru/kros/uploads/smpo-server/smpo-server.zip --user=elestatemp --password=elestaftp -O $iHOME/smpo-server.zip
unzip -xu smpo-server.zip
EOF

if [ -d $SMPO_PATH ];
    then
        echo -e " Сервер КРОС уже установлен. "
	echo -e "\n"
	echo -e "  Обновить установленную версию КРОС? [Да(Yes)/Нет(No)]: "
	read inkey;
    else
	inkey="Y"
fi
#if [ ! -e /usr/bin/check_postgresql ];
#    then
#        cp scripts/check_postgresql /usr/bin
#        chmod +x /usr/bin/check_postgresql
#        cp scripts/check_postgresql.service /etc/systemd/system
#        systemctl enable check_postgresql
#        echo -e " Проверка запуска PostgreSQL установлена "
#    else
#        echo -e " Проверка запуска PostgreSQL уже установлена "
#fi
#            systemctl enable smpo-server
#            systemctl daemon-reload
#
case $inkey in
Y | y | yes | YES | Д | Да | ДА | д | да)
	if [ -d $iHOME/$MODULE_NAME.bak ];
	then
		sudo cp -rf $iHOME/$MODULE_NAME.bak
	  if [ -d $SMPO_PATH ];
	  then
                sudo mkdir $iHOME/$MODULE_NAME.bak
                sudo cp -rf $SMPO_PATH $iHOME/$MODULE_NAME.bak/
	  fi
	fi
                copy_kros
		;;
*)
                echo -e "Обновление КРОС производится не будет."
		;;
esac
sudo su <<EOF
            systemctl daemon-reload
            systemctl enable smpo-server
#rm smpo-server.zip
sudo rm -rf $iHOME/$MODULE_NAME
EOF
echo -e "\n\033[33;1m###############################################################"
echo -e             "#                                                             #"
echo -e             "#            Установка SMPO-SERVER завершена                  #"
echo -e             "#  Команды управления сервером КРОС:                          #"
echo -e             "#         Запутить службу - service smpo-server start         #"
echo -e             "#         Остановить службу - service smpo-server stop        #"
echo -e             "#         Перезапустить службу - service smpo-server restart  #"
echo -e             "#         Узнать статус службы - service smpo-server status   #"
echo -e             "#                                                             #"
echo -e             "###############################################################\033[0m\n"
sudo service smpo-server start
sleep 5
sudo ps aux|grep smpo-server
exit 0
