mirror of https://github.com/midoks/mdserver-web
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
2.5 KiB
111 lines
2.5 KiB
#!/bin/bash
|
|
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
|
|
export PATH
|
|
|
|
curPath=`pwd`
|
|
rootPath=$(dirname "$curPath")
|
|
rootPath=$(dirname "$rootPath")
|
|
serverPath=$(dirname "$rootPath")
|
|
|
|
VERSION=0.0.19
|
|
|
|
# bash install.sh install 0.0.19
|
|
## cd /www/server/mdserver-web/plugins/imail && bash install.sh install 0.0.19
|
|
|
|
bash ${rootPath}/scripts/getos.sh
|
|
OSNAME=`cat ${rootPath}/data/osname.pl`
|
|
OSNAME_ID=`cat /etc/*-release | grep VERSION_ID | awk -F = '{print $2}' | awk -F "\"" '{print $2}'`
|
|
|
|
|
|
ARCH="amd64"
|
|
|
|
get_arch() {
|
|
TMP_ARCH=`arch`
|
|
if [ "$TMP_ARCH" == "x86_64" ];then
|
|
ARCH="amd64"
|
|
elif [ "$TMP_ARCH" == "aarch64" ];then
|
|
ARCH="arm64"
|
|
else
|
|
echo $ARCH
|
|
fi
|
|
}
|
|
|
|
load_vars() {
|
|
OS=$(uname | tr '[:upper:]' '[:lower:]')
|
|
TARGET_DIR="$serverPath/imail"
|
|
}
|
|
|
|
get_download_url() {
|
|
DOWNLOAD_URL="https://github.com/midoks/imail/releases/download/$VERSION/imail_${VERSION}_${OS}_${ARCH}.tar.gz"
|
|
}
|
|
|
|
# download file
|
|
download_file() {
|
|
url="${1}"
|
|
destination="${2}"
|
|
|
|
printf "Fetching ${url} \n\n"
|
|
|
|
if test -x "$(command -v curl)"; then
|
|
code=$(curl --connect-timeout 15 -w '%{http_code}' -L "${url}" -o "${destination}")
|
|
elif test -x "$(command -v wget)"; then
|
|
code=$(wget -t2 -T15 -O "${destination}" --server-response "${url}" 2>&1 | awk '/^ HTTP/{print $2}' | tail -1)
|
|
else
|
|
printf "\e[1;31mNeither curl nor wget was available to perform http requests.\e[0m\n"
|
|
exit 1
|
|
fi
|
|
|
|
if [ "${code}" != 200 ]; then
|
|
printf "\e[1;31mRequest failed with code %s\e[0m\n" $code
|
|
exit 1
|
|
else
|
|
printf "\n\e[1;33mDownload succeeded\e[0m\n"
|
|
fi
|
|
}
|
|
|
|
|
|
Install_App()
|
|
{
|
|
echo '正在安装脚本文件...'
|
|
mkdir -p $serverPath/source
|
|
|
|
load_vars
|
|
get_arch
|
|
get_download_url
|
|
|
|
DOWNLOAD_FILE="$(mktemp).tar.gz"
|
|
download_file $DOWNLOAD_URL $DOWNLOAD_FILE
|
|
|
|
if [ ! -d "$TARGET_DIR" ]; then
|
|
mkdir -p "$TARGET_DIR"
|
|
fi
|
|
|
|
tar -C "$TARGET_DIR" -zxf $DOWNLOAD_FILE
|
|
rm -rf $DOWNLOAD_FILE
|
|
|
|
pushd "$TARGET_DIR/scripts" >/dev/null 2>&1
|
|
bash make.sh
|
|
|
|
if [ -d $serverPath/imail ];then
|
|
echo "$VERSION" > $serverPath/imail/version.pl
|
|
|
|
cd ${rootPath} && python3 ${rootPath}/plugins/imail/index.py start
|
|
cd ${rootPath} && python3 ${rootPath}/plugins/imail/index.py initd_install
|
|
fi
|
|
echo 'install successful'
|
|
}
|
|
|
|
Uninstall_App()
|
|
{
|
|
cd ${rootPath} && python3 ${rootPath}/plugins/imail/index.py initd_uninstall
|
|
cd ${rootPath} && python3 ${rootPath}/plugins/imail/index.py stop
|
|
rm -rf $serverPath/imail
|
|
echo "install fail"
|
|
}
|
|
|
|
action=$1
|
|
if [ "${1}" == 'install' ];then
|
|
Install_App
|
|
else
|
|
Uninstall_App
|
|
fi
|
|
|