2022-06-10 03:26:55 -04:00
|
|
|
#!/bin/bash
|
2023-11-08 12:32:59 -05:00
|
|
|
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/opt/homebrew/bin
|
2022-06-14 03:14:31 -04:00
|
|
|
export PATH
|
2022-10-28 23:38:08 -04:00
|
|
|
export LANG=en_US.UTF-8
|
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
2022-06-10 03:26:55 -04:00
|
|
|
|
2024-09-28 10:26:59 -04:00
|
|
|
function version_gt() { test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" != "$1"; }
|
|
|
|
|
function version_le() { test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" == "$1"; }
|
|
|
|
|
function version_lt() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" != "$1"; }
|
|
|
|
|
function version_ge() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" == "$1"; }
|
|
|
|
|
|
|
|
|
|
|
2022-07-04 12:43:46 -04:00
|
|
|
if grep -Eq "Ubuntu" /etc/*-release; then
|
2022-07-04 11:11:04 -04:00
|
|
|
sudo ln -sf /bin/bash /bin/sh
|
|
|
|
|
#sudo dpkg-reconfigure dash
|
|
|
|
|
fi
|
|
|
|
|
|
2024-10-01 05:37:39 -04:00
|
|
|
# synchronize server
|
2024-10-01 05:46:49 -04:00
|
|
|
# systemctl status chronyd -l
|
2024-10-01 05:37:39 -04:00
|
|
|
apt install chrony -y
|
|
|
|
|
apt install ntpdate -y
|
|
|
|
|
|
2022-10-28 23:38:27 -04:00
|
|
|
apt update -y
|
2024-06-15 11:24:36 -04:00
|
|
|
apt autoremove -y
|
2022-06-10 04:12:52 -04:00
|
|
|
|
2025-02-05 05:49:38 -05:00
|
|
|
apt install -y wget curl unzip
|
|
|
|
|
apt install -y lsof
|
2023-09-14 02:21:31 -04:00
|
|
|
apt install -y rar unrar
|
2024-12-13 23:47:20 -05:00
|
|
|
apt install -y xz-utils
|
2022-06-10 10:12:34 -04:00
|
|
|
apt install -y python3-pip
|
|
|
|
|
apt install -y python3-venv
|
2022-06-22 13:26:33 -04:00
|
|
|
apt install -y python3-dev
|
2022-08-11 07:38:43 -04:00
|
|
|
apt install -y expect
|
2024-05-08 00:28:50 -04:00
|
|
|
apt install -y pv
|
2024-05-19 12:21:09 -04:00
|
|
|
apt install -y bc
|
2022-06-11 01:04:59 -04:00
|
|
|
apt install -y cron
|
2024-06-07 06:53:48 -04:00
|
|
|
apt install -y net-tools
|
2024-06-09 13:27:42 -04:00
|
|
|
apt install -y libncurses5
|
|
|
|
|
apt install -y libncurses5-dev
|
2024-06-11 06:57:09 -04:00
|
|
|
apt install -y software-properties-common
|
2024-07-24 13:27:44 -04:00
|
|
|
apt install -y bzip2
|
2025-05-15 13:47:31 -04:00
|
|
|
apt install -y p7zip-full
|
2023-09-29 10:54:14 -04:00
|
|
|
|
2024-12-19 02:30:57 -05:00
|
|
|
apt install -y libnuma1
|
|
|
|
|
apt install -y libaio1
|
|
|
|
|
apt install -y libaio-dev
|
2024-12-19 02:57:26 -05:00
|
|
|
apt install -y libmecab2
|
|
|
|
|
apt install -y numactl
|
|
|
|
|
apt install -y libaio1t64
|
2025-09-12 02:00:27 -04:00
|
|
|
apt install -y libmm-dev
|
2024-12-19 02:57:26 -05:00
|
|
|
|
2024-12-20 11:41:42 -05:00
|
|
|
apt install -y dnsutils
|
2025-01-24 04:05:44 -05:00
|
|
|
apt install -y numactl
|
2025-08-01 07:27:48 -04:00
|
|
|
apt install -y xxd
|
2024-12-17 02:50:31 -05:00
|
|
|
|
2025-01-04 03:09:04 -05:00
|
|
|
# https://www.php.net/manual/zh/mysql-xdevapi.installation.php
|
2025-01-04 03:10:44 -05:00
|
|
|
apt install -y libprotobuf-dev
|
2025-01-04 03:09:04 -05:00
|
|
|
apt install -y protobuf-compiler
|
2025-01-04 03:10:44 -05:00
|
|
|
apt install -y libboost-dev
|
2025-01-04 03:09:04 -05:00
|
|
|
apt install -y liblz4-tool
|
|
|
|
|
apt install -y zstd
|
2026-01-31 04:41:18 -05:00
|
|
|
apt install -y sshpass
|
2026-04-03 01:13:59 -04:00
|
|
|
apt install -y libzstd-dev
|
2026-04-15 05:02:25 -04:00
|
|
|
apt install -y libbrotli
|
2025-01-04 03:09:04 -05:00
|
|
|
|
2024-09-28 10:26:59 -04:00
|
|
|
P_VER=`python3 -V | awk '{print $2}'`
|
|
|
|
|
if version_ge "$P_VER" "3.11.0" ;then
|
|
|
|
|
echo -e "\e[1;31mapt install python3.12-venv\e[0m"
|
|
|
|
|
apt install -y python3.12-venv
|
|
|
|
|
fi
|
|
|
|
|
|
2024-07-24 01:43:15 -04:00
|
|
|
# choose lang cmd
|
|
|
|
|
# dpkg-reconfigure --frontend=noninteractive locales
|
|
|
|
|
# dpkg-reconfigure locales
|
|
|
|
|
if [ ! -f /usr/sbin/locale-gen ];then
|
|
|
|
|
apt install -y locales
|
|
|
|
|
sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen
|
|
|
|
|
locale-gen en_US.UTF-8
|
|
|
|
|
locale-gen zh_CN.UTF-8
|
|
|
|
|
localedef -v -c -i en_US -f UTF-8 en_US.UTF-8 > /dev/null 2>&1
|
|
|
|
|
update-locale LANG=en_US.UTF-8
|
|
|
|
|
else
|
|
|
|
|
locale-gen en_US.UTF-8
|
|
|
|
|
locale-gen zh_CN.UTF-8
|
|
|
|
|
localedef -v -c -i en_US -f UTF-8 en_US.UTF-8 > /dev/null 2>&1
|
|
|
|
|
fi
|
2022-10-29 04:19:53 -04:00
|
|
|
|
2023-08-05 01:36:13 -04:00
|
|
|
SSH_PORT=`netstat -ntpl|grep sshd|grep -v grep | sed -n "1,1p" | awk '{print $4}' | awk -F : '{print $2}'`
|
|
|
|
|
if [ "$SSH_PORT" == "" ];then
|
|
|
|
|
SSH_PORT_LINE=`cat /etc/ssh/sshd_config | grep "Port \d*" | tail -1`
|
|
|
|
|
SSH_PORT=${SSH_PORT_LINE/"Port "/""}
|
|
|
|
|
fi
|
2023-02-04 22:57:44 -05:00
|
|
|
echo "SSH PORT:${SSH_PORT}"
|
2022-06-10 04:12:52 -04:00
|
|
|
|
2023-02-14 09:22:06 -05:00
|
|
|
if [ -f /usr/sbin/ufw ];then
|
|
|
|
|
# look
|
|
|
|
|
# ufw status
|
2024-11-30 11:38:35 -05:00
|
|
|
echo 'y' | ufw enable
|
2023-02-14 09:22:06 -05:00
|
|
|
|
|
|
|
|
if [ "$SSH_PORT" != "" ];then
|
|
|
|
|
ufw allow $SSH_PORT/tcp
|
|
|
|
|
else
|
|
|
|
|
ufw allow 22/tcp
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
ufw allow 80/tcp
|
|
|
|
|
ufw allow 443/tcp
|
2024-04-23 23:32:41 -04:00
|
|
|
ufw allow 443/udp
|
2023-09-26 06:00:47 -04:00
|
|
|
# ufw allow 888/tcp
|
2023-02-14 09:22:06 -05:00
|
|
|
fi
|
2022-06-10 04:12:52 -04:00
|
|
|
|
2023-02-14 09:23:04 -05:00
|
|
|
if [ ! -f /usr/sbin/ufw ];then
|
2022-06-12 11:21:19 -04:00
|
|
|
apt install -y firewalld
|
|
|
|
|
systemctl enable firewalld
|
2023-02-14 08:58:30 -05:00
|
|
|
|
2022-06-12 11:21:19 -04:00
|
|
|
|
2023-02-04 22:57:44 -05:00
|
|
|
if [ "$SSH_PORT" != "" ];then
|
|
|
|
|
firewall-cmd --permanent --zone=public --add-port=${SSH_PORT}/tcp
|
|
|
|
|
else
|
|
|
|
|
firewall-cmd --permanent --zone=public --add-port=22/tcp
|
|
|
|
|
fi
|
2023-02-04 23:07:29 -05:00
|
|
|
|
2022-06-12 11:21:19 -04:00
|
|
|
firewall-cmd --permanent --zone=public --add-port=80/tcp
|
|
|
|
|
firewall-cmd --permanent --zone=public --add-port=443/tcp
|
2024-06-15 10:43:46 -04:00
|
|
|
firewall-cmd --permanent --zone=public --add-port=443/udp
|
2023-09-26 06:00:47 -04:00
|
|
|
# firewall-cmd --permanent --zone=public --add-port=888/tcp
|
2022-06-15 04:25:19 -04:00
|
|
|
|
2023-02-14 08:58:30 -05:00
|
|
|
systemctl start firewalld
|
|
|
|
|
|
2022-06-15 04:25:19 -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
|
|
|
|
|
sed -i 's#IndividualCalls=no#IndividualCalls=yes#g' /etc/firewalld/firewalld.conf
|
|
|
|
|
|
2022-06-12 11:21:19 -04:00
|
|
|
firewall-cmd --reload
|
2023-02-14 08:58:30 -05:00
|
|
|
|
|
|
|
|
# #安装时不开启
|
|
|
|
|
# systemctl stop firewalld
|
2022-06-10 04:18:56 -04:00
|
|
|
fi
|
|
|
|
|
|
2022-11-03 12:25:47 -04:00
|
|
|
apt install -y devscripts
|
|
|
|
|
apt install -y python3-dev
|
|
|
|
|
apt install -y autoconf
|
|
|
|
|
apt install -y gcc
|
2023-06-25 23:57:07 -04:00
|
|
|
apt install -y lrzsz
|
2022-11-03 12:25:47 -04:00
|
|
|
|
|
|
|
|
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
|
2023-08-25 03:26:23 -04:00
|
|
|
apt install -y libargon2-dev
|
2022-11-03 12:25:47 -04:00
|
|
|
|
|
|
|
|
apt install -y libmemcached-dev
|
|
|
|
|
apt install -y libsasl2-dev
|
2025-02-15 09:26:08 -05:00
|
|
|
apt install -y imagemagick
|
2025-02-15 20:15:45 -05:00
|
|
|
apt install -y libmagickcore-dev
|
2022-11-03 12:25:47 -04:00
|
|
|
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
|
2024-10-02 02:25:14 -04:00
|
|
|
apt install -y libpq-dev
|
2023-11-07 06:42:02 -05:00
|
|
|
apt install -y dia
|
|
|
|
|
|
|
|
|
|
apt install -y pkg-config
|
2022-11-03 12:25:47 -04:00
|
|
|
apt install -y zlib1g-dev
|
2023-11-07 06:42:02 -05:00
|
|
|
|
2022-11-03 12:25:47 -04:00
|
|
|
apt install -y libjpeg-dev libpng-dev
|
|
|
|
|
apt install -y libfreetype6
|
|
|
|
|
apt install -y libjpeg62-turbo-dev
|
|
|
|
|
apt install -y libfreetype6-dev
|
2024-06-09 13:27:42 -04:00
|
|
|
apt install -y libevent-dev libldap2-dev
|
2023-11-03 07:21:50 -04:00
|
|
|
|
2022-11-03 12:25:47 -04:00
|
|
|
apt install -y libzip-dev
|
|
|
|
|
apt install -y libicu-dev
|
2023-11-03 07:21:50 -04:00
|
|
|
apt install -y libyaml-dev
|
2022-11-03 12:25:47 -04:00
|
|
|
|
2023-09-29 10:54:14 -04:00
|
|
|
# mqtt
|
|
|
|
|
apt install -y xsltproc
|
|
|
|
|
|
2022-11-03 12:25:47 -04:00
|
|
|
apt install -y build-essential
|
|
|
|
|
|
|
|
|
|
apt install -y libcurl4-openssl-dev
|
2023-05-05 04:59:47 -04:00
|
|
|
apt install -y libcurl4-nss-dev
|
2022-11-03 12:25:47 -04:00
|
|
|
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
|
2023-05-05 04:59:47 -04:00
|
|
|
SYS_ARCH=`arch`
|
|
|
|
|
if [ -f /usr/include/x86_64-linux-gnu/curl ];then
|
|
|
|
|
ln -s /usr/include/x86_64-linux-gnu/curl /usr/include/curl
|
|
|
|
|
else
|
2023-08-12 03:46:44 -04:00
|
|
|
# ln -s /usr/include/aarch64-linux-gnu/curl /usr/include/curl
|
2023-05-05 04:59:47 -04:00
|
|
|
ln -s /usr/include/${SYS_ARCH}-linux-gnu/curl /usr/include/curl
|
|
|
|
|
fi
|
2022-11-03 12:25:47 -04:00
|
|
|
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-06-30 13:40:02 -04:00
|
|
|
|
2022-07-01 12:03:53 -04:00
|
|
|
# mysql8.0 在ubuntu22需要的库
|
2022-07-01 12:03:42 -04:00
|
|
|
apt install -y patchelf
|
2022-06-30 13:40:02 -04:00
|
|
|
|
2022-07-01 12:03:42 -04:00
|
|
|
VERSION_ID=`cat /etc/*-release | grep VERSION_ID | awk -F = '{print $2}' | awk -F "\"" '{print $2}'`
|
2022-06-30 13:40:02 -04:00
|
|
|
if [ "${VERSION_ID}" == "22.04" ];then
|
2022-10-06 01:10:44 -04:00
|
|
|
apt install -y python3-cffi
|
2022-06-30 13:40:02 -04:00
|
|
|
pip3 install -U --force-reinstall --no-binary :all: gevent
|
|
|
|
|
fi
|
|
|
|
|
|
2026-01-15 01:45:39 -05:00
|
|
|
# find /usr/lib -name "*libaio*" 2>/dev/null
|
|
|
|
|
if [ ! -f /usr/lib/libaio.so.1 ];then
|
|
|
|
|
if [ -f /usr/lib/x86_64-linux-gnu/libaio.so.1t64 ];then
|
|
|
|
|
ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/libaio.so.1
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
2022-11-10 14:21:16 -05:00
|
|
|
cd /www/server/mdserver-web/scripts && bash lib.sh
|
|
|
|
|
chmod 755 /www/server/mdserver-web/data
|
|
|
|
|
|
2022-06-30 13:40:02 -04:00
|
|
|
|
|
|
|
|
if [ "${VERSION_ID}" == "22.04" ];then
|
2022-10-06 01:10:44 -04:00
|
|
|
apt install -y python3-cffi
|
2022-06-30 13:40:02 -04:00
|
|
|
pip3 install -U --force-reinstall --no-binary :all: gevent
|
|
|
|
|
fi
|
|
|
|
|
|