# 数科0716旧版本预览、转换、签章服务安装维护手册
适用Linux和信创系统
2024年9月
# 修订记录
修订内容 | 修订时间 |
---|---|
增加必备配置“sysctl开启内核ipv4转发等配置” | 2024-9-20 |
增加常见问题“部分电脑预览转圈” | 2024-9-20 |
修改访问web-reader/lic的端口,由8080改为81 | 2024-9-29 |
增加预装tar等常用命令的提醒 | 2024-10-18 |
# 部署要求
本手册适用于部署《数科电子签章+预览+转换》组合时使用,如果只部署数科预览+转换,请参考:《数科_预览+转换服务部署手册》。
特别注意:不含数科签章与包含数科签章的安装文件、部署方式、部署目录、授权注册、开放端口都有很大差异,请严格按照对应手册操作。
# 适用版本
数科在线预览和签章服务集成适用于致远协同办公管理软件(A6+、A8+、A8-N、G6、G6-N)9.0SP1版本。
# 环境要求
特别注意:
数科服务不支持Windows环境部署(需要一台Linux系统的服务器)!
服务器最低配置要求:CPU>=16核 内存>=24G 目录空间>=500G
详细支持情况如下:
不同用户数对数科服务器配置要求不同,建设初期请按照OA同时在线人数申请与之匹配的服务器资源,后续再根据运行情况做灵活调配。
更详细的系统环境兼容、阶梯资源要求参考在线文档:https://docs.qq.com/sheet/DRmlOWkRoTFNLQnJi?tab=000001 (opens new window)
# 网络互通要求
使用数科功能,需要实现如下网络要求:
1、数科服务要与协同OA 服务网络互通
2、客户终端(使用数科在线预览和签章的电脑)需要能同时访问协同OA服务地址和数科服务地址。
3、如果客户端连接协同OA的协议是http,则连接数科的通协议也必须是http;同理,连接协同OA协议是https,则数科协议也必须是https。
4、如启用Https,证书需要客户采购,且证书不能绑定到任何IP上,证书需要绑定给指定域名。
如下是服务对外用到的默认端口:
包含数科签章场景 | 默认端口 | 操作 |
---|---|---|
协同OA服务 | 80 | 互通 |
数科签章、预览 | 81 | 互通 |
数科转换 | 8090 | 互通 |
数科转换(arm) | 8091 | 互通 |
客户端 | All | 互通 |
由于不同客户的网络环境不同(有的只用PC内网;有的PC和移动都放外网;有的M3和微协同都分开网络管理),不同场景的网络配置会有不同,产品提供了不同客户网络环境下的解决方案,请务必参考在线文档做网络配置:
https://docs.qq.com/doc/DYUF2d2FuV214Y3Rl (opens new window)
如部署完成后,出现网络不通的问题,可通过如下方法进行网络连通测试:
首先,画出客户端、协同OA服务器、数科服务的网络关系,以及访问域名(或IP端口)。
然后,通过telnet命令检查IP端口连通性,示例"telnet 192.168.10.20 80"。
端口不通示例:
Linux:
[root@lbq data]# telnet 192.168.10.20 80
Trying 192.168.10.20...
telnet: connect to address 192.168.10.20: Operation timed out
telnet: Unable to connect to remote host
Windows:
Microsoft Windows [版本 10.0.22631.4037]
(c) Microsoft Corporation。保留所有权利。
C:\Windows\System32>telnet 192.168.10.50 80
正在连接192.168.10.50...无法打开到主机的连接。 在端口 80: 连接失败
端口正常连通示例:
Linux:
[root@lbq data]# telnet 192..168.10.20 80
Trying 192..168.10.20...
Connected to 192..168.10.20.
Escape character is '^]'.
Windows:
Microsoft Windows [版本 10.0.22631.4037]
(c) Microsoft Corporation。保留所有权利。
C:\Windows\System32>telnet 192.168.80.25 80
正常则跳转到黑色窗口光标有规律闪烁。
# 安装包获取
链接:https://pan.baidu.com/s/1tGwOsWuW3Ra9IVls_KI2oA (opens new window)
提取码: kusm
网盘具体路径:
Linux X86环境:第三方应用>数科预览转换+签章>数科(签章+预览+转换产品)X86环境
信创arm环境:第三方应用>数科预览转换+签章>数科(签章+预览+转换产品)arm64环境
注:数科不支持Windows系统部署,没有Windows安装包!
# 软件要求
数科服务依赖Docker容器,所有相关服务均安装在Docker下:
• docker
• docker-compose
安装包自带docker和docker-compose,安装过程中识别已安装docker组件会自动跳过,如不存在会自动安装。
已有的docker环境的建议要大于等于如下版本;
• Docker version 20.10.9, build c2ea9bc
• Docker Compose version v2.14.2
# 服务部署
安装数科服务,建议以root身份执行部署,以普通用户执行时需要在命令前增加sudo以获取权限!
安装部署前,先确保当前系统已经安装了最基础的命令,可执行如下语句做预装:
# 使用yum命令安装,如当前系统提示yum不可用,则使用apt
yum install tar curl telnet vim -y
# 基于Debian的系统(如Ubuntu)使用apt预装组件
sudo apt update
sudo apt install tar curl telnet vim -y
# 检查服务器资源(必做)
安装前务必做好服务器资源检查:根目录空间>=100GB,数据目录空间>=400GB。空间过小,会造成空间不足导致安装失败!
推荐模式 | Size | Mounted on | 备注 |
---|---|---|---|
第一种模式根目录 | >=100G | / | 根目录需要预留空间 |
第一种模式数据目录 | >=400G | /data | 数科主要放在/data下的子目录 |
第二种模式 | >=500G | / | - |
# 部署前关闭相关服务(必做)
关闭防火墙:
#停止防火墙
systemctl stop firewalld
#开机不自启
systemctl disable firewalld
关闭 selinux:
1、临时关闭 :输入命令 setenforce 0,重启系统后还会开启 。建议永久关闭。
2、永久关闭 :输入命令 vim /etc/selinux/config,将SELINUX=enforcing 改为SELINUX=disabled, 然后保存退出。
设置完成后,请重启一次服务器操作系统!
# sysctl开启内核ipv4转发等配置(必做)
以下操作必须,请按命令示例执行:
复制/etc/sysctl.conf一份命名为/etc/sysctl.conf.1,方便出问题恢复。
使用vi或vim命令编辑/etc/sysctl.conf文件,修改或添加如下配置:
cp -r /etc/sysctl.conf /etc/sysctl.conf.1
vim /etc/sysctl.conf
将以下配置信息放入sysctl.conf配置中(如果已有相同配置,则忽略)
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-arptables = 1
vm.swappiness = 0
fs.inotify.max_user_watches = 1048576
# vi或vim模式增加配置后Esc再录入:wq保存(如不会使用vim请自行网上搜索)
# 保存后,再执行 sysctl -p 使修改生效(有的系统需要执行 service network restart)
sysctl -p
# 如果已经部署了服务,还需要重启docker引擎:
systemctl daemon-reload
systemctl restart docker
如果出现sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory错误,则表示"net.bridge.bridge-nf-call-iptables = 1"参数未生效
可以执行命令手动加载模块到内核:
# 先加载模块到内核
modprobe br_netfilter
# 再执行sysctl -p使修改生效
sysctl -p
# 上传安装包(必做)
首先将安装包上传到服务器/data/suwell路径下:
# 没有/data/suwell路径就新建对应路径:
mkdir -p /data/suwell
# 通过各种方式将安装包传到/data/suwell目录下,以下是从/tmp目录传过来:
mv /tmp/dzqz-weboffice-seeyon-0716.tar.gz /data/suwell
特别注意:dzqz-开头的安装包才是带签章的,适合本部署文档;如果您下载的是suwell-开头的安装包则表示下错了(这个不含签章服务),这种情况不要用本手册部署,会有很多意料外的问题!
# 核对安装包完整性(可选)
建议核对安装包完整性,值不一致需要重新下载安装包。如不会本步操作,可以忽略至下一步:
# X86安装包完整性检查方法:
cd /data/suwell
md5sum dzqz-weboffice-seeyon-0716.tar.gz
输出结果与"一体包.txt"文件里对应的值核对,对应不上需要重新获取安装包。
# arm安装包完整性检查方法:
cd /data/suwell
md5sum dzqz-weboffice-seeyon-arm64-0716.tar.gz
输出结果与"一体包.txt"文件里对应的值核对,对应不上需要重新获取安装包。
# 解压安装包(必做)
以上步骤完成后,在/data/suwell目录下解压安装包:
特别注意:带签章的数科安装包是dzqz-开头,如果您下载的是不带签章的安装包,请用不带签章的数科部署手册。
cd /data/suwell
# X86环境解压如下压缩包:
tar -zxvf dzqz-weboffice-seeyon-0716.tar.gz
# arm环境解压如下压缩包:
tar -zxvf dzqz-weboffice-seeyon-arm64-0716.tar.gz
解压后的目录名为dzqz-weboffice(如果发现解压后的目录名不对,请检查是否下了错安装包):
# 修改service.yml配置(必做)
下一步进入/data/suwell/dzqz-weboffice/dzqz目录,修改service.yml中的配置:
cd /data/suwell/dzqz-weboffice/dzqz/
vim service.yml
进入dzqz目录后,通过vi或vim修改service.yml,找到resource模块:
provider: com.suwell.reader.resource.SimpleOFDResource前面增加一个#号;
#provider: com.suwell.reader.resource.HttpInfoResource 前面的#号删除掉;
通俗点说就是注释SimpleOFDResource,启用HttpInfoResource。
以上操作修改后,按键盘Esc键,输入:wq保存退出即可。
修改service.yml之后,在当前dzqz目录下依次执行如下命令:
cd /data/suwell/dzqz-weboffice/dzqz/
# 先执行如下命令:
source env_all
# 再执行如下命令:
source ../suwell-viewer-weboffice/etcd_env
# 执行部署脚本(必做)
以上完成后,开始执行安装命令,在dzqz目录下执行一键安装脚本:
cd /data/suwell/dzqz-weboffice/dzqz/
# 以root身份执行部署脚本:
./install_start.sh
整个安装过程不用人为介入,如果当前系统已经安装docker,程序会自动跳过进行镜像导入:
没有docker和docker-compose环境时会自动安装组件:
随后,什么都不用做,等待安装完成即可:
如遇到上图中的warn警告信息可以忽略,不影响功能。
如遇到"xxx Error"的错误提示,则表示自动安装失败,这种情况建议先检查目录空间,如果磁盘空间不足会造成部署失败。遇到安装失败,只能先定位并解决问题,然后卸载服务,重新部署。
查看过程信息:no space left on device,典型的空间不足,数科服务对根目录和数据目录都有磁盘空间要求:
这个空间太小了:
# 服务状态查看(必做)
通过docker ps -a
命令查看数科服务状态,如果容器下所有服务状态是up表示正常:
# 查看数科服务运行状态:
docker ps -a
如果状态不是up,可以使用docker logs 查看日志信息联系数科支持人员排查。
# 通过docker log查看日志:
docker logs -n 500 对应docker ps -a的第一列容器id
# 示例如下:
docker logs -n 1000 ced6a915c0c0
以上完成后,就算部署完成,剩下就是获取机器码和放置授权。
# 授权申请和注册服务(必做)
# 授权申请步骤(必做)
数科服务部署完成后,才能进行授权文件申请。申请和注册授权总计需要进行两步:
第一步:部署人员按手册访问reader和api5(可选)获取机器码,将机器码交给客户经理,客户经理申请到.lic授权文件后,部署人员将其放到reader和api5(可选)目录并重启数科服务。
第二步:部署人员继续通过浏览器访问web-reader/lic获取第二次机器码,将第二次机器码交给客户经理,客户经理申请到.lic授权文件后,部署人员通过浏览器访问web-reader/lic注册第二次的.lic文件。
以上完成后,才能正常使用数科服务。
协同OA加密狗授权:使用数科预览转换和电子签章,客户经理需要申请V5加密狗中增加插件:"在线预览集成插件"和"电子签章集成插件",否则V5后台系统管理员进行流版签设置看不到对应菜单。
数科授权:正式授权文件需发起销售订单获取,试用授权文件需发起《客户产品申请单》获取,在表单中插件信息部分选择或填写"数科文档在线预览"/"数科电子签章"。
# 申请注册目录授权(必做)
# 获取数科预览的授权文件:到license下reader目录,生成机器码
cd /data/suwell/dzqz-weboffice/dzqz/license/
cd reader/
./createcode -c
# 如果上一步执行报错提示-1,则执行下面操作获取机器码:
chattr -R -i .FORBIDDEN/
rm -rf .FORBIDDEN/
./createcode -c
# (可选)获取数科签章的授权文件:到license下api5目录,生成机器码
cd /data/suwell/dzqz-weboffice/dzqz/license/
cd api5/
./createcode -c
# 如果上一步执行报错提示-1,则执行下面操作获取机器码:
chattr -R -i .FORBIDDEN/
rm -rf .FORBIDDEN/
./createcode -c
将获取的机器码分好目录类别发送给客户经理,由客户经理去申请授权文件。
# 目录注册授权
客户经理申请到授权后,将相对应的api5授权和reader授权手动再放到api5和reader的路径下,授权文件名字不是".lic"的话,必须修改为".lic"文件名。比如数科给的是名为"lic40"的文件,您需要将其改为名为".lic"的文件(不是lic40.lic)。使用ls -al
可以查看到授权文件。
# 目录注册后重启服务(必做)
放置好授权.lic文件后,重启数科服务:
# 访问到部署目录
cd /data/suwell/dzqz-weboffice/dzqz/
# 先执行停止服务
docker-compose -f docker-compose.yml stop
# 再启动容器服务
docker-compose -f docker-compose.yml start
停止服务:
启动应用服务还是在当前路径下,全部显示Started后表示启动完毕等待10秒后访问:
# 浏览器注册预览服务(必做)
当前面reader和api5目录的授权已经放入并重启服务。接来下就是进行第二次授权注册:访问数科服务地址 http://IP:81/web-reader/lic 密码是suwell@123
正常情况下机器码是生成的,将机器码交给客户经理,联系获取数科的第二次授权文件(特别提醒,第二次授权文件与api5、reader无关,故不要拿api5、reader下的文件去乱注册)。
拿到第二次授权文件后,按下图所示注册授权,直至显示"注册成功"为止:
到此服务部署启动完成,剩余的参考功能初始化手册进行签章初始化,初始化后才能正常对接OA。
浏览器访问获取注册码时,可能会遇到机器码全部0000000的情况,这种情况需要做下判断:
1、如果您没注册过reader、api5目录,则需要先按手册要求注册授权后再获取机器码。
2、如果您已经确认放置过reader、api5目录授权,并且重启过,则直接联系数科技术告知情况,获得支持。
如遇到重启后无法访问web-reader/lic的问题,可以稍等一会儿重试。如果还是不行,则尝试再次重启数科服务。
# 签章服务初始化(可选)
# 三员添加对接系统
打开三员登录页面 http://IP:81/managementCenter/login
登录系统管理员 账号:xtadmin 密码:123456
# 添加对接系统(签章)
点击系统管理
点击添加对接系统按钮
弹框内,签章系统地址如下图所示:
业务系统IP:/sealWeb/Transferstation
系统统菜单地址: http://IP:81/elseal/em/sysApi/sysInteractionBus
不能填127.0.0.1
添加成功后,点击编辑,会显示APP key,密钥信息,请记录这两项信息,便于后续初始化使用
# 添加对接系统(制章)
1、点击系统管理
2、点击添加对接系统按钮
3、弹框内,签章系统地址如下图所示:
制章系统地址如下图所示:
业务系统IP:/sealMakerWeb/login
系统菜单地址: http://服务器的IP:81/sealmaker/sysApi/sysInteractionBus
不能填127.0.0.1
添加成功后,点击编辑,会显示APP key,密钥信息,请记录这两项信息,便于后续初始化使用
# 业务系统初始化配置
三员、签章、制章系统部署完成后在三员中添加签章、制章的对接系统,并记录相应的appKey和appSecret,开始对签章、制章进行系统初始化配置。
# 制章初始化配置
制章系统初始化地址: http://服务器的IP:81/sealMakerWeb/initconfig
登录初始化管理员:账号:init 密码:SuWell@123.com!
制章系统初始化配置页面如下:
依照部署环境,选择部署网络环境是否互通,签章、制章系统是否互通
设置ukey制章是否需要开启
填入2.1.2三员系统对接制章系统时下发的APP key,密钥信息
系统初始化时间:选择部署时间即可
上传系统所需要的制章工具和ukey小助手
按需配置后点击提交
# 创建用户
打开三员登录页面 http://服务器的IP:81/managementCenter/login
登录系统管理员 账号:xtadmin密码:123456
选择"用户管理-内部用户管理"菜单
选择对应机构(无机构请在"组织机构管理"菜单下创建),点击"添加用户"按钮,填写信息,添加用户。
# 创建角色
打开三员登录页面 http://服务器的IP:81/managementCenter/login
登录系统管理员 账号:aqadmin密码:123456
选择"角色管理"目录,添加角色,选择制章系统环境,选择菜单权限,创建角色
# 角色分配用户
角色创建成功后,点击列表的"分配用户",添加2.2.1.1创建的用户
# 制章添加对接系统
1、打开制章登录页面 http://服务器的IP:81/managementCenter/portal
2、登录三员创建的账号(已分配制章角色)
3、点击系统配置
4、点击添加对接系统
业务系统IP地址: http://服务器的IP:81/elseal/em
添加成功后,点击编辑,会显示APP key,密钥信息,请记录这两项信息,便于后续初始化使用
# 签章初始化配置
签章系统初始化地址: http://服务器的IP:81/sealWeb/initconfig
登录初始化管理员:账号:init 密码:SuWell@123.com!
签章初始化页面如下图所示:
签章认证url:http://服务器的IP:81/publicLoginPage/login
依照部署环境,选择部署网络环境是否互通,签章、制章系统是否互通
依照部署环境,选择签章、制章是否使用同一个minio
三员系统下发appKey、appSecret,填入2.1.1三员系统对接签章系统时下发的APP key,密钥信息
制章系统下发appKey、appSecret,填入2.2.1.4制章系统对接签章系统时下发的APP key,密钥信息
系统初始化时间:选择部署时间即可
上传系统所需要的制章工具和ukey小助手
按需配置后点击提交
注:
- 签章系统设置在线/离线,互通/不互通后需要在三员登录系统管理员中更新签章系统菜单。
- 更新后需要登录安全管理员对签章的菜单权限进行勾选。
# 导入系统证书
打开三员登录页面 http://服务器的IP:81/managementCenter/login
登录安全管理员 账号:aqadmin密码:123456
点击系统证书管理,选择对应系统,点击导出P10,填写对应信息,下载P10文件,类型一般是pem,提供给商务生成证书
点击导入证书导入商务提供的证书文件
# 协同OA侧配置数科在线预览(必做)
# 前提要求
进行本章节操作前提:
已经完成数科服务部署、授权注册,已确认数科服务处于启动状态
已经在致远侧更新了数科集成依赖的加密狗授权
# 配置说明
登录协同OA系统管理员-系统设置-流版签系统设置。通过在线预览-选择数科预在线预览,来配置预览相关信息:
IP地址不能配置127.0.0.1
在线预览文件大小限制:超出限制就无法预览,默认5120KB/1024=5M文件,如果要调整为最大预览50M文件则配置为:51200
数科在线预览服务器地址:对应数科默认端口是81,并且一定要在端口后追加/web-reader
注:以上端口适合含签章服务场景,如果未部署签章服务所使用端口不一样,需要看另一份手册。
数科在线预览转换服务器地址:对应数科默认端口是8090(ARM芯片默认端口不一样,ARM的端口信息见“网络互通要求”中的端口列表),端口后面不带任何内容
数科在线预览回调地址:对应协同OA的地址,端口后追加/seeyon,不要以/结尾
通过在电子签章-数科在线签章,来配置签章相关信息:
IP地址不能配置127.0.0.1。
由于不同客户的网络环境不同,产品提供了不同客户网络环境下的解决方案,请务必参考在线文档做网络配置: https://docs.qq.com/doc/DYUF2d2FuV214Y3Rl (opens new window)
# 功能验证
以上完成后,进行功能验证,可以以普通用户的身份登录协同系统,上传附件,再尝试通过在线预览访问附件,判断预览有效性。
# 数科问题固定排查方法(必读)
如遇数科服务不可用,按如下固定方式做排查:
第一步:检查数科服务是否正常,通过docker ps -a
命令查看数科服务是否全部启动
# 查看数科服务运行状态:
docker ps -a
找NAMES中包含suwell关键字的所有信息,检查STAUTS状态:
如果全是Up则正常,上报问题时,提供状态截图证明;
如果STAUTS存在不是Up的镜像,则参考"重启数科服务"章节,将数科服务重启再试;
如果重启后依然存在STAUTS不是Up的选项,则截图上报问题
第二步:检查授权是否正常
参考授权章节,直接访问数科授权页面 http://IP:81/web-reader/lic 密码是suwell@123 查看页面是否正常。
注:以上端口适合含签章服务场景,如果未部署签章服务所使用端口不一样,需要看另一份手册。
如果显示"注册成功"则授权正常,上报问题时,提供注册成功截图证明;
如果没有显示"注册成功",请按照授权章节做完整的授权申请再检查;
如果确认已经完整授权申请,依然不生效,请提供reader、api5目录机器码截图、.lic授权文件和浏览器授权文件,上报问题
第三步:检查service.yml配置是否正常
参考修改service.yml章节,检查service.yml中的resource模块
cd /data/suwell/dzqz-weboffice/dzqz/
cat service.yml
如上图所示,如果HttpInfoResource最前面没有#号,而SimpleOFDResource最前面有#号则正常。上报问题时,提供配置截图证明。
反之则不正常,参考修改service.yml章节,调整配置,随后参考"卸载操作"+"手动部署"操作发布数科服务。
第四步:检查协同OA侧配置
参考协同OA侧配置章节,检查在线预览的配置是否正确。
数科在线预览服务器地址:对应数科默认端口是81,并且一定要在端口后追加/web-reader
注:以上端口适合含签章服务场景,如果未部署签章服务所使用端口不一样,需要看另一份手册。
数科在线预览转换服务器地址:对应数科默认端口是8090,端口后面不带任何内容
数科在线预览回调地址:对应协同OA的地址,端口后追加/seeyon,不要以/结尾
不同客户的网络环境不一样,务必根据客户场景选择在线文档中合适的网络关系做配置 https://docs.qq.com/doc/DYUF2d2FuV214Y3Rl (opens new window)
如果项目上未查出问题,请提供配置截图及客户的网络场景,上报问题。
# 日常运维(可选)
# 重启数科服务
本步介绍日常运维过程中,数科服务重启的操作步骤,如项目上需要进行服务重启,参照如下方案执行即可:
# 访问到部署目录dzqz
cd /data/suwell/dzqz-weboffice/dzqz/
# 先执行停止服务
docker-compose -f docker-compose.yml stop
# 再启动容器服务
docker-compose -f docker-compose.yml start
# 访问到部署目录suwell-viewer-weboffice
cd /data/suwell/dzqz-weboffice/suwell-viewer-weboffice
# 先执行停止服务
docker-compose -f docker-compose.yml stop
# 再启动容器服务
docker-compose -f docker-compose.yml start
停止服务:
启动应用服务还是在当前路径下,全部显示Started后表示启动完毕等待10秒后访问:
通过docker ps -a
命令查看数科服务状态,如果容器下所有服务状态是up表示正常:
# 查看数科服务运行状态:
docker ps -a
# 卸载操作
本步不是初始安装必须的操作,只有遇到安装失败等问题,需要重新部署时,才涉及卸载操作。
卸载服务的顺序不能错,都是先应用后基础:
1、卸载服务dzqz
# 切换路径到数科的dzqz目录
cd /data/suwell/dzqz-weboffice/dzqz
# 卸载应用服务
docker-compose -f docker-compose.yml down
# 卸载基础服务
docker-compose -f docker-compose-base.yml down
2、卸载服务suwell-viewer-weboffice
# 切换路径到数科的suwell-viewer-weboffice目录
cd /data/suwell/dzqz-weboffice/suwell-viewer-weboffice
# 卸载应用服务
docker-compose -f docker-compose.yml down
# 卸载基础服务
docker-compose -f docker-compose-tools.yml down
# 重装操作
本步不是初始安装必须的操作,只有遇到需要重装时才参考执行,如无重装需求,可以跳过本章。
要重装数科服务,必须先确保原本已安装的数科服务已经卸载,请参考"卸载操作"章节完成所有数科服务的卸载!
卸载完成之后,如果数科给了您最新的安装包,则需要先将上次安装解压出来的/data/suwell/dzqz-weboffice目录给删除,然后取最新的数科安装包解压。以上完成后,就按照"服务部署"章节重新做一次部署即可。
# 切换路径到数科的suwell目录
cd /data/suwell/
# 删除suwell下的dzqz-weboffice目录
rm -rf ./dzqz-weboffice
如果删除出现"FORBIDDEN/01 : Operation not permitted"这类提示,表示文件权限不足,还要进一步删除一下:
# 赋予文件权限
chattr -R -i /data/suwell/dzqz-weboffice/dzqz/license/api5/.FORBIDDEN/
chattr -R -i /data/suwell/dzqz-weboffice/dzqz/license/reader/.FORBIDDEN/
# 再做一次删除
rm -rf /data/suwell/dzqz-weboffice
以上完成后,建议重启一次操作系统。
随后,就参考本手册“服务部署”章节,“拷贝部署包到/data/suwell - 解压部署包 - 配置service.yml - 执行install_start”依次操作重新部署数科服务。
# 手动部署
正常情况下,可以跳过此章节。如某些特殊原因,将数科服务进行了卸载(docker x down),(又不希望全部删除重装)需要重新装载服务启动,则手工部署适合此问题处理。
执行手工部署需要满足以下两个条件:
1、您已经在当前系统中安装了数科所需的Docker和Docker Compose组件。
2、您已经按照"服务部署"章节,完成了"执行部署脚本"的所有操作,此前数科服务已经导入到Docker镜像中,您按照"卸载操作"章节将数科服务进行了卸载,此时需要手工部署将数科服务重新拉起
首先,执行一次环境变量的加载(执行一次即可)
cd /data/suwell/dzqz-weboffice/dzqz/
# 先执行如下命令:
source env_all
# 再执行如下命令:
source ../suwell-viewer-weboffice/etcd_env
随后执行启动服务,必须先行启动基础服务,再启动应用服务。
导入镜像(重新发布时可以跳过此步骤)由于是多个镜像文件,使用循环加载,直接复制以下命令粘贴到终端执行即可。
cd /data/suwell/dzqz-weboffice/dzqz
# 复制以下三行完整命令到终端执行:
for file in images/*.tar.gz; do
docker load -i "$file"
done
# 注意复制粘贴后,光标会停在那不动,不是没反应,需要耐心等待镜像装载完成
需要切换路径去执行启动基础服务和启动应用服务,这里有两个路径
/data/suwell/dzqz-weboffice/dzqz
/data/suwell/dzqz-weboffice/suwell-viewer-weboffice
# 发布并启动dzqz基础服务
cd /data/suwell/dzqz-weboffice/dzqz
docker-compose -f docker-compose-base.yml up -d
# 发布并启动dzqz应用服务
cd /data/suwell/dzqz-weboffice/dzqz
docker-compose -f docker-compose.yml up -d
# 发布并启动suwell-viewer-weboffice基础服务
cd /data/suwell/dzqz-weboffice/suwell-viewer-weboffice
docker-compose -f docker-compose-tools.yml up -d
# 发布并启动suwell-viewer-weboffice应用服务
cd /data/suwell/dzqz-weboffice/suwell-viewer-weboffice
docker-compose -f docker-compose.yml up -d
# 服务启动完成后,查看服务启动状态
docker-compose ps
# 更新安装数科系统
本章节介绍更新升级数科程序方案,不同于直接卸载再安装,本章节会介绍如何保留已产生的数据,以防止出现升级后数据丢失的问题。
# 备份数据:到数科服务目录下
cd /data/suwell/dzqz-weboffice/dzqz/
# 备份mysql-data, 这里面存储的是签章服务的数据
cp -r mysql-data /data/backup_suwell/mysql-data
备份之后,就是卸载数科服务:
# 卸载服务dzqz
# 切换路径到数科的dzqz目录
cd /data/suwell/dzqz-weboffice/dzqz
# 卸载应用服务
docker-compose -f docker-compose.yml down
# 卸载基础服务
docker-compose -f docker-compose-base.yml down
# 卸载服务suwell-viewer-weboffice
# 切换路径到数科的suwell-viewer-weboffice目录
cd /data/suwell/dzqz-weboffice/suwell-viewer-weboffice
# 卸载应用服务
docker-compose -f docker-compose.yml down
# 卸载基础服务
docker-compose -f docker-compose-tools.yml down
卸载数科服务后,考虑将数科整个安装包删除,随后再解压安装数科最新安装包:
# 切换路径到数科的suwell目录
cd /data/suwell/
# 删除suwell下的dzqz-weboffice目录
rm -rf ./dzqz-weboffice
如果删除出现"FORBIDDEN/01: Operation not permitted"这类提示,表示文件权限不足,还要进一步删除一下:
# 赋予文件权限
chattr -R -i /data/suwell/dzqz-weboffice/dzqz/license/api5/.FORBIDDEN/
chattr -R -i /data/suwell/dzqz-weboffice/dzqz/license/reader/.FORBIDDEN/
# 再做一次删除
rm -rf /data/suwell/dzqz-weboffice
以上完成后,建议重启一次操作系统。
随后,就参考本手册“服务部署”章节,“拷贝部署包到/data/suwell - 解压部署包 - 配置service.yml - 执行install_start”依次操作重新部署数科服务。
# 恢复数据:到数科备份目录下
cd /data/backup_suwell
# 还原数据mysql-data, 这里面存储的是签章服务的数据:
cp -r mysql-data /data/suwell/dzqz-weboffice/dzqz/mysql-data
# 安装字体
注:字体涉及商业版权,需要客户自行准备所需字体。
1.准备字体包(extfonts.zip),将字体包解压
unzip extfonts.zip
2.将字体包cp到suwell-viewer-weboffice-web-office-driver-1容器
# 查看容器
docker ps
# 拷贝字体文件
docker cp extfonts suwell-viewer-weboffice-web-office-driver-1:/usr/share/fonts/
- 加载字体
进入suwell-viewer-weboffice-web-office-driver-1容器
# 进入容器
docker exec -it suwell-viewer-weboffice-web-office-driver-1 bash
# 切换路径
cd /usr/share/fonts/
刷新系统字体
# 刷新系统字体
fc-cache -f -v
重启容器
# 重启容器
docker restart suwell-viewer-weboffice-web-office-driver-1
# 修改端口
电子签章和预览的对外端口,改ports 下冒号前面的,冒号后面的不动。
cd /data/suwell/dzqz-weboffice/dzqz
vim docker-compose.yml
转换对外端口
修改端口后卸载重新部署数科服务:
第一步,参考"卸载操作"章节,卸载现有数科服务(注意仅卸载,别执行重装操作,别把数科数据文件给删掉了!)
第二步,参考"手动部署"章节,重新部署启动数科服务
# docker网段冲突修改
修改docker默认网段
修改docker默认网段 1、停止docker
systemctl stop docker
2、删除原有docker0网桥
ip link del docker0 down
3、vim /etc/docker/daemon.json,添加形如下内容
"bip":"192.161.20.1/24"
如果没有daemon.json文件,则新建文件内容形如下
{
"bip":"192.161.20.1/24"
}
4、重启docker服务
systemctl restart docker
- 通过ifconfig 查看docker网段是否已经变更
# 配置SSL(可选)
# 服务自带(可选)
数科一体包服务配置https+域名方案 (nginx证书)
- 进入一体包部署的目录比如:
cd /data/suwell/dzqz-weboffice/dzqz
- 首先需要放开域名解析配置,如图:
执行命令:vim env_all 增加一行域名解析环境变量
export HOST_YUM="dieppv.imp.pub.caep:$(hostname -I|awk '{print $1}')"
修改当前路径下 docker-compose.yml 和docker-compose-base.yml 以及/data/suwell/dzqz-weboffice/suwell-viewer-weboffice 路径下的docker-compose.yml 和docker-compose-tools.yml
这四个配置文件里增加上域名解析配置,如图1:
注:图1是标注的对应需要修改的文件
图2是表示需要增加的域名解析配置,这四个docker-compose的配置文件里每个服务模块都需要增加以下配置
extra_hosts:
- "${HOST_YUM}"
1.1 执行ls命令,如图:
1.2 再执行mkdir ssl
将https证书放到此目录下
mkdir ssl
1.3 vim docker-compose.yml 编辑这个配置文件,如图:
找到关于nginx服务模块需要将ports: 指定将容器内部端口映射到宿主机上的端口再加两个个https使用的端口 4431对应的是预览、8099对应的是转换
1.4 vim nginx.conf
增加https方式代理配置
vim nginx.conf
转换https代理配置:将以下配置复制到nginx.conf 文件里,修改对应域名+https证书
server {
#转换服务https访问
#侦听80端口,如果强制所有的访问都必须是HTTPs的,这行需要注销掉
listen 8099 ssl;
server_name xietong.tfmct.com;
ssl_certificate /etc/nginx/ssl/tfmct.com.pem;
ssl_certificate_key /etc/nginx/ssl/tfmct.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
error_log logs/error.log;
access_log logs/access.log;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET,POST,OPTIONS,PUT,DELETE';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
location / {
proxy_pass http://10.0.25.208:8090;
}
}
预览服务https代理配置:再预览server里加上这些配置
listen 80;
listen 4431 ssl;
server_name xietong.tfmct.com;
ssl_certificate /etc/nginx/ssl/tfmct.com.pem;
ssl_certificate_key /etc/nginx/ssl/tfmct.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
1.5 编辑当前路径下 vim docker-compose.yml
sw_wr_office_domain 模块改成https这里的ip需要根据现场用户要求进行更改
默认无要求就是本机真实ip
如果是内外网的要求:ip改成外网ip
如果要求域名要求:改成域名如示例:https://xietong.tfmct.com:8080/ (opens new window)
- 进入一体包webofficef服务的目录下
/data/suwell/dzqz-weboffice/suwell-viewer-weboffice
首先 vim编辑 etcd_env 完成 按 esc键 :wq保存退出
2.1 export ETCD_HOST=$(hostname -I|awk '{print $1}') 这个如果客户没要求不用动
2.2 export ETCD_HOST=192.168.12.13 如果客户要求内外网,需要这里改成外网ip
2.3 export ETCD_HOST=dieppv.imp.pub.caep 如果要求域名访问,则改成域名
- vim weboffice.conf 增加几行行配置如下
listen 8080 ssl;
listen 443 ssl;
server_name xietong.tfmct.com;
ssl_certificate /etc/nginx/ssl/tfmct.com.pem;
ssl_certificate_key /etc/nginx/ssl/tfmct.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
client_max_body_size 50m;
- 编辑 当前目录下 etcd.sh脚本 Endpoint 这里改成https
这里的 ${ETCD_HOST} 是读取的环境变量 就是刚才第2条 etcde_env设置的内容
{width="4.25in"
height="3.6770833333333335in"}
即可 配置完成后需要卸载重新发布服务,请参考部署手册卸载重新发布
# 网络配置(可选)
网关设备或者代理设备配置ssl后转发到数科服务的http端口也行。
# 常见问题
# 参考手册部署了,预览不可用怎么办?
上报问题,不要一句话"部署不通",务必拿出分析过程截图供支持团队快速分析!
参考问题固定排查章节,逐个排查问题,并且截图证明配置正确,如果排查无果,将分析过程截图打包,上报问题由致远与数科支持团队分析。
# word预览正常,excel预览不正常
excel预览和word预览的实现方式有差异,采用了内外网配置方案,除了OA系统管理员账号流版签分别配置内外网地址外,还需要修改数科预览服务配置,具体操作参考如下步骤:
1、进入预览转换服务部署目录比如:(按实际路径修改)
cd /data/suwell/suwell-viewer-weboffice
如果包含电子签章+预览转换服务,路径一般为:(根据实际路径修改)
/data/suwell/dzqz-weboffice/suwell-viewer-weboffice
2、vim编辑etcd_env文件
export ETCD_HOST=192.168.12.13 这里需要这里改成外网ip(或者外网域名)
- 此处仅输入ip或者域名,不填写端口、http://或者https://
编辑完成后按 esc键,输入 :wq保存退出
- 执行命令:
source etcd_env
source etcd_env
4、编辑当前路径下docker-compose.yml
sw_wr_office_domain 模块改成:http://外网ip或者外网域名:8080
此处需要完整输入外网ip或者外网域名,需要写上http://或者https://及端口号 ,默认端口8080, 如果修改过对外服务端口按实际端口填写。
5、修改完成后参考本手册重新发布章节重新发布
# 预览空白,重启提示:IPv4 forwarding is disabled
解决方案:见“sysctl开启内核ipv4转发”章节,在sysctl.conf中配置相关参数,随后重启数科服务。
# 部分电脑预览转圈,F12控制台显示Failed to read the 'localstorage' property from 'Window'
不是全部电脑有问题,个别电脑通过数科预览会一直转圈。
问题原因:这个是当前浏览器开启“无痕模式”或“隐私模式”导致,在浏览器隐私模式或无痕浏览模式下限制对localStorage的访问。
解决方案:就正常模式打开浏览器访问即可。不要用无痕模式。
# 数科预览excel文件中的图片加载失败
进入部署目录:
/data/suwell/dzqz-weboffice/suwell-viewer-weboffice
执行此命令:source etcd_env
确认环境变量是否设置成功,执行:
env
- 卸载重新发布即可
docker-compose -f docker-compose.yml down
docker-compose -f docker-compose-tools.yml down
docker-compose -f docker-compose.yml up -d
docker-compose -f docker-compose-tools.yml up -d
快速跳转
