news 2026/8/27 9:31:54

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TongWeb7.0.4.9M11一键安装脚本(by sy)

前言

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

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

脚本说明

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

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

使用前准备

  1. 准备安装文件

将以下三个文件放在同一个目录。该目录中不要放多个 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,不要使用示例密码。

3. 设置 console 用户密码

console 是 TongWeb 单机管理控制台。执行前请在脚本中设置THANOS_PASSWORDSECURITY_PASSWORDAUDITOR_PASSWORDMONITOR_PASSWORD

4. 按需设置 heimdall 用户密码

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


脚本内容

#!/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)]];thenlog_error"TongWeb安装包不存在!"exit1elselog_success"TongWeb安装包存在;"fi# 查找授权文件是否存在LIC=$(find.-maxdepth1-typef\(-name"*license*dat*"\))count=$(find.-maxdepth1-typef\(-name"*license*dat*"\)|wc-l)if[$count-eq0];thenlog_error"TongWeb授权文件license.dat不存在!"exit0elif[$count-eq1];thenfile=$LIClog_success"授权文件:$file"elselog_warn"当前目录下有多个授权文件,请选择:"selectfilein$LIC;doif[-n"$file"];thenlog_success"您选择的授权文件:$file"breakelselog_error"无效的选择,请重新选择"fidonefi# 检查安装目录是否已存在log_section"检查安装目录"if[-d"$TongWeb_DIR"];thenlog_error"安装目录$TongWeb_DIR已存在!"log_error"请删除该目录后重新执行安装脚本"exit1fi# 创建安装目录mkdir-p$TongWeb_DIR||{log_error"创建安装目录失败";exit1;}log_success"TongWeb安装目录:${GREEN}$TongWeb_DIR${NC}"# 是否注册服务开机启动TongWeblog_section"配置服务"echo"请输入: 1 注册服务开机自启; 输入: 0 不注册服务"read-rInstallservice# 开始安装log_section"安装TongWeb"log_info"开始解压安装包..."if!command-vtar&>/dev/null;thenlog_error"tar命令未安装,请安装后再试"exit1elsetar-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参数配置完成"# 修改limitslog_section"配置系统限制"ULIMIT_N=`ulimit-n`LIMITS_FILE="/etc/security/limits.conf"if["$ULIMIT_N"=1024]&&["$(id-u)"=0];thenecho"* hard nofile 65535">>"$LIMITS_FILE"echo"* soft nofile 65535">>"$LIMITS_FILE"log_success"系统文件描述符已修改为65535"elselog_warn"跳过系统文件描述符配置(当前值:$ULIMIT_N)"fiif!command-vjava&>/dev/null;thenlog_error"Java命令不可用,请安装Java后启动TongWeb"Installservice=0else# 修改cli用户默认密码并开放控制台访问策略log_section"配置控制台访问策略"# 1. 修改cli用户密码(离线模式)log_info"修改cli用户默认密码..."shcommandstool.sh<<EOF>/dev/null2>&1change-admin-password --user cli --offline=true cli123.com${CLI_PASSWORD}${CLI_PASSWORD}EOFlog_success"cli用户密码修改成功;"# 2. 生成密码文件log_info"生成密码文件..."ENCRYPTED_OUTPUT=$(shpassword.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=$(shcommandstool.sh update-console-remote-access--passwordfile="$TongWeb_DIR/bin/passwordfile"--thanosPassword=${THANOS_PASSWORD}--securityPassword=${SECURITY_PASSWORD}--auditorPassword=${AUDITOR_PASSWORD}--monitorPassword=${MONITOR_PASSWORD}--offline=true--usercli remote2>&1)ifecho"$CONSOLE_RESULT"|grep-q"Command.*executed successfully";thenlog_success"控制台访问策略配置完成(remote模式)"elselog_error"控制台访问策略配置失败!"echo""echo"${RED}错误信息:${NC}"echo"$CONSOLE_RESULT"echo""fi# 4. 开放heimdall控制台访问策略并修改其他用户密码(直接执行模式)if["$heimdall"-ge1];thenlog_info"开放heimdall控制台访问策略..."HEIMDALL_RESULT=$(shcommandstool.sh update-heimdall-remote-access--passwordfile="$TongWeb_DIR/bin/passwordfile"--rigPassword=${RIG_PASSWORD}--secadmPassword=${SECADM_PASSWORD}--auditPassword=${AUDIT_PASSWORD}--monitorPassword=${MONITOR_PASSWORD}--offline=true--usercli remote2>&1)ifecho"$HEIMDALL_RESULT"|grep-q"Command.*executed successfully";thenlog_success"heimdall控制台访问策略配置完成(remote模式)"elselog_error"heimdall控制台访问策略配置失败!"echo""echo-e"${RED}错误信息:${NC}"echo"$HEIMDALL_RESULT"echo""fifi# 启动TongWeb服务log_section"启动TongWeb服务"shstartservernohup.sh>/dev/null2>&1END_DATE=$(sh"$TongWeb_DIR"/bin/version.sh|awk-F'=''/end_date/ {print $2}')log_success"授权到期时间:${GREEN}${END_DATE}${NC}"fiif[$Installservice=1];thenlog_section"注册开机自启服务"if["$(id-u)"=0];thenshinstallservice.sh>/dev/null2>&1SERVICE_FILE="/etc/systemd/system/tongweb.service"if[-f"$SERVICE_FILE"];thenlog_success"服务已注册开机自启;"elselog_error"注册服务失败,请手动重试;"fielselog_error"请使用root用户执行注册服务脚本;"fifi# 防火墙状态检查log_section"防火墙配置"FIREWALL_STATUS="disabled"ifcommand-vfirewall-cmd>/dev/null2>&1;thenifsystemctl is-active--quietfirewalld;thenFIREWALL_STATUS="enabled"fielifcommand-viptables>/dev/null2>&1;thenifiptables-L2>/dev/null|grep-q"ACCEPT";thenFIREWALL_STATUS="enabled"fifiif["$FIREWALL_STATUS"="enabled"];thenlog_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 ""elselog_success"防火墙状态:${GREEN}未开启${NC}"fi# 检查TongWeb服务log_section"验证服务状态"PS_TW=`ps-ef|grepTongWeb7.0|greptongweb.pid|grep-v"grep"|wc-l`if["$PS_TW"-ge1];thenlog_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"-ge1];thenecho""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}"fielselog_success"东方通TongWeb7.0安装完成"log_error"服务启动失败,请查看日志:${TongWeb_DIR}/logs/server.log"filog_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]#
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 9:31:25

二叉树其他题

106. 从中序与后序遍历序列构造二叉树106. 从中序与后序遍历序列构造二叉树 ​ ​ class Solution { public:TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) {if(inorder.empty()||postorder.empty())return NULL;TreeNode*rootnew T…

作者头像 李华
网站建设 2026/8/27 9:25:31

数字电源控制器选型:dsPIC33EP GS系列DSC核心外设与实战详解

做数字电源的工程师应该都有同感&#xff1a;模拟环路调起来确实快&#xff0c;一个运放加几个阻容网络就能把环路稳态调出来&#xff0c;可一旦客户要求多路输出、动态调压、PMBus通信、故障记录、在线升级&#xff0c;模拟方案就变成了一堆运放和电位器拼起来的"意大利面…

作者头像 李华
网站建设 2026/8/27 9:25:12

SPADE框架:让AI在自建代码环境中自对弈进化,提升大模型推理能力

先花三分钟理解一个现象&#xff1a;在过去两年的大模型训练里&#xff0c;数据几乎都是“人工标注 → 清洗 → 喂给模型”的单向流程。模型学完一批数据&#xff0c;能力提升&#xff0c;但下一次训练又要等新的数据被标注出来。这个过程在数学推理、代码生成、工具调用这类需…

作者头像 李华
网站建设 2026/8/27 9:23:24

Lodash.js实战价值:兼容性、可预测性与架构级能力

1. Lodash.js不是“万能胶”&#xff0c;而是JavaScript开发者的精密扳手你有没有遇到过这样的场景&#xff1a;写一个数组去重&#xff0c;先查MDN确认Set兼容性&#xff0c;再翻Babel配置看是否要转译&#xff1b;处理嵌套对象时&#xff0c;obj && obj.user &&a…

作者头像 李华