欢迎光临
我们一直在努力

TongWeb7.0.4.9M11一键安装脚本(by sy)

前言

自TongWeb7.0.4.9_M11版本开始,默认仅本机可访问TongWeb控制台。只有修改控制台所有用户默认密码后,才可开启远程访问,不然访问控制台,就会出现下面的提示:

在这里插入图片描述

本脚本参考TongWeb7.0默认仅本机可访问TongWeb控制台除了安装TongWeb外,也会在安装过程中设置所有用户的密码。

脚本说明

脚本将 TongWeb 的安装与首次初始化串成以下流程:

  • 检查 TongWeb 安装包和 license.dat 授权文件是否存在;
  • 创建安装目录 /opt/TongWeb7.0;目录已存在时停止执行,避免覆盖已有安装;
  • 提示是否注册 systemd 开机自启服务:输入 1 注册,输入 0 不注册;
  • 解压 TongWeb 安装包,并将授权文件复制到安装目录;
  • 修改 bin/external.vmoptions:
    • 将 2048m 改为 4096m;
    • 将 WebModuleOnly=false 改为 WebModuleOnly=true;
    • 增加 -XX:MetaspaceSize=1024m 和 -XX:MaxMetaspaceSize=1024m;
    • 删除 -XX:MaxPermSize=512m;
  • 修改 conf/tongweb.xml:在 server 虚拟主机中开启静态资源缓存,并设置缓存上限 cacheMaxSize=1024000;
  • 当使用 root 用户执行且当前文件句柄数为 1024 时,将系统 nofile 限制调整为 65535;
  • 修改 CommandStool 的 cli 用户密码,生成认证文件,并配置 console 的远程访问和四类管理账号密码;
  • 当 heimdall=1 时,配置 heimdall 的远程访问和管理账号密码;
  • 启动 TongWeb,显示授权到期时间,检查防火墙状态和 TongWeb 进程,最后输出控制台访问地址。
  • 使用前准备

  • 准备安装文件
  • 将以下三个文件放在同一个目录。该目录中不要放多个 TongWeb 安装包,以免脚本匹配到错误文件。

    installTongWeb7.0_M11.sh
    TongWeb7.0.4.9_M11_Enterprise_Linux.tar.gz
    license.dat

    默认安装目录为 /opt/TongWeb7.0。如需更换安装位置,修改脚本中的 INSTALL_DIR。

    2. 设置 CommandStool 用户密码

    CommandStool 是 TongWeb 的命令行管理工具,使用 cli 用户进行认证。首次使用时需要修改默认密码;脚本已经自动执行此步骤。

    执行前请修改脚本中的 CLI_PASSWORD,不要使用示例密码。

    CommandStool 用户说明

    3. 设置 console 用户密码

    console 是 TongWeb 单机管理控制台。执行前请在脚本中设置 THANOS_PASSWORD、SECURITY_PASSWORD、AUDITOR_PASSWORD 和 MONITOR_PASSWORD。

    console 用户密码配置

    4. 按需设置 heimdall 用户密码

    heimdall 是集中管理控制台。需要使用时保留 heimdall=1,并修改 RIG_PASSWORD、SECADM_PASSWORD、AUDIT_PASSWORD 和 MONITOR_PASSWORD;不需要时将 heimdall=1 改为 heimdall=0。

    heimdall 用户密码配置 在这里插入图片描述

    脚本内容

    #!/bin/sh
    #############本脚本适用于安装TongWeb7.0##########################
    # 1.将本脚本和TongWeb安装包、授权文件license.dat在同一目录
    # 2.安装目录:/opt(指定其他目录修改INSTALL_DIR)
    #
    #################################################################

    # 安装包名称
    TongWeb_TAR="TongWeb7.0.4.9_M*_Enterprise_Linux.tar.gz"

    # 默认安装目录
    INSTALL_DIR="/opt"
    TongWeb_DIR="$INSTALL_DIR/TongWeb7.0"

    # CommandStool 用户密码配置
    CLI_PASSWORD="Admin1qa.com"

    # console-用户密码配置
    THANOS_PASSWORD="T1hanos12.com"
    SECURITY_PASSWORD="S1ecurity12.com"
    AUDITOR_PASSWORD="A1uditor12.com"
    MONITOR_PASSWORD="M1onitor12.com"

    # heimdall-用户密码配置
    RIG_PASSWORD="R1ig12.com"
    SECADM_PASSWORD="S1ecadm12.com"
    AUDIT_PASSWORD="A1udit12.com"
    MONITOR_PASSWORD="M1onitor12.com"

    # heimdall开关: 0=不执行, 1=执行并打印信息,
    heimdall=1

    # 定义颜色变量
    RED='\\033[0;31m'
    GREEN='\\033[0;32m'
    YELLOW='\\033[1;33m'
    NC='\\033[0m'

    # 日志输出函数
    log_info() {
    echo -e "INFO: $1"
    }

    log_success() {
    echo -e "${GREEN}[SUCCESS]${NC}: $1"
    }

    log_error() {
    echo -e "${RED}[ERROR]${NC}: $1"
    }

    log_warn() {
    echo -e "${YELLOW}[WARN]${NC}: $1"
    }

    log_section() {
    echo ""
    echo "=====$1====="
    }

    # 当前目录
    cd "$(dirname "$0")"

    # 查找安装包是否存在
    log_section "检查安装包、授权"
    if [[ ! -f $(echo $TongWeb_TAR) ]]; then
    log_error "TongWeb安装包不存在!"
    exit 1
    else
    log_success "TongWeb安装包存在;"
    fi

    # 查找授权文件是否存在
    LIC=$(find . -maxdepth 1 -type f \\( -name "*license*dat*" \\))
    count=$(find . -maxdepth 1 -type f \\( -name "*license*dat*" \\)|wc -l)

    if [ $count -eq 0 ]; then
    log_error "TongWeb授权文件license.dat不存在!"
    exit 0
    elif [ $count -eq 1 ]; then
    file=$LIC
    log_success "授权文件: $file"
    else
    log_warn "当前目录下有多个授权文件,请选择:"
    select file in $LIC; do
    if [ -n "$file" ]; then
    log_success "您选择的授权文件: $file"
    break
    else
    log_error "无效的选择,请重新选择"
    fi
    done
    fi

    # 检查安装目录是否已存在
    log_section "检查安装目录"
    if [ -d "$TongWeb_DIR" ]; then
    log_error "安装目录 $TongWeb_DIR 已存在!"
    log_error "请删除该目录后重新执行安装脚本"
    exit 1
    fi

    # 创建安装目录
    mkdir -p $TongWeb_DIR || { log_error "创建安装目录失败"; exit 1; }
    log_success "TongWeb安装目录: ${GREEN}$TongWeb_DIR${NC}"

    # 是否注册服务开机启动TongWeb
    log_section "配置服务"
    echo "请输入: 1 注册服务开机自启; 输入: 0 不注册服务"
    read -r Installservice

    # 开始安装
    log_section "安装TongWeb"
    log_info "开始解压安装包…"
    if ! command -v tar &> /dev/null; then
    log_error "tar命令未安装,请安装后再试"
    exit 1
    else
    tar -zxf ${TongWeb_TAR} -C $TongWeb_DIR –strip-components=1
    # 复制授权到安装目录下
    cp $file $TongWeb_DIR/license.dat
    log_info "授权文件已复制到安装目录…"
    log_success "TongWeb安装完成。"
    fi

    # 修改启动参数
    log_section "配置JVM参数"
    cd $TongWeb_DIR"/bin"
    VM="external.vmoptions"

    sed -i 's/2048m/4096m/g' ${VM}
    sed -i 's/WebModuleOnly=false/WebModuleOnly=true/g' ${VM}

    MetaspaceSize="-XX:MetaspaceSize=1024m"
    MaxMetaspaceSize="-XX:MaxMetaspaceSize=1024m"
    ser="-server"

    sed -i "/${ser}/i $MetaspaceSize" ${VM}
    sed -i "/${ser}/i $MaxMetaspaceSize" ${VM}
    sed -i "/-XX:MaxPermSize=512m/d" ${VM}

    CACHE_MAX='<property name="cacheMaxSize" value="1024000"/>'
    CACHE_ALLOW=' <property name="cachingAllowed" value="true"/>'
    VHOST='<virtual-host name="server" listeners="tong-http-listener"'
    sed -i "/${VHOST}/,/<\\/virtual-host>/ s|<\\/virtual-host>|${CACHE_MAX}\\n${CACHE_ALLOW}\\n </virtual-host>|" "${TongWeb_DIR}/conf/tongweb.xml"

    log_success "JVM参数配置完成"

    # 修改limits
    log_section "配置系统限制"
    ULIMIT_N=`ulimit -n`
    LIMITS_FILE="/etc/security/limits.conf"
    if [ "$ULIMIT_N" = 1024 ] && [ "$(id -u)" = 0 ]; then
    echo "* hard nofile 65535" >> "$LIMITS_FILE"
    echo "* soft nofile 65535" >> "$LIMITS_FILE"
    log_success "系统文件描述符已修改为65535"
    else
    log_warn "跳过系统文件描述符配置(当前值: $ULIMIT_N)"
    fi

    if ! command -v java &> /dev/null; then
    log_error "Java命令不可用,请安装Java后启动TongWeb"
    Installservice=0
    else
    # 修改cli用户默认密码并开放控制台访问策略
    log_section "配置控制台访问策略"

    # 1. 修改cli用户密码(离线模式)
    log_info "修改cli用户默认密码…"
    sh commandstool.sh << EOF > /dev/null 2>&1
    change-admin-password –user cli –offline=true
    cli123.com
    ${CLI_PASSWORD}
    ${CLI_PASSWORD}
    EOF

    log_success "cli用户密码修改成功;"

    # 2. 生成密码文件
    log_info "生成密码文件…"
    ENCRYPTED_OUTPUT=$(sh password.sh ${CLI_PASSWORD} 2>/dev/null)
    ENCRYPTED_PASSWORD=$(echo "$ENCRYPTED_OUTPUT" | awk -F': ' '{print $2}' | sed 's/^ *//')
    echo "AS_ADMIN_password=${ENCRYPTED_PASSWORD}" > "$TongWeb_DIR/bin/passwordfile"
    log_success "密码文件生成成功"

    # 3. 开放console控制台访问策略并修改其他用户密码(直接执行模式)
    log_info "开放console控制台访问策略…"
    CONSOLE_RESULT=$(sh commandstool.sh update-console-remote-access –passwordfile="$TongWeb_DIR/bin/passwordfile" –thanosPassword=${THANOS_PASSWORD} –securityPassword=${SECURITY_PASSWORD} –auditorPassword=${AUDITOR_PASSWORD} –monitorPassword=${MONITOR_PASSWORD} –offline=true –user cli remote 2>&1)
    if echo "$CONSOLE_RESULT" | grep -q "Command.*executed successfully"; then
    log_success "控制台访问策略配置完成(remote模式)"
    else
    log_error "控制台访问策略配置失败!"
    echo ""
    echo "${RED}错误信息:${NC}"
    echo "$CONSOLE_RESULT"
    echo ""
    fi

    # 4. 开放heimdall控制台访问策略并修改其他用户密码(直接执行模式)
    if [ "$heimdall" -ge 1 ]; then
    log_info "开放heimdall控制台访问策略…"
    HEIMDALL_RESULT=$(sh commandstool.sh update-heimdall-remote-access –passwordfile="$TongWeb_DIR/bin/passwordfile" –rigPassword=${RIG_PASSWORD} –secadmPassword=${SECADM_PASSWORD} –auditPassword=${AUDIT_PASSWORD} –monitorPassword=${MONITOR_PASSWORD} –offline=true –user cli remote 2>&1)
    if echo "$HEIMDALL_RESULT" | grep -q "Command.*executed successfully"; then
    log_success "heimdall控制台访问策略配置完成(remote模式)"
    else
    log_error "heimdall控制台访问策略配置失败!"
    echo ""
    echo -e "${RED}错误信息:${NC}"
    echo "$HEIMDALL_RESULT"
    echo ""
    fi
    fi

    # 启动TongWeb服务
    log_section "启动TongWeb服务"
    sh startservernohup.sh > /dev/null 2>&1
    END_DATE=$(sh "$TongWeb_DIR"/bin/version.sh | awk -F '=' '/end_date/ {print $2}')
    log_success "授权到期时间: ${GREEN}${END_DATE}${NC}"
    fi

    if [ $Installservice = 1 ]; then
    log_section "注册开机自启服务"
    if [ "$(id -u)" = 0 ]; then
    sh installservice.sh > /dev/null 2>&1
    SERVICE_FILE="/etc/systemd/system/tongweb.service"
    if [ -f "$SERVICE_FILE" ]; then
    log_success "服务已注册开机自启;"
    else
    log_error "注册服务失败,请手动重试;"
    fi
    else
    log_error "请使用root用户执行注册服务脚本;"
    fi
    fi

    # 防火墙状态检查
    log_section "防火墙配置"
    FIREWALL_STATUS="disabled"
    if command -v firewall-cmd >/dev/null 2>&1; then
    if systemctl is-active –quiet firewalld; then
    FIREWALL_STATUS="enabled"
    fi
    elif command -v iptables >/dev/null 2>&1; then
    if iptables -L 2>/dev/null | grep -q "ACCEPT"; then
    FIREWALL_STATUS="enabled"
    fi
    fi

    if [ "$FIREWALL_STATUS" = "enabled" ]; then
    log_warn "防火墙状态:${GREEN}开启${NC},请${YELLOW}关闭防火墙${NC}或者${YELLOW}开放端口9060/8088${NC}"
    #echo ""
    #echo " firewalld:"
    #echo " sudo firewall-cmd –permanent –add-port=9060/tcp"
    #echo " sudo firewall-cmd –permanent –add-port=8088/tcp"
    #echo " sudo firewall-cmd –reload"
    #echo ""
    #echo " iptables:"
    #echo " sudo iptables -A INPUT -p tcp –dport 9060 -j ACCEPT"
    #echo " sudo iptables -A INPUT -p tcp –dport 8088 -j ACCEPT"
    #echo " sudo iptables-save > /etc/sysconfig/iptables"
    #echo ""
    else
    log_success "防火墙状态:${GREEN}未开启${NC}"
    fi

    # 检查TongWeb服务
    log_section "验证服务状态"
    PS_TW=`ps -ef|grep TongWeb7.0|grep tongweb.pid|grep -v "grep"|wc -l`
    if [ "$PS_TW" -ge 1 ]; then
    log_success "东方通TongWeb7.0安装完成,服务已启动!"
    log_info "单机控制台访问地址: ${GREEN}http://$(hostname -I | awk '{print $1}'):9060/console${NC}"
    log_info "用户名密码: ${GREEN}thanos / ${THANOS_PASSWORD}${NC}"
    echo ""
    echo "其他用户账号信息:"
    echo -e " – 安全保密管理员 security / ${GREEN}${SECURITY_PASSWORD}${NC}"
    echo -e " – 安全审计员 auditor / ${GREEN}${AUDITOR_PASSWORD}${NC}"
    echo -e " – 系统管理员 monitor / ${GREEN}${MONITOR_PASSWORD}${NC}"
    echo ""
    echo -e " – Commandstool管理员 cli / ${GREEN}${CLI_PASSWORD}${NC}"

    if [ "$heimdall" -ge 1 ]; then
    echo ""
    log_info "集中管理控制台访问地址: ${GREEN}http://$(hostname -I | awk '{print $1}'):9060/heimdall${NC}"
    log_info "用户名密码: ${GREEN}rig / ${GREEN}${RIG_PASSWORD}${NC}"
    echo ""
    echo "其他用户账号信息:"
    echo -e " – 安全保密管理员 secadm / ${GREEN}${SECADM_PASSWORD}${NC}"
    echo -e " – 安全审计员 audit / ${GREEN}${AUDIT_PASSWORD}${NC}"
    echo -e " – 系统管理员 monitor / ${GREEN}${MONITOR_PASSWORD}${NC}"
    fi
    else
    log_success "东方通TongWeb7.0安装完成"
    log_error "服务启动失败,请查看日志: ${TongWeb_DIR}/logs/server.log"
    fi

    log_section "安装完成"
    #End

    使用示范

    [root@localhost ~]# cd /opt
    [root@localhost opt]# chmod +x installTongWeb7.0_M11.sh
    [root@localhost opt]# ./installTongWeb7.0_M11.sh

    =====检查安装包、授权=====
    [SUCCESS]: TongWeb安装包存在;
    [SUCCESS]: 授权文件: ./license.dat

    =====检查安装目录=====
    [SUCCESS]: TongWeb安装目录: /opt/TongWeb7.0

    =====配置服务=====
    请输入: 1 注册服务开机自启; 输入: 0 不注册服务
    1

    =====安装TongWeb=====
    INFO: 开始解压安装包...
    INFO: 授权文件已复制到安装目录...
    [SUCCESS]: TongWeb安装完成。

    =====配置JVM参数=====
    [SUCCESS]: JVM参数配置完成

    =====配置系统限制=====
    [SUCCESS]: 系统文件描述符已修改为65535

    =====配置控制台访问策略=====
    INFO: 修改cli用户默认密码...
    [SUCCESS]: cli用户密码修改成功;
    INFO: 生成密码文件...
    [SUCCESS]: 密码文件生成成功
    INFO: 开放console控制台访问策略...
    [SUCCESS]: 控制台访问策略配置完成(remote模式)
    INFO: 开放heimdall控制台访问策略...
    [SUCCESS]: heimdall控制台访问策略配置完成(remote模式)

    =====启动TongWeb服务=====
    [SUCCESS]: 授权到期时间: 2026-10-01

    =====注册开机自启服务=====
    [SUCCESS]: 服务已注册开机自启;

    =====防火墙配置=====
    [SUCCESS]: 防火墙状态:未开启

    =====验证服务状态=====
    [SUCCESS]: 东方通TongWeb7.0安装完成,服务已启动!
    INFO: 单机控制台访问地址: http://192.168.31.105:9060/console
    INFO: 用户名密码: thanos / T1hanos12.com

    其他用户账号信息:
    – 安全保密管理员 security / S1ecurity12.com
    – 安全审计员 auditor / A1uditor12.com
    – 系统管理员 monitor / M1onitor12.com

    – Commandstool管理员 cli / Admin1qa.com

    INFO: 集中管理控制台访问地址: http://192.168.31.105:9060/heimdall
    INFO: 用户名密码: rig / R1ig12.com

    其他用户账号信息:
    – 安全保密管理员 secadm / S1ecadm12.com
    – 安全审计员 audit / A1udit12.com
    – 系统管理员 monitor / M1onitor12.com

    =====安装完成=====
    [root@localhost opt]#

    赞(0)
    未经允许不得转载:171主机测评 » TongWeb7.0.4.9M11一键安装脚本(by sy)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址