mdserver-web/scripts/install_dev.sh

129 lines
3.6 KiB
Bash
Raw Normal View History

2022-06-21 00:04:48 -04:00
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
2022-06-21 13:10:16 -04:00
# LANG=en_US.UTF-8
2022-06-21 00:04:48 -04:00
is64bit=`getconf LONG_BIT`
2022-12-20 00:33:59 -05:00
echo -e "您正在安装的是\033[31mmdserver-web测试版\033[0m非开发测试用途请使用正式版 install.sh "
echo -e "You are installing\033[31mmdserver-web dev version\033[0m, normally use install.sh for production.\n"
sleep 2
2022-12-13 00:09:15 -05:00
{
2022-06-21 00:04:48 -04:00
if [ -f /etc/motd ];then
echo "welcome to mdserver-web panel" > /etc/motd
fi
startTime=`date +%s`
_os=`uname`
echo "use system: ${_os}"
2022-06-26 07:35:54 -04:00
if [ "$EUID" -ne 0 ]
then echo "Please run as root!"
exit
fi
2022-06-21 00:04:48 -04:00
2022-07-04 09:11:22 -04:00
2022-06-21 00:04:48 -04:00
if [ ${_os} == "Darwin" ]; then
OSNAME='macos'
2022-07-03 08:20:19 -04:00
elif grep -Eq "openSUSE" /etc/*-release; then
OSNAME='opensuse'
zypper refresh
2022-07-04 06:56:13 -04:00
elif grep -Eq "FreeBSD" /etc/*-release; then
OSNAME='freebsd'
2022-12-15 04:53:17 -05:00
elif grep -Eqi "CentOS" /etc/issue || grep -Eq "CentOS" /etc/*-release; then
OSNAME='rhel'
yum install -y wget zip unzip
elif grep -Eqi "Fedora" /etc/issue || grep -Eq "Fedora" /etc/*-release; then
OSNAME='fedora'
yum install -y wget zip unzip
elif grep -Eqi "Rocky" /etc/issue || grep -Eq "Rocky" /etc/*-release; then
2022-12-09 14:01:31 -05:00
OSNAME='rhel'
2022-12-15 04:53:17 -05:00
yum install -y wget zip unzip
elif grep -Eqi "AlmaLinux" /etc/issue || grep -Eq "AlmaLinux" /etc/*-release; then
OSNAME='rhel'
yum install -y wget zip unzip
elif grep -Eqi "Amazon Linux" /etc/issue || grep -Eq "Amazon Linux" /etc/*-release; then
OSNAME='amazon'
yum install -y wget zip unzip
elif grep -Eqi "Debian" /etc/issue || grep -Eq "Debian" /etc/*-release; then
2022-06-21 00:04:48 -04:00
OSNAME='debian'
2022-06-22 22:46:59 -04:00
apt update -y
2022-12-15 04:53:17 -05:00
apt install -y devscripts
apt install -y wget zip unzip
elif grep -Eqi "Ubuntu" /etc/issue || grep -Eq "Ubuntu" /etc/*-release; then
OSNAME='ubuntu'
apt install -y wget zip unzip
2022-06-21 00:04:48 -04:00
else
OSNAME='unknow'
fi
if [ $OSNAME != "macos" ];then
mkdir -p /www/server
mkdir -p /www/wwwroot
mkdir -p /www/wwwlogs
mkdir -p /www/backup/database
mkdir -p /www/backup/site
if [ ! -d /www/server/mdserver-web ];then
2022-11-20 00:22:35 -05:00
curl -sSLo /tmp/dev.zip https://github.com/midoks/mdserver-web/archive/refs/heads/dev.zip
2022-06-21 00:04:48 -04:00
cd /tmp && unzip /tmp/dev.zip
2022-06-29 21:41:36 -04:00
mv -f /tmp/mdserver-web-dev /www/server/mdserver-web
2022-06-21 00:04:48 -04:00
rm -rf /tmp/dev.zip
rm -rf /tmp/mdserver-web-dev
fi
2022-12-20 00:04:55 -05:00
# install acme.sh
if [ ! -d /root/.acme.sh ];then
if [ ! -z "$cn" ];then
curl -sSL -o /tmp/acme.tar.gz https://ghproxy.com/github.com/acmesh-official/acme.sh/archive/master.tar.gz
tar xvzf /tmp/acme.tar.gz -C /tmp
cd /tmp/acme.sh-master
bash acme.sh install
cd -
fi
if [ ! -d /root/.acme.sh ];then
curl https://get.acme.sh | sh
fi
fi
2022-06-21 00:04:48 -04:00
fi
echo "use system version: ${OSNAME}"
2022-06-27 00:54:32 -04:00
cd /www/server/mdserver-web && bash scripts/install/${OSNAME}.sh
2022-06-21 00:04:48 -04:00
2022-11-11 05:52:00 -05:00
cd /www/server/mdserver-web && bash cli.sh start
2022-11-10 09:49:24 -05:00
isStart=`ps -ef|grep 'gunicorn -c setting.py app:app' |grep -v grep|awk '{print $2}'`
n=0
2022-11-11 06:06:32 -05:00
while [ ! -f /etc/rc.d/init.d/mw ];
2022-11-10 09:49:24 -05:00
do
echo -e ".\c"
sleep 1
let n+=1
if [ $n -gt 20 ];then
echo -e "start mw fail"
exit 1
fi
done
cd /www/server/mdserver-web && bash /etc/rc.d/init.d/mw stop
cd /www/server/mdserver-web && bash /etc/rc.d/init.d/mw start
cd /www/server/mdserver-web && bash /etc/rc.d/init.d/mw default
2022-11-11 05:52:00 -05:00
sleep 2
2022-10-05 23:12:01 -04:00
if [ ! -e /usr/bin/mw ]; then
2022-11-19 09:05:45 -05:00
if [ -f /etc/rc.d/init.d/mw ];then
2022-11-10 09:49:24 -05:00
ln -s /etc/rc.d/init.d/mw /usr/bin/mw
2022-10-05 23:12:01 -04:00
fi
2022-06-25 10:11:44 -04:00
fi
2022-06-21 00:04:48 -04:00
endTime=`date +%s`
((outTime=(${endTime}-${startTime})/60))
2022-06-23 04:04:08 -04:00
echo -e "Time consumed:\033[32m $outTime \033[0mMinute!"
2022-12-13 00:09:15 -05:00
} 1> >(tee mw-install.log) 2>&1
echo -e "\nInstall completed. If error occurs, please contact us with the log file mw-install.log ."
echo "安装完毕,如果出现错误,请带上同目录下的安装日志 mw-install.log 联系我们反馈."