mirror of
https://github.com/midoks/mdserver-web.git
synced 2026-10-10 04:59:25 +08:00
update
This commit is contained in:
@@ -182,11 +182,6 @@ curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev
|
||||
|
||||
curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/install_dev.sh | bash
|
||||
curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/dev/scripts/update_dev.sh | bash
|
||||
|
||||
|
||||
|
||||
curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/install_new.sh | bash
|
||||
curl --insecure -fsSL https://raw.githubusercontent.com/midoks/mdserver-web/dev/scripts/update_new.sh | bash
|
||||
```
|
||||
|
||||
### 旧版安装
|
||||
|
||||
@@ -1,189 +0,0 @@
|
||||
#!/bin/bash
|
||||
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/opt/homebrew/bin
|
||||
export PATH
|
||||
# LANG=en_US.UTF-8
|
||||
is64bit=`getconf LONG_BIT`
|
||||
|
||||
if [ -f /www/server/mdserver-web/tools.py ];then
|
||||
echo -e "存在旧版代码,不能安装!,已知风险的情况下"
|
||||
echo -e "rm -rf /www/server/mdserver-web"
|
||||
echo -e "可安装!"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo -e "您正在安装的是\033[31mmdserver-web测试版\033[0m,非开发测试用途请使用正式版 install.sh !"
|
||||
echo -e "You are installing\033[31m mdserver-web dev version\033[0m, normally use install.sh for production.\n"
|
||||
sleep 1
|
||||
|
||||
LOG_FILE=/var/log/mw-install.log
|
||||
|
||||
{
|
||||
|
||||
if [ -f /etc/motd ];then
|
||||
echo "welcome to mdserver-web panel" > /etc/motd
|
||||
fi
|
||||
|
||||
startTime=`date +%s`
|
||||
|
||||
_os=`uname`
|
||||
echo "use system: ${_os}"
|
||||
|
||||
|
||||
if [ ${_os} == "Darwin" ]; then
|
||||
OSNAME='macos'
|
||||
elif grep -Eq "openSUSE" /etc/*-release; then
|
||||
OSNAME='opensuse'
|
||||
zypper refresh
|
||||
zypper install -y wget curl zip unzip unrar rar
|
||||
elif grep -Eq "FreeBSD" /etc/*-release; then
|
||||
OSNAME='freebsd'
|
||||
pkg install -y wget curl zip unzip unrar rar
|
||||
elif grep -Eqi "EulerOS" /etc/*-release || grep -Eqi "openEuler" /etc/*-release; then
|
||||
OSNAME='euler'
|
||||
yum install -y wget curl zip unzip tar crontabs
|
||||
elif grep -Eqi "CentOS" /etc/issue || grep -Eqi "CentOS" /etc/*-release; then
|
||||
OSNAME='rhel'
|
||||
yum install -y wget zip unzip tar
|
||||
elif grep -Eqi "Fedora" /etc/issue || grep -Eqi "Fedora" /etc/*-release; then
|
||||
OSNAME='rhel'
|
||||
yum install -y wget zip unzip tar
|
||||
elif grep -Eqi "Rocky" /etc/issue || grep -Eqi "Rocky" /etc/*-release; then
|
||||
OSNAME='rhel'
|
||||
yum install -y wget zip unzip
|
||||
elif grep -Eqi "AlmaLinux" /etc/issue || grep -Eqi "AlmaLinux" /etc/*-release; then
|
||||
OSNAME='rhel'
|
||||
yum install -y wget zip unzip tar
|
||||
elif grep -Eqi "Amazon Linux" /etc/issue || grep -Eqi "Amazon Linux" /etc/*-release; then
|
||||
OSNAME='amazon'
|
||||
yum install -y wget zip unzip tar
|
||||
elif grep -Eqi "Ubuntu" /etc/issue || grep -Eqi "Ubuntu" /etc/*-release; then
|
||||
OSNAME='ubuntu'
|
||||
apt install -y wget zip unzip tar
|
||||
elif grep -Eqi "Debian" /etc/issue || grep -Eqi "Debian" /etc/*-release; then
|
||||
OSNAME='debian'
|
||||
apt update -y
|
||||
apt install -y devscripts
|
||||
apt install -y wget zip unzip tar
|
||||
else
|
||||
OSNAME='unknow'
|
||||
fi
|
||||
|
||||
if [ "$EUID" -ne 0 ] && [ "$OSNAME" != "macos" ];then
|
||||
echo "Please run as root!"
|
||||
exit
|
||||
fi
|
||||
|
||||
# HTTP_PREFIX="https://"
|
||||
# LOCAL_ADDR=common
|
||||
# ping -c 1 github.com > /dev/null 2>&1
|
||||
# if [ "$?" != "0" ];then
|
||||
# LOCAL_ADDR=cn
|
||||
# HTTP_PREFIX="https://mirror.ghproxy.com/"
|
||||
# fi
|
||||
|
||||
HTTP_PREFIX="https://"
|
||||
LOCAL_ADDR=common
|
||||
cn=$(curl -fsSL -m 10 -s http://ipinfo.io/json | grep "\"country\": \"CN\"")
|
||||
if [ ! -z "$cn" ] || [ "$?" == "0" ] ;then
|
||||
LOCAL_ADDR=cn
|
||||
HTTP_PREFIX="https://mirror.ghproxy.com/"
|
||||
fi
|
||||
|
||||
echo "local:${LOCAL_ADDR}"
|
||||
echo "OSNAME:${OSNAME}"
|
||||
|
||||
if [ $OSNAME != "macos" ];then
|
||||
|
||||
if id www &> /dev/null ;then
|
||||
echo ""
|
||||
else
|
||||
groupadd www
|
||||
useradd -g www -s /usr/sbin/nologin www
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
if [ "$LOCAL_ADDR" == "common" ];then
|
||||
curl --insecure -sSLo /tmp/dev.zip ${HTTP_PREFIX}github.com/midoks/mdserver-web/archive/refs/heads/dev.zip
|
||||
cd /tmp && unzip /tmp/dev.zip
|
||||
mv -f /tmp/mdserver-web-dev /www/server/mdserver-web
|
||||
rm -rf /tmp/dev.zip
|
||||
rm -rf /tmp/mdserver-web-dev
|
||||
else
|
||||
# curl --insecure -sSLo /tmp/dev.zip https://code.midoks.icu/midoks/mdserver-web/archive/dev.zip
|
||||
wget --no-check-certificate -O /tmp/dev.zip https://code.midoks.icu/midoks/mdserver-web/archive/dev.zip
|
||||
cd /tmp && unzip /tmp/dev.zip
|
||||
mv -f /tmp/mdserver-web /www/server/mdserver-web
|
||||
rm -rf /tmp/dev.zip
|
||||
rm -rf /tmp/mdserver-web
|
||||
fi
|
||||
fi
|
||||
|
||||
# install acme.sh
|
||||
if [ ! -d /root/.acme.sh ];then
|
||||
if [ "$LOCAL_ADDR" != "common" ];then
|
||||
# curl -sSL -o /tmp/acme.tar.gz ${HTTP_PREFIX}github.com/acmesh-official/acme.sh/archive/master.tar.gz
|
||||
curl --insecure -sSLo /tmp/acme.tar.gz https://gitee.com/neilpang/acme.sh/repository/archive/master.tar.gz
|
||||
tar xvzf /tmp/acme.tar.gz -C /tmp
|
||||
cd /tmp/acme.sh-master
|
||||
bash acme.sh install
|
||||
fi
|
||||
|
||||
if [ ! -d /root/.acme.sh ];then
|
||||
curl https://get.acme.sh | sh
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "use system version: ${OSNAME}"
|
||||
|
||||
if [ "${OSNAME}" == "macos" ];then
|
||||
curl --insecure -fsSL https://code.midoks.icu/midoks/mdserver-web/raw/branch/master/scripts/install/macos.sh | bash
|
||||
else
|
||||
cd /www/server/mdserver-web && bash scripts/install/${OSNAME}.sh
|
||||
fi
|
||||
|
||||
if [ "${OSNAME}" == "macos" ];then
|
||||
echo "macos end"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cd /www/server/mdserver-web && bash cli.sh start
|
||||
isStart=`ps -ef|grep 'gunicorn -c setting.py app:app' |grep -v grep|awk '{print $2}'`
|
||||
n=0
|
||||
while [ ! -f /etc/rc.d/init.d/mw ];
|
||||
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
|
||||
|
||||
sleep 2
|
||||
if [ ! -e /usr/bin/mw ]; then
|
||||
if [ -f /etc/rc.d/init.d/mw ];then
|
||||
ln -s /etc/rc.d/init.d/mw /usr/bin/mw
|
||||
fi
|
||||
fi
|
||||
|
||||
endTime=`date +%s`
|
||||
((outTime=(${endTime}-${startTime})/60))
|
||||
echo -e "Time consumed:\033[32m $outTime \033[0mMinute!"
|
||||
|
||||
} 1> >(tee $LOG_FILE) 2>&1
|
||||
|
||||
echo -e "\nInstall completed. If error occurs, please contact us with the log file mw-install.log ."
|
||||
echo "安装完毕,如果出现错误,请带上同目录下的安装日志 mw-install.log 联系我们反馈."
|
||||
@@ -1,134 +0,0 @@
|
||||
#!/bin/bash
|
||||
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/opt/homebrew/bin
|
||||
export PATH
|
||||
# LANG=en_US.UTF-8
|
||||
is64bit=`getconf LONG_BIT`
|
||||
|
||||
startTime=`date +%s`
|
||||
|
||||
if [ -f /www/server/mdserver-web/tools.py ];then
|
||||
echo -e "存在旧版代码,不能安装!,已知风险的情况下"
|
||||
echo -e "rm -rf /www/server/mdserver-web"
|
||||
echo -e "可安装!"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
_os=`uname`
|
||||
echo "use system: ${_os}"
|
||||
|
||||
if [ "$EUID" -ne 0 ]
|
||||
then echo "Please run as root!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ ${_os} != "Darwin" ] && [ ! -d /www/server/mdserver-web/logs ]; then
|
||||
mkdir -p /www/server/mdserver-web/logs
|
||||
fi
|
||||
|
||||
LOG_FILE=/var/log/mw-update.log
|
||||
|
||||
{
|
||||
|
||||
if [ ${_os} == "Darwin" ]; then
|
||||
OSNAME='macos'
|
||||
elif grep -Eqi "openSUSE" /etc/*-release; then
|
||||
OSNAME='opensuse'
|
||||
zypper refresh
|
||||
elif grep -Eqi "EulerOS" /etc/*-release || grep -Eqi "openEuler" /etc/*-release; then
|
||||
OSNAME='euler'
|
||||
elif grep -Eqi "FreeBSD" /etc/*-release; then
|
||||
OSNAME='freebsd'
|
||||
elif grep -Eqi "CentOS" /etc/issue || grep -Eqi "CentOS" /etc/*-release; then
|
||||
OSNAME='centos'
|
||||
yum install -y wget zip unzip
|
||||
elif grep -Eqi "Fedora" /etc/issue || grep -Eqi "Fedora" /etc/*-release; then
|
||||
OSNAME='rhel'
|
||||
yum install -y wget zip unzip
|
||||
elif grep -Eqi "Rocky" /etc/issue || grep -Eqi "Rocky" /etc/*-release; then
|
||||
OSNAME='rhel'
|
||||
yum install -y wget zip unzip
|
||||
elif grep -Eqi "AlmaLinux" /etc/issue || grep -Eqi "AlmaLinux" /etc/*-release; then
|
||||
OSNAME='rhel'
|
||||
yum install -y wget zip unzip
|
||||
elif grep -Eqi "Amazon Linux" /etc/issue || grep -Eqi "Amazon Linux" /etc/*-release; then
|
||||
OSNAME='amazon'
|
||||
yum install -y wget zip unzip
|
||||
elif grep -Eqi "Debian" /etc/issue || grep -Eqi "Debian" /etc/*-release; then
|
||||
OSNAME='debian'
|
||||
apt install -y wget zip unzip
|
||||
elif grep -Eqi "Ubuntu" /etc/issue || grep -Eqi "Ubuntu" /etc/*-release; then
|
||||
OSNAME='ubuntu'
|
||||
apt install -y wget zip unzip
|
||||
elif grep -Eqi "Raspbian" /etc/issue || grep -Eqi "Raspbian" /etc/*-release; then
|
||||
OSNAME='raspbian'
|
||||
else
|
||||
OSNAME='unknow'
|
||||
fi
|
||||
|
||||
# HTTP_PREFIX="https://"
|
||||
# LOCAL_ADDR=common
|
||||
# ping -c 1 github.com > /dev/null 2>&1
|
||||
# if [ "$?" != "0" ];then
|
||||
# LOCAL_ADDR=cn
|
||||
# HTTP_PREFIX="https://mirror.ghproxy.com/"
|
||||
# fi
|
||||
HTTP_PREFIX="https://"
|
||||
LOCAL_ADDR=common
|
||||
cn=$(curl -fsSL -m 10 -s http://ipinfo.io/json | grep "\"country\": \"CN\"")
|
||||
if [ ! -z "$cn" ] || [ "$?" == "0" ] ;then
|
||||
LOCAL_ADDR=cn
|
||||
HTTP_PREFIX="https://mirror.ghproxy.com/"
|
||||
fi
|
||||
|
||||
echo "local:${LOCAL_ADDR}"
|
||||
|
||||
CP_CMD=/usr/bin/cp
|
||||
if [ -f /bin/cp ];then
|
||||
CP_CMD=/bin/cp
|
||||
fi
|
||||
|
||||
echo "update mdserver-web code start"
|
||||
|
||||
if [ "$LOCAL_ADDR" != "common" ];then
|
||||
wget --no-check-certificate -O /tmp/dev.zip https://code.midoks.icu/midoks/mdserver-web/archive/dev.zip
|
||||
# curl --insecure -sSLo /tmp/dev.zip https://code.midoks.icu/midoks/mdserver-web/archive/dev.zip
|
||||
cd /tmp && unzip /tmp/dev.zip
|
||||
|
||||
$CP_CMD -rf /tmp/mdserver-web/* /www/server/mdserver-web
|
||||
rm -rf /tmp/master.zip
|
||||
rm -rf /tmp/mdserver-web
|
||||
else
|
||||
curl --insecure -sSLo /tmp/dev.zip ${HTTP_PREFIX}github.com/midoks/mdserver-web/archive/refs/heads/dev.zip
|
||||
cd /tmp && unzip /tmp/dev.zip
|
||||
$CP_CMD -rf /tmp/mdserver-web-dev/* /www/server/mdserver-web
|
||||
rm -rf /tmp/dev.zip
|
||||
rm -rf /tmp/mdserver-web-dev
|
||||
fi
|
||||
|
||||
echo "update mdserver-web code end"
|
||||
|
||||
rm -rf /tmp/dev.zip
|
||||
rm -rf /tmp/mdserver-web-dev
|
||||
|
||||
#pip uninstall public
|
||||
echo "use system version: ${OSNAME}"
|
||||
cd /www/server/mdserver-web && bash scripts/update/${OSNAME}.sh
|
||||
|
||||
bash /etc/rc.d/init.d/mw restart
|
||||
bash /etc/rc.d/init.d/mw default
|
||||
|
||||
if [ -f /usr/bin/mw ];then
|
||||
rm -rf /usr/bin/mw
|
||||
fi
|
||||
|
||||
if [ ! -e /usr/bin/mw ]; then
|
||||
if [ ! -f /usr/bin/mw ];then
|
||||
ln -s /etc/rc.d/init.d/mw /usr/bin/mw
|
||||
fi
|
||||
fi
|
||||
|
||||
endTime=`date +%s`
|
||||
((outTime=($endTime-$startTime)/60))
|
||||
echo -e "Time consumed:\033[32m $outTime \033[0mMinute!"
|
||||
|
||||
} 1> >(tee $LOG_FILE) 2>&1
|
||||
+1
-1
@@ -47,7 +47,7 @@ if os.path.exists(default_port_file):
|
||||
else:
|
||||
from utils.firewall import Firewall as MwFirewall
|
||||
panel_port = str(random.randint(10000, 65530))
|
||||
MwFirewall.instance().addAcceptPort(panel_port, 'PANEL端口', 'port')
|
||||
MwFirewall.instance().addPanelPort(panel_port)
|
||||
mw.writeFile(default_port_file, panel_port)
|
||||
|
||||
bind = []
|
||||
|
||||
@@ -309,6 +309,18 @@ class Firewall(object):
|
||||
mw.writeLog("防火墙管理", msg)
|
||||
return mw.returnData(True, msg)
|
||||
|
||||
def addPanelPort(self, port):
|
||||
protocol = 'tcp'
|
||||
ps = 'PANEL端口'
|
||||
|
||||
thisdb.addFirewall(port, ps=ps,protocol=protocol)
|
||||
self.addAcceptPortCmd(port, protocol=protocol)
|
||||
self.reload()
|
||||
|
||||
msg = mw.getInfo('放行端口[{1}][{2}]成功', (port, protocol,))
|
||||
mw.writeLog("防火墙管理", msg)
|
||||
return mw.returnData(True, msg)
|
||||
|
||||
def delAcceptPort(self, firewall_id, port,
|
||||
protocol='tcp'
|
||||
):
|
||||
|
||||
Reference in New Issue
Block a user