Download bt-source/panel/class/mailModel/script/install.sh from SZFSPC/apple: direct link, hf CLI and curl.
- Browser
- Download file 21.1 kB
-
https://huggingface.co/spaces/SZFSPC/apple/resolve/main/bt-source/panel/class/mailModel/script/install.sh
- Command line
-
hf download hf://spaces/SZFSPC/apple/bt-source/panel/class/mailModel/script/install.sh
-
curl -L -o install.sh https://huggingface.co/spaces/SZFSPC/apple/resolve/main/bt-source/panel/class/mailModel/script/install.sh
21.1 kB
| PATH=/www/server/panel/pyenv/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin | |
| export PATH | |
| pluginPath=/www/server/panel/plugin/mail_sys | |
| pluginStaticPath=/www/server/panel/plugin/mail_sys/static | |
| Get_Public() { | |
| public_file=/www/server/panel/install/public.sh | |
| publicFileMd5=$(md5sum ${public_file} 2>/dev/null | awk '{print $1}') | |
| md5check="8e49712d1fd332801443f8b6fd7f9208" | |
| if [ "${publicFileMd5}" != "${md5check}" ]; then | |
| wget -O Tpublic.sh https://download.bt.cn/install/public.sh -T 20 | |
| publicFileMd5=$(md5sum Tpublic.sh 2>/dev/null | awk '{print $1}') | |
| if [ "${publicFileMd5}" == "${md5check}" ]; then | |
| \cp -rpa Tpublic.sh $public_file | |
| fi | |
| rm -f Tpublic.sh | |
| fi | |
| . "${public_file}" | |
| download_Url=$NODE_URL | |
| } | |
| cpu_arch=$(arch) | |
| if [[ $cpu_arch != "x86_64" ]]; then | |
| echo 'Does not support non-x86 system installation' | |
| exit 0 | |
| fi | |
| . /etc/os-release | |
| #if [ -f "/usr/bin/apt-get" ]; then | |
| # systemver='ubuntu' | |
| #elif [ -f "/etc/redhat-release" ]; then | |
| # systemver7=$(cat /etc/redhat-release | sed -r 's/.* ([0-9]+)\..*/\1/') | |
| # systemver8=$(cat /etc/redhat-release | sed -r 's/.* ([0-9]+)\..*/\1/' | grep -o '8') | |
| # postfixver=$(postconf mail_version | sed -r 's/.* ([0-9\.]+)$/\1/') | |
| #elif [ $NAME == "OpenCloudOS" ]; then | |
| # systemver='opencloudos' | |
| #else | |
| # echo 'Unsupported system version' | |
| # exit 0 | |
| #fi | |
| check_linux() { | |
| . /etc/os-release | |
| if [ $NAME == "OpenCloudOS" ] || [ $ID == "amzn" ]; then | |
| systemver='opencloudos' | |
| elif [ $ID == "centos" ]; then | |
| systemver7=$(cat /etc/redhat-release | sed -r 's/.* ([0-9]+)\..*/\1/') | |
| systemver8=$(cat /etc/redhat-release | sed -r 's/.* ([0-9]+)\..*/\1/' | grep -o '8') | |
| postfixver=$(postconf mail_version | sed -r 's/.* ([0-9\.]+)$/\1/') | |
| systemver='centos' | |
| elif [ $ID == "almalinux" ]; then | |
| systemver='almalinux' | |
| elif [ $ID == "ubuntu" ] || [ $ID == "debian" ]; then | |
| systemver='ubuntu' | |
| elif [ $ID == "alinux" ] || [ $ID == "rocky" ]; then | |
| systemver='alinux' | |
| else | |
| echo 'Unsupported system version' | |
| exit 0 | |
| fi | |
| } | |
| Install_almalinux(){ | |
| if [[ $cpu_arch != "x86_64" ]]; then | |
| echo 'Does not support non-x86 system installation' | |
| exit 0 | |
| fi | |
| yum install epel-release -y | |
| # 卸载系统自带的postfix | |
| if [[ $cpu_arch = "x86_64" && $postfixver != "3.4.7" ]]; then | |
| yum remove postfix -y | |
| rm -rf /etc/postfix | |
| fi | |
| # 安装postfix和postfix-sqlite | |
| yum install postfix -y | |
| yum install postfix-sqlite -y | |
| if [[ ! -f "/usr/sbin/postfix" ]]; then | |
| echo "postfix3-3.8.3-1.gf.el7.x86_64.rpm安装失败,请联系堡塔官方人员" | |
| exit 1 | |
| fi | |
| # 安装dovecot和dovecot-sieve | |
| yum install dovecot-pigeonhole -y | |
| if [[ ! -f "/usr/sbin/dovecot" ]]; then | |
| yum install dovecot -y | |
| fi | |
| # 安装rspamd | |
| install_rspamd | |
| yum install cyrus-sasl-plain -y | |
| } | |
| Install_opencloudos() { | |
| if [[ $cpu_arch != "x86_64" ]]; then | |
| echo 'Does not support non-x86 system installation' | |
| exit 0 | |
| fi | |
| yum install epel-release -y | |
| # 卸载系统自带的postfix | |
| if [[ $cpu_arch = "x86_64" && $postfixver != "3.4.7" ]]; then | |
| yum remove postfix -y | |
| rm -rf /etc/postfix | |
| fi | |
| # 安装postfix和postfix-sqlite | |
| yum install postfix -y | |
| yum install postfix-sqlite -y | |
| if [[ ! -f "/usr/sbin/postfix" ]]; then | |
| echo "postfix3-3.8.3-1.gf.el7.x86_64.rpm安装失败,请联系堡塔官方人员" | |
| exit 1 | |
| fi | |
| # 安装dovecot和dovecot-sieve | |
| yum install dovecot-pigeonhole -y | |
| if [[ ! -f "/usr/sbin/dovecot" ]]; then | |
| yum install dovecot -y | |
| fi | |
| # 安装rspamd | |
| install_rspamd | |
| if ps -ef|grep rspamd|grep -v grep; then | |
| echo "Rspamd is running." | |
| else | |
| compile_rspamd | |
| fi | |
| yum install cyrus-sasl-plain -y | |
| } | |
| Install_centos7() { | |
| if [[ $cpu_arch != "x86_64" ]]; then | |
| echo 'Does not support non-x86 system installation' | |
| exit 0 | |
| fi | |
| yum install epel-release -y | |
| # 卸载系统自带的postfix | |
| if [[ $cpu_arch = "x86_64" && $postfixver != "3.4.7" ]]; then | |
| yum remove postfix -y | |
| rm -rf /etc/postfix | |
| fi | |
| # 安装postfix和postfix-sqlite | |
| mkdir $pluginPath/rpm | |
| wget -O $pluginPath/rpm/postfix3-3.8.3-1.gf.el7.x86_64.rpm $download_Url/install/plugin/mail_sys/rpm/postfix3-3.8.3-1.gf.el7.x86_64.rpm -T 5 | |
| wget -O $pluginPath/rpm/postfix3-sqlite-3.8.3-1.gf.el7.x86_64.rpm $download_Url/install/plugin/mail_sys/rpm/postfix3-sqlite-3.8.3-1.gf.el7.x86_64.rpm -T 5 | |
| yum localinstall $pluginPath/rpm/postfix3-3.8.3-1.gf.el7.x86_64.rpm -y | |
| yum localinstall $pluginPath/rpm/postfix3-sqlite-3.8.3-1.gf.el7.x86_64.rpm -y | |
| if [[ ! -f "/usr/sbin/postfix" ]]; then | |
| echo "postfix3-3.8.3-1.gf.el7.x86_64.rpm安装失败,请联系堡塔官方人员" | |
| exit 1 | |
| fi | |
| # 安装dovecot和dovecot-sieve | |
| yum install dovecot-pigeonhole -y | |
| if [[ ! -f "/usr/sbin/dovecot" ]]; then | |
| yum install dovecot -y | |
| fi | |
| #安装rspamd | |
| if [ $ping_url != "200" ]; then | |
| install_rspamd | |
| else | |
| install_rspamd | |
| fi | |
| yum install cyrus-sasl-plain -y | |
| # 安装pflogsumm 日志分析工具 | |
| yum install postfix-pflogsumm -y | |
| } | |
| install_rspamd() { | |
| # 优先尝试系统源安装并启动 | |
| local installed_ok=0 | |
| if command -v apt-get >/dev/null 2>&1; then | |
| apt-get update | |
| if apt-get install -y rspamd; then | |
| systemctl enable rspamd || true | |
| systemctl restart rspamd || true | |
| if systemctl is-active --quiet rspamd && [ -x /usr/bin/rspamd ]; then | |
| installed_ok=1 | |
| fi | |
| fi | |
| else | |
| if command -v dnf >/dev/null 2>&1; then | |
| if dnf install -y rspamd; then | |
| systemctl enable rspamd || true | |
| systemctl restart rspamd || true | |
| if systemctl is-active --quiet rspamd && [ -x /usr/bin/rspamd ]; then | |
| installed_ok=1 | |
| fi | |
| fi | |
| else | |
| if yum install -y rspamd; then | |
| systemctl enable rspamd || true | |
| systemctl restart rspamd || true | |
| if systemctl is-active --quiet rspamd && [ -x /usr/bin/rspamd ]; then | |
| installed_ok=1 | |
| fi | |
| fi | |
| fi | |
| fi | |
| # 如果系统源安装不可用,则使用官方源安装 | |
| if [ "$installed_ok" != "1" ]; then | |
| if [[ $systemver7 = "7" ]]; then | |
| wget -O /etc/yum.repos.d/rspamd.repo https://rspamd.com/rpm-stable/centos-7/rspamd.repo | |
| rpm --import https://rspamd.com/rpm-stable/gpg.key | |
| yum makecache -y | |
| yum install rspamd -y | |
| elif [ $systemver8 = "8" ] || [ $systemver = "centos" ]; then | |
| wget -O /etc/yum.repos.d/rspamd.repo https://rspamd.com/rpm-stable/centos-8/rspamd.repo | |
| rpm --import https://rspamd.com/rpm-stable/gpg.key | |
| yum makecache -y | |
| yum install rspamd -y | |
| elif [ $systemver = "opencloudos" ] || [ $systemver = "alinux" ]; then | |
| source /etc/os-release | |
| export EL_VERSION=`echo -n $PLATFORM_ID | sed "s/.*el//"` | |
| curl https://rspamd.com/rpm-stable/centos-${EL_VERSION}/rspamd.repo > /etc/yum.repos.d/rspamd.repo | |
| yum install rspamd -y | |
| elif [ $systemver = "almalinux" ]; then | |
| source /etc/os-release | |
| export EL_VERSION=`echo -n $PLATFORM_ID | sed "s/.*el//"` | |
| curl https://rspamd.com/rpm-stable/centos-${EL_VERSION}/rspamd.repo > /etc/yum.repos.d/rspamd.repo | |
| yum install rspamd -y | |
| else | |
| apt-get install -y lsb-release wget gpg # for install | |
| CODENAME=`lsb_release -c -s` | |
| mkdir -p /etc/apt/keyrings | |
| wget -O- https://rspamd.com/apt-stable/gpg.key | gpg --dearmor | tee /etc/apt/keyrings/rspamd.gpg > /dev/null | |
| echo "deb [signed-by=/etc/apt/keyrings/rspamd.gpg] http://rspamd.com/apt-stable/ $CODENAME main" | tee /etc/apt/sources.list.d/rspamd.list | |
| echo "deb-src [signed-by=/etc/apt/keyrings/rspamd.gpg] http://rspamd.com/apt-stable/ $CODENAME main" | tee -a /etc/apt/sources.list.d/rspamd.list | |
| apt-get update | |
| apt-get --no-install-recommends install rspamd -y | |
| fi | |
| systemctl enable rspamd || true | |
| systemctl restart rspamd || true | |
| if ! systemctl is-active --quiet rspamd || [ ! -x /usr/bin/rspamd ]; then | |
| if command -v apt-get >/dev/null 2>&1; then | |
| echo "官方源安装失败,请检查网络或源配置" | |
| exit 1 | |
| else | |
| echo "官方源安装失败,尝试RPM安装..." | |
| Install_rspamd_rpm | |
| systemctl enable rspamd || true | |
| systemctl restart rspamd || true | |
| if ! systemctl is-active --quiet rspamd || [ ! -x /usr/bin/rspamd ]; then | |
| echo "rspamd安装失败,请检查网络或源配置" | |
| exit 1 | |
| fi | |
| fi | |
| fi | |
| fi | |
| # 补充前端资源 | |
| wget -O /usr/share/rspamd/www/rspamd.zip $download_Url/install/plugin/mail_sys/rspamd.zip -T 5 | |
| cd /usr/share/rspamd/www | |
| unzip -o rspamd.zip | |
| } | |
| Install_rspamd_rpm() { | |
| if [[ $systemver7 = "7" ]]; then | |
| wget $download_Url/src/rspamd-3.4-1.x86_64.rpm | |
| rpm -ivh rspamd-3.4-1.x86_64.rpm | |
| rm -f rspamd-3.4-1.x86_64.rpm | |
| elif [[ $systemver8 = "8" ]] || [[ $systemver = "centos" ]]; then | |
| wget $download_Url/src/rspamd-3.4-1.x86_64.rpm | |
| rpm -ivh rspamd-3.4-1.x86_64.rpm --nodeps | |
| rm -f rspamd-3.4-1.x86_64.rpm | |
| elif [ $systemver = "opencloudos" ] || [ $systemver = "alinux" ]; then | |
| wget $download_Url/src/rspamd-3.4-1.x86_64.rpm | |
| rpm -ivh rspamd-3.4-1.x86_64.rpm --nodeps | |
| rm -f rspamd-3.4-1.x86_64.rpm | |
| elif [ $systemver = "almalinux" ]; then | |
| wget $download_Url/src/rspamd-3.4-1.x86_64.rpm | |
| yum install rspamd-3.4-1.x86_64.rpm | |
| rm -f rspamd-3.4-1.x86_64.rpm | |
| else | |
| apt-get install -y lsb-release wget gpg # for install | |
| CODENAME=`lsb_release -c -s` | |
| mkdir -p /etc/apt/keyrings | |
| wget -O- https://rspamd.com/apt-stable/gpg.key | gpg --dearmor | tee /etc/apt/keyrings/rspamd.gpg > /dev/null | |
| echo "deb [signed-by=/etc/apt/keyrings/rspamd.gpg] http://rspamd.com/apt-stable/ $CODENAME main" | tee /etc/apt/sources.list.d/rspamd.list | |
| echo "deb-src [signed-by=/etc/apt/keyrings/rspamd.gpg] http://rspamd.com/apt-stable/ $CODENAME main" | tee -a /etc/apt/sources.list.d/rspamd.list | |
| apt-get update | |
| apt-get --no-install-recommends install rspamd -y | |
| fi | |
| wget -O /usr/share/rspamd/www/rspamd.zip $download_Url/install/plugin/mail_sys/rspamd.zip -T 5 | |
| cd /usr/share/rspamd/www | |
| unzip -o rspamd.zip | |
| } | |
| compile_rspamd() { | |
| if [[ $systemver = "opencloudos" ]]; then | |
| dnf install -y git cmake gcc make gcc-c++ ragel lua lua-devel openssl-devel zlib-devel pcre2-devel glib2-devel libevent-devel libicu-devel sqlite-devel json-c-devel hiredis-devel libcurl-devel libarchive libarchive-devel luajit-devel libsodium-devel | |
| else | |
| echo "Unsupported system version" | |
| exit 0 | |
| fi | |
| wget -O $pluginPath/rspamd-rspamd-3.8.zip $download_Url/install/plugin/mail_sys/rspamd-rspamd-3.8.zip | |
| unzip $pluginPath/rspamd-rspamd-3.8.zip -d $pluginPath | |
| cd $pluginPath/rspamd-rspamd-3.8 | |
| mkdir build | |
| cd build | |
| cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr | |
| make | |
| make install | |
| mv ../rspamd.service /lib/systemd/system/rspamd.service | |
| mkdir -p /etc/rspamd | |
| cp -r /usr/etc/rspamd/ /etc/rspamd/ | |
| useradd -r -M -s /sbin/nologin _rspamd | |
| mkdir -p /var/log/rspamd | |
| chown -R _rspamd:_rspamd /var/log/rspamd | |
| chmod 755 /var/log/rspamd | |
| systemctl daemon-reload | |
| systemctl enable rspamd | |
| systemctl start rspamd | |
| make clean | |
| rm -rf $pluginPath/rspamd-rspamd-3.8/ | |
| compile=1 | |
| wget -O /usr/share/rspamd/www/rspamd.zip $download_Url/install/plugin/mail_sys/rspamd.zip -T 5 | |
| cd /usr/share/rspamd/www | |
| unzip -o rspamd.zip | |
| } | |
| #获取rspamd网站,检查判断返回是否200 | |
| ping_url=$(curl -I -m 10 -o /dev/null -s -w %{http_code}"\n" https://rspamd.com) | |
| Install_centos8() { | |
| yum install epel-release -y | |
| # 卸载系统自带的postfix | |
| if [[ $cpu_arch = "x86_64" && $postfixver != "3.4.9" ]]; then | |
| yum remove postfix -y | |
| rm -rf /etc/postfix | |
| fi | |
| # 安装postfix和postfix-sqlite | |
| mkdir $pluginPath/rpm | |
| wget -O $pluginPath/rpm/postfix3-3.4.9-1.gf.el8.x86_64.rpm $download_Url/install/plugin/mail_sys/rpm/postfix3-3.4.9-1.gf.el8.x86_64.rpm -T 5 | |
| wget -O $pluginPath/rpm/postfix3-sqlite-3.4.9-1.gf.el8.x86_64.rpm $download_Url/install/plugin/mail_sys/rpm/postfix3-sqlite-3.4.9-1.gf.el8.x86_64.rpm -T 5 | |
| yum install $pluginPath/rpm/postfix3-3.4.9-1.gf.el8.x86_64.rpm -y | |
| yum install $pluginPath/rpm/postfix3-sqlite-3.4.9-1.gf.el8.x86_64.rpm -y | |
| if [[ ! -f "/usr/sbin/postfix" ]]; then | |
| yum install postfix -y | |
| yum install postfix-sqlite -y | |
| fi | |
| # 安装dovecot和dovecot-sieve | |
| yum install dovecot-pigeonhole -y | |
| if [[ ! -f "/usr/sbin/dovecot" ]]; then | |
| yum install dovecot -y | |
| fi | |
| # Install_rspamd_rpm | |
| #安装rspamd | |
| if [ $ping_url != "200" ]; then | |
| Install_rspamd_rpm | |
| else | |
| install_rspamd | |
| fi | |
| yum install cyrus-sasl-plain libsodium libwins -y | |
| # 安装pflogsumm 日志分析工具 | |
| yum install postfix-pflogsumm -y | |
| } | |
| Install_ubuntu() { | |
| hostname=$(hostname) | |
| # 安装postfix和postfix-sqlite | |
| debconf-set-selections <<<"postfix postfix/mailname string ${hostname}" | |
| debconf-set-selections <<<"postfix postfix/main_mailer_type string 'Internet Site'" | |
| apt install postfix -y | |
| apt install postfix-sqlite -y | |
| apt install sqlite -y | |
| # 安装dovecot和dovecot-sieve | |
| apt install dovecot-core dovecot-pop3d dovecot-imapd dovecot-lmtpd dovecot-sqlite dovecot-sieve -y | |
| # 安装opendkim | |
| # 安装rspamd | |
| # Install_rspamd_rpm | |
| if [ $ping_url != "200" ]; then | |
| install_rspamd | |
| else | |
| install_rspamd | |
| fi | |
| apt install cyrus-sasl-plain libhyperscan5 -y | |
| # 安装pflogsumm 日志分析工具 | |
| apt install pflogsumm -y | |
| } | |
| Install_redis() { | |
| if [ ! -f /www/server/redis/src/redis-cli ]; then | |
| wget -O /tmp/redis.sh $download_Url/install/0/redis.sh -T 5 | |
| sed -i "/gen-test-certs/d" /tmp/redis.sh | |
| bash /tmp/redis.sh install 7.2 | |
| [ ! -f /www/server/redis/src/redis-cli ] && echo 'Redis installation failed' && return | |
| # 2024/3/15 上午 10:12 如果密码为空,则默认设置redis密码 | |
| REDIS_CONF="/www/server/redis/redis.conf" | |
| REDIS_PASS=$(cat ${REDIS_CONF} |grep requirepass|grep -v '#'|awk '{print $2}') | |
| if [ "${REDIS_PASS}" == "" ]; then | |
| REDIS_PASS=$(cat /dev/urandom | head -n 16 | md5sum | head -c 16) | |
| echo "# bt mail redis password" | |
| echo "requirepass ${REDIS_PASS}" >> ${REDIS_CONF} | |
| /etc/init.d/redis restart | |
| fi | |
| fi | |
| } | |
| check_mail_initialized() { | |
| # 定义配置文件和服务 | |
| POSTFIX_CONF="/etc/postfix/sqlite_virtual_domains_maps.cf" | |
| # POSTFIX_MAIN_CF="/etc/postfix/main.cf" | |
| POSTFIX_MYDESTINATION=$(postconf mydestination | awk '{print $2}') | |
| DOVECOT_CONF="/etc/dovecot/dovecot.conf" | |
| DOVECOT_SERVICE="dovecot" | |
| # 检查 Postfix 是否已初始化 | |
| if [ -f "$POSTFIX_CONF" ]; then | |
| echo "Postfix 配置文件 $POSTFIX_CONF 存在。" | |
| # 检查 Postfix 是否已初始化:检查 mydestination 配置项 | |
| if [ -z "$POSTFIX_MYDESTINATION" ]; then | |
| echo "Postfix 尚未初始化,mydestination 配置项未设置。" | |
| return 1 | |
| else | |
| echo "Postfix 已初始化,mydestination 配置项已设置为: $POSTFIX_MYDESTINATION" | |
| fi | |
| # 检查 Postfix 服务是否正在运行 | |
| if systemctl is-active --quiet postfix; then | |
| echo "Postfix 服务正在运行。" | |
| else | |
| echo "Postfix 服务未运行,请检查 Postfix 配置并启动服务。" | |
| return 1 | |
| fi | |
| else | |
| echo "Postfix 尚未安装或初始化。" | |
| return 1 | |
| fi | |
| # 检查 Dovecot 是否已初始化 | |
| if [ -f "$DOVECOT_CONF" ]; then | |
| echo "Dovecot 配置文件 $DOVECOT_CONF 存在。" | |
| # 检查 Dovecot 是否启用了 IMAP 协议 | |
| if grep -q "protocols = imap" "$DOVECOT_CONF"; then | |
| echo "Dovecot 已初始化并启用了 IMAP 协议。" | |
| else | |
| echo "Dovecot 配置中没有启用 IMAP 协议。" | |
| return 1 | |
| fi | |
| # 检查 Dovecot 服务是否正在运行 | |
| if systemctl is-active --quiet "$DOVECOT_SERVICE"; then | |
| echo "Dovecot 服务正在运行。" | |
| else | |
| echo "Dovecot 服务未运行,请检查 Dovecot 配置并启动服务。" | |
| return 1 | |
| fi | |
| else | |
| echo "Dovecot 尚未安装或初始化。" | |
| return 1 | |
| fi | |
| # 如果所有检查通过,初始化成功 | |
| echo "邮局系统已经初始化并正常运行。" | |
| exit 1 | |
| } | |
| Install() { | |
| check_linux | |
| Get_Public | |
| mkdir -p $pluginPath | |
| mkdir -p $pluginStaticPath | |
| check_mail_initialized | |
| if [[ $systemver7 = "7" ]]; then | |
| Install_centos7 | |
| elif [[ $systemver8 = "8" ]]; then | |
| Install_centos8 | |
| elif [ $systemver = "centos" ]; then | |
| Install_centos7 | |
| elif [[ $systemver = "opencloudos" ]]; then | |
| Install_opencloudos | |
| elif [[ $systemver = "alinux" ]]; then | |
| Install_centos7 | |
| elif [[ $systemver = "almalinux" ]]; then | |
| Install_almalinux | |
| else | |
| Install_ubuntu | |
| fi | |
| # 安装dovecot和dovecot-sieve | |
| if [ ! -f /etc/dovecot/conf.d/90-sieve.conf ]; then | |
| if [ -f "/usr/bin/apt-get" ]; then | |
| apt install dovecot-sieve -y | |
| else | |
| rm -rf /etc/dovecot_back | |
| cp -a /etc/dovecot /etc/dovecot_back | |
| yum remove dovecot -y | |
| yum install dovecot-pigeonhole -y | |
| if [ ! -f /usr/sbin/dovecot ]; then | |
| yum install dovecot -y | |
| fi | |
| \cp -a /etc/dovecot_back/* /etc/dovecot | |
| chown -R vmail:dovecot /etc/dovecot | |
| chmod -R o-rwx /etc/dovecot | |
| systemctl enable dovecot | |
| systemctl restart dovecot | |
| fi | |
| fi | |
| filesize=$(ls -l /etc/dovecot/dh.pem | awk '{print $5}') | |
| echo $filesize | |
| if [ ! -f "/etc/dovecot/dh.pem" ] || [ $filesize -lt 300 ]; then | |
| openssl dhparam 2048 >/etc/dovecot/dh.pem | |
| fi | |
| if [ ! -d "/www/server/panel/BTPanel/static/ckeditor" ]; then | |
| unzip $pluginPath/ckeditor.zip -d /www/server/panel/BTPanel/static | |
| fi | |
| # 2024/3/15 上午 10:14 安装redis | |
| Install_redis | |
| # 2024/3/15 下午 3:49 运行邮局初始化 | |
| /www/server/panel/pyenv/bin/python3.7 $pluginPath/mail_server_init.py setup_mail_sys | |
| # 2024/3/15 下午 10:26 处理因权限问题无法接收邮件 | |
| if [ ! -d "/www/vmail" ]; then | |
| mkdir -p /www/vmail | |
| fi | |
| chmod -R 770 /www/vmail | |
| chown -R vmail:mail /www/vmail | |
| echo 'Successify' | |
| } | |
| #卸载 | |
| Uninstall() { | |
| if [[ $systemver7 = "7" ]]; then | |
| yum remove postfix -y | |
| yum remove dovecot -y | |
| yum remove opendkim -y | |
| yum remove rspamd -y | |
| yum remove dovecot-pigeonhole -y | |
| elif [ $systemver8 = "8" ] || [ $systemver = "opencloudos" ] || [ $systemver = "alinux" ]; then | |
| yum remove postfix -y | |
| yum remove dovecot -y | |
| yum remove opendkim -y | |
| yum remove rspamd -y | |
| yum remove dovecot-pigeonhole -y | |
| else | |
| apt remove postfix postfix-sqlite -y && rm -rf /etc/postfix | |
| dpkg -P postfix postfix-sqlite | |
| apt remove dovecot-core dovecot-imapd dovecot-lmtpd dovecot-pop3d dovecot-sqlite dovecot-sieve -y | |
| dpkg -P dovecot-core dovecot-imapd dovecot-lmtpd dovecot-pop3d dovecot-sqlite dovecot-sieve | |
| apt remove opendkim opendkim-tools -y | |
| dpkg -P opendkim opendkim-tools | |
| apt remove rspamd -y | |
| dpkg -P rspamd | |
| fi | |
| rm -rf /etc/postfix | |
| rm -rf /etc/dovecot | |
| rm -rf /etc/opendkim | |
| rm -rf /usr/share/rspamd/www/rspamd | |
| rm -rf $pluginPath | |
| echo 'Successify' | |
| } | |
| #检查rspamd服务是否安装,不存在则rpm包安装 | |
| check_rspamd() { | |
| if [ ! -f /usr/bin/rspamd ]; then | |
| install_rspamd | |
| fi | |
| } | |
| #check_rspamd | |
| #操作判断 | |
| if [ "${1}" == 'install' ]; then | |
| Install | |
| echo '1' >/www/server/panel/data/reload.pl | |
| elif [ "${1}" == 'update' ]; then | |
| Update | |
| elif [ "${1}" == 'uninstall' ]; then | |
| Uninstall | |
| elif [ "${1}" == 'rspamd' ]; then | |
| Get_Public | |
| check_linux | |
| install_rspamd | |
| fi | |