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

本脚本参考TongWeb7.0默认仅本机可访问TongWeb控制台除了安装TongWeb外,也会在安装过程中设置所有用户的密码。
脚本说明
脚本将 TongWeb 的安装与首次初始化串成以下流程:
- 将 2048m 改为 4096m;
- 将 WebModuleOnly=false 改为 WebModuleOnly=true;
- 增加 -XX:MetaspaceSize=1024m 和 -XX:MaxMetaspaceSize=1024m;
- 删除 -XX:MaxPermSize=512m;
使用前准备
将以下三个文件放在同一个目录。该目录中不要放多个 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_PASSWORD、SECURITY_PASSWORD、AUDITOR_PASSWORD 和 MONITOR_PASSWORD。

4. 按需设置 heimdall 用户密码
heimdall 是集中管理控制台。需要使用时保留 heimdall=1,并修改 RIG_PASSWORD、SECADM_PASSWORD、AUDIT_PASSWORD 和 MONITOR_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) ]]; 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]#







