From 80971644752f6394a0330201ef7107dd9f27f6ad Mon Sep 17 00:00:00 2001 From: midoks Date: Sun, 10 Sep 2023 12:19:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=8D=8E=E4=B8=BA=E6=AC=A7?= =?UTF-8?q?=E6=8B=89=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/install.sh | 3 + scripts/install/euler.sh | 141 +++++++++++++++++++++++++++++++++++++++ scripts/install_dev.sh | 2 + scripts/update/euler.sh | 58 ++++++++++++++++ 4 files changed, 204 insertions(+) create mode 100755 scripts/install/euler.sh create mode 100755 scripts/update/euler.sh diff --git a/scripts/install.sh b/scripts/install.sh index 4b0607f84..dfac942ec 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -28,6 +28,9 @@ elif grep -Eqi "openSUSE" /etc/*-release; then zypper install cron wget curl zip unzip elif grep -Eqi "FreeBSD" /etc/*-release; then OSNAME='freebsd' +elif grep -Eq "EulerOS" /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 curl zip unzip tar crontabs diff --git a/scripts/install/euler.sh b/scripts/install/euler.sh new file mode 100755 index 000000000..92c73b967 --- /dev/null +++ b/scripts/install/euler.sh @@ -0,0 +1,141 @@ +#!/bin/bash +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin +export PATH +LANG=en_US.UTF-8 + +if [ ! -f /usr/bin/applydeltarpm ];then + yum -y provides '*/applydeltarpm' + yum -y install deltarpm +fi + +VERSION_ID=`cat /etc/*-release | grep VERSION_ID | awk -F = '{print $2}' | awk -F "\"" '{print $2}'` + +setenforce 0 +sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config + +yum install -y wget lsof crontabs +yum install -y python3-devel +yum install -y python3-pip +yum install -y python-devel +yum install -y vixie-cron +yum install -y curl-devel +yum install -y libmcrypt +yum install -y libmcrypt-devel +yum install -y mysql-devel +yum install -y expect + + +if [ -f /usr/sbin/iptables ];then + + iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT + iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT + iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT + iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 888 -j ACCEPT + service iptables save + + iptables_status=`service iptables status | grep 'not running'` + if [ "${iptables_status}" == '' ];then + service iptables restart + fi + + #安装时不开启 + service iptables stop +fi + + +if [ ! -f /usr/sbin/iptables ];then + yum install firewalld -y + systemctl enable firewalld + #取消服务锁定 + systemctl unmask firewalld + systemctl start firewalld + + firewall-cmd --permanent --zone=public --add-port=22/tcp + firewall-cmd --permanent --zone=public --add-port=80/tcp + firewall-cmd --permanent --zone=public --add-port=443/tcp + firewall-cmd --permanent --zone=public --add-port=888/tcp + + + sed -i 's#AllowZoneDrifting=yes#AllowZoneDrifting=no#g' /etc/firewalld/firewalld.conf + firewall-cmd --reload + #安装时不开启 + systemctl stop firewalld +fi + +yum groupinstall -y "Development Tools" +yum install -y epel-release + +yum install -y oniguruma oniguruma-devel +#centos8 stream | use dnf +if [ "$?" != "0" ];then + yum install -y dnf dnf-plugins-core + dnf config-manager --set-enabled powertools + yum install -y oniguruma oniguruma-devel + dnf upgrade -y libmodulemd +fi + + +yum install -y libtirpc libtirpc-devel +yum install -y rpcgen +yum install -y openldap openldap-devel +yum install -y bison re2c +yum install -y cmake3 +yum install -y autoconf +yum install -y make cmake gcc gcc-c++ + +yum install -y libmemcached libmemcached-devel +yum install -y curl curl-devel +yum install -y zlib zlib-devel +yum install -y libzip libzip-devel +yum install -y pcre pcre-devel +yum install -y icu libicu-devel +yum install -y freetype freetype-devel +yum install -y openssl openssl-devel +yum install -y libxml2 libxml2-devel +yum install -y graphviz +yum install -y sqlite-devel +yum install -y oniguruma oniguruma-devel +yum install -y ImageMagick ImageMagick-devel + + +yum install -y libzstd-devel +yum install -y libevent libevent-devel unzip zip +# yum install -y python-imaging +yum install -y libicu-devel bzip2-devel pcre pcre-devel + +yum install -y gd gd-devel +yum install -y libjpeg-devel libpng-devel libwebp libwebp-devel + +yum install -y net-tools +yum install -y ncurses-devel +yum install -y libXpm-devel +yum install -y libargon2-devel + + +for yumPack in flex file libtool libtool-libs kernel-devel patch wget glib2 glib2-devel tar bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel libcurl libcurl-devel e2fsprogs e2fsprogs-devel libidn libidn-devel vim-minimal gettext gettext-devel ncurses-devel gmp-devel libcap diffutils ca-certificates net-tools psmisc git-core c-ares-devel libicu-devel libxslt libxslt-devel zip unzip glibc.i686 libstdc++.so.6 cairo-devel ncurses-devel libaio-devel perl perl-devel perl-Data-Dumper expat-devel readline-devel; +do yum -y install $yumPack;done + + +if [ "$VERSION_ID" -eq "8" ];then + dnf upgrade -y libmodulemd +fi + +if [ "$VERSION_ID" -eq "9" ];then + yum install -y patchelf + dnf --enablerepo=crb install -y libtirpc-devel + dnf --enablerepo=crb install -y libmemcached libmemcached-devel + dnf --enablerepo=crb install -y libtool libtool-libs + dnf --enablerepo=crb install -y gnutls-devel + dnf --enablerepo=crb install -y mysql-devel + + dnf --enablerepo=crb install -y libvpx-devel libXpm-devel libwebp libwebp-devel + dnf --enablerepo=crb install -y libjpeg-devel libpng-devel + dnf --enablerepo=crb install -y oniguruma oniguruma-devel + dnf --enablerepo=crb install -y libzip libzip-devel + # yum remove -y chardet +fi + + +cd /www/server/mdserver-web/scripts && bash lib.sh +chmod 755 /www/server/mdserver-web/data + diff --git a/scripts/install_dev.sh b/scripts/install_dev.sh index 330b7eea5..9ca5a7320 100755 --- a/scripts/install_dev.sh +++ b/scripts/install_dev.sh @@ -32,6 +32,8 @@ elif grep -Eq "openSUSE" /etc/*-release; then zypper refresh elif grep -Eq "FreeBSD" /etc/*-release; then OSNAME='freebsd' +elif grep -Eq "EulerOS" /etc/*-release; then + OSNAME='euler' elif grep -Eqi "CentOS" /etc/issue || grep -Eqi "CentOS" /etc/*-release; then OSNAME='rhel' yum install -y wget zip unzip diff --git a/scripts/update/euler.sh b/scripts/update/euler.sh new file mode 100755 index 000000000..746c6dd79 --- /dev/null +++ b/scripts/update/euler.sh @@ -0,0 +1,58 @@ +#!/bin/bash +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin +export PATH +export LANG=en_US.UTF-8 + + +if [ -f /etc/motd ];then + echo "welcome to mdserver-web panel" > /etc/motd +fi + +sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config + +yum install -y curl-devel libmcrypt libmcrypt-devel python3-devel + + +cd /www/server/mdserver-web/scripts && bash lib.sh +chmod 755 /www/server/mdserver-web/data + +if [ -f /etc/rc.d/init.d/mw ];then + bash /etc/rc.d/init.d/mw stop && rm -rf /www/server/mdserver-web/scripts/init.d/mw && rm -rf /etc/rc.d/init.d/mw +fi + +echo -e "stop mw" +isStart=`ps -ef|grep 'gunicorn -c setting.py app:app' |grep -v grep|awk '{print $2}'` + +port=7200 +if [ -f /www/server/mdserver-web/data/port.pl ]; then + port=$(cat /www/server/mdserver-web/data/port.pl) +fi + +n=0 +while [[ "$isStart" != "" ]]; +do + echo -e ".\c" + sleep 0.5 + isStart=$(lsof -n -P -i:$port|grep LISTEN|grep -v grep|awk '{print $2}'|xargs) + let n+=1 + if [ $n -gt 15 ];then + break; + fi +done + + +echo -e "start mw" +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 +echo -e "start mw success" \ No newline at end of file