mdserver-web/scripts/install/debian.sh

199 lines
5.9 KiB
Bash
Raw Normal View History

2022-06-10 06:56:07 -04:00
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
2022-06-14 03:14:31 -04:00
export PATH
2022-10-29 00:18:07 -04:00
export LANG=en_US.UTF-8
2022-06-10 06:56:07 -04:00
2022-06-22 12:48:52 -04:00
# RED='\e[1;31m' # 红色
# GREEN='\e[1;32m' # 绿色
# YELLOW='\e[1;33m' # 黄色
# BLUE='\e[1;34m' # 蓝色
# PURPLE='\e[1;35m' # 紫色
# CYAN='\e[1;36m' # 蓝绿色
# WHITE='\e[1;37m' # 白色
# NC='\e[0m' # 没有颜色
2022-06-10 11:04:12 -04:00
2022-07-04 12:43:46 -04:00
if grep -Eq "Debian" /etc/*-release; then
2022-07-04 11:11:04 -04:00
ln -sf /bin/bash /bin/sh
fi
2022-11-01 06:18:27 -04:00
__GET_BIT=`getconf LONG_BIT`
if [ "$__GET_BIT" == "32" ];then
# install rust | 32bit need
2022-11-01 08:00:06 -04:00
# curl https://sh.rustup.rs -sSf | sh
apt install -y rustc
2022-11-01 06:18:27 -04:00
fi
2022-10-29 12:27:10 -04:00
# synchronize time first
apt-get install ntpdate -y
ntpdate time.nist.gov | logger -t NTP
2022-06-10 11:04:12 -04:00
apt update -y
2022-08-13 05:35:44 -04:00
apt-get update -y
2022-06-10 11:04:12 -04:00
2022-06-11 02:22:10 -04:00
2022-06-16 09:23:38 -04:00
apt install -y wget curl lsof unzip
2022-06-10 11:04:12 -04:00
apt install -y python3-pip
2022-06-22 13:26:33 -04:00
apt install -y python3-dev
2022-06-10 11:04:12 -04:00
apt install -y python3-venv
2022-06-11 02:22:10 -04:00
apt install -y cron
2022-08-11 07:38:43 -04:00
apt install -y expect
2022-06-11 02:22:10 -04:00
2022-07-08 23:56:45 -04:00
apt install -y locate
2022-07-08 08:50:56 -04:00
locale-gen en_US.UTF-8
2022-07-08 23:56:45 -04:00
localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
2022-07-08 08:50:56 -04:00
2022-06-10 11:04:12 -04:00
if [ ! -d /root/.acme.sh ];then
curl https://get.acme.sh | sh
fi
2022-06-12 11:21:19 -04:00
if [ -f /usr/sbin/ufw ];then
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 888/tcp
2022-10-01 05:58:51 -04:00
# ufw allow 7200/tcp
2022-06-22 23:57:42 -04:00
# ufw allow 3306/tcp
2022-06-20 12:46:07 -04:00
# ufw allow 30000:40000/tcp
2022-06-10 11:04:42 -04:00
2022-06-12 11:21:19 -04:00
fi
2022-06-10 11:04:42 -04:00
2022-06-13 23:06:23 -04:00
if [ -f /usr/sbin/ufw ];then
ufw disable
fi
2022-06-12 11:21:19 -04:00
if [ ! -f /usr/sbin/ufw ];then
apt install -y firewalld
systemctl enable 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
2022-10-01 05:58:51 -04:00
# firewall-cmd --permanent --zone=public --add-port=7200/tcp
2022-06-22 23:57:42 -04:00
# firewall-cmd --permanent --zone=public --add-port=3306/tcp
2022-06-20 12:46:07 -04:00
# firewall-cmd --permanent --zone=public --add-port=30000-40000/tcp
2022-06-13 04:13:20 -04:00
# fix:debian10 firewalld faq
# https://kawsing.gitbook.io/opensystem/andoid-shou-ji/untitled/fang-huo-qiang#debian-10-firewalld-0.6.3-error-commandfailed-usrsbinip6tablesrestorewn-failed-ip6tablesrestore-v1.8
2022-06-15 03:42:13 -04:00
sed -i 's#IndividualCalls=no#IndividualCalls=yes#g' /etc/firewalld/firewalld.conf
firewall-cmd --reload
2022-06-10 11:04:42 -04:00
fi
#安装时不开启
2022-06-12 11:21:19 -04:00
systemctl stop firewalld
2022-06-10 11:04:42 -04:00
2022-06-22 12:48:52 -04:00
#fix zlib1g-dev fail
2022-06-22 13:02:31 -04:00
echo -e "\e[0;32mfix zlib1g-dev install question start\e[0m"
2022-06-22 12:48:52 -04:00
Install_TmpFile=/tmp/debian-fix-zlib1g-dev.txt
apt install -y zlib1g-dev > ${Install_TmpFile}
if [ "$?" != "0" ];then
ZLIB1G_BASE_VER=$(cat ${Install_TmpFile} | grep zlib1g | awk -F "=" '{print $2}' | awk -F ")" '{print $1}')
2022-06-22 12:54:01 -04:00
ZLIB1G_BASE_VER=`echo ${ZLIB1G_BASE_VER} | sed "s/^[ \s]\{1,\}//g;s/[ \s]\{1,\}$//g"`
2022-06-22 12:57:10 -04:00
# echo "1${ZLIB1G_BASE_VER}1"
2022-06-22 13:08:31 -04:00
echo -e "\e[1;31mapt install zlib1g=${ZLIB1G_BASE_VER} zlib1g-dev\e[0m"
2022-06-22 13:16:25 -04:00
echo "Y" | apt install zlib1g=${ZLIB1G_BASE_VER} zlib1g-dev
2022-06-22 12:48:52 -04:00
fi
2022-06-22 12:57:10 -04:00
rm -rf ${Install_TmpFile}
2022-06-22 13:02:31 -04:00
echo -e "\e[0;32mfix zlib1g-dev install question end\e[0m"
2022-06-22 12:48:52 -04:00
2022-06-22 15:39:23 -04:00
#fix libunwind-dev fail
echo -e "\e[0;32mfix libunwind-dev install question start\e[0m"
Install_TmpFile=/tmp/debian-fix-libunwind-dev.txt
2022-06-22 23:06:26 -04:00
apt install -y libunwind-dev > ${Install_TmpFile}
2022-06-22 15:39:23 -04:00
if [ "$?" != "0" ];then
liblzma5_BASE_VER=$(cat ${Install_TmpFile} | grep liblzma-dev | awk -F "=" '{print $2}' | awk -F ")" '{print $1}')
liblzma5_BASE_VER=`echo ${liblzma5_BASE_VER} | sed "s/^[ \s]\{1,\}//g;s/[ \s]\{1,\}$//g"`
echo -e "\e[1;31mapt install liblzma5=${liblzma5_BASE_VER} libunwind-dev\e[0m"
echo "Y" | apt install liblzma5=${liblzma5_BASE_VER} libunwind-dev
fi
rm -rf ${Install_TmpFile}
echo -e "\e[0;32mfix libunwind-dev install question end\e[0m"
2022-07-30 10:39:08 -04:00
apt install -y libvpx-dev
apt install -y libxpm-dev
apt install -y libwebp-dev
apt install -y libfreetype6-dev
2022-06-26 07:07:10 -04:00
2022-10-11 06:03:36 -04:00
sudo localedef -i en_US -f UTF-8 en_US.UTF-8
2022-10-29 01:35:12 -04:00
VERSION_ID=`cat /etc/*-release | grep VERSION_ID | awk -F = '{print $2}' | awk -F "\"" '{print $2}'`
if [ "$VERSION_ID" == "9" ];then
sed "s/flask==2.0.3/flask==1.1.1/g" -i /www/server/mdserver-web/requirements.txt
sed "s/cryptography==3.3.2/cryptography==2.5/g" -i /www/server/mdserver-web/requirements.txt
2022-10-29 01:46:16 -04:00
sed "s/configparser==5.2.0/configparser==4.0.2/g" -i /www/server/mdserver-web/requirements.txt
2022-10-29 01:35:12 -04:00
sed "s/flask-socketio==5.2.0/flask-socketio==4.2.0/g" -i /www/server/mdserver-web/requirements.txt
sed "s/python-engineio==4.3.2/python-engineio==3.9.0/g" -i /www/server/mdserver-web/requirements.txt
# pip3 install -r /www/server/mdserver-web/requirements.txt
fi
2022-11-03 12:25:47 -04:00
apt install -y devscripts
apt install -y net-tools
apt install -y python3-dev
apt install -y autoconf
apt install -y gcc
apt install -y libffi-dev
apt install -y cmake automake make
apt install -y webp scons
apt install -y libwebp-dev
apt install -y lzma lzma-dev
apt install -y libunwind-dev
apt install -y libpcre3 libpcre3-dev
apt install -y openssl
apt install -y libssl-dev
apt install -y libmemcached-dev
apt install -y libsasl2-dev
apt install -y imagemagick
apt install -y libmagickwand-dev
apt install -y libxml2 libxml2-dev libbz2-dev libmcrypt-dev libpspell-dev librecode-dev
apt install -y libgmp-dev libgmp3-dev libreadline-dev libxpm-dev
apt install -y dia pkg-config
apt install -y zlib1g-dev
apt install -y libjpeg-dev libpng-dev
apt install -y libfreetype6
apt install -y libjpeg62-turbo-dev
apt install -y libfreetype6-dev
apt install -y libevent-dev libncurses5-dev libldap2-dev
apt install -y libzip-dev
apt install -y libicu-dev
apt install -y build-essential
apt install -y libcurl4-openssl-dev
apt install -y curl libcurl4-gnutls-dev
#https://blog.csdn.net/qq_36228377/article/details/123154344
# ln -s /usr/include/x86_64-linux-gnu/curl /usr/include/curl
if [ ! -d /usr/include/curl ];then
ln -s /usr/include/x86_64-linux-gnu/curl /usr/include/curl
fi
apt install -y graphviz bison re2c flex
apt install -y libsqlite3-dev
apt install -y libonig-dev
apt install -y perl g++ libtool
apt install -y libxslt1-dev
apt install -y libmariadb-dev
#apt install -y libmysqlclient-dev
apt install -y libmariadb-dev-compat
#apt install -y libmariadbclient-dev
2022-11-04 00:54:07 -04:00
cd /www/server/mdserver-web/scripts && bash lib.sh
2022-06-22 12:57:10 -04:00
chmod 755 /www/server/mdserver-web/data