# 文档中台V6版本

# 支持协同版本

OA 8.1sp2-12月修复包及以后的版本,才适配金山文档中台V6&V7版本。部署时一定要先确认OA版本!

# docker部署文档

# 部署说明

# 1.1 部署方式

通过执行命令方式进行文档中台服务部署;

# 1.2 环境要求

可参考金山weboffice文档资料: 部署环境要求(适用于V6)(wpseco.cn) (opens new window)

# 1.3 特别说明

# 1、服务器CPU核数必须与授权文件CPU核数保存一致,否者无法进行安装.
# 2、Weboffice中台不支持在IPV6网络使用。
# 3、weboffice中台不支持直接克隆使用。会导致环境异常,慎重!!!!
# 4、Weboffice中台和OA需在使用https和http保持一致,换言之,OA使用https访问则weboffice中台也需配置成https访问,若OA使用http访问方式,则weboffice也配置成http。
# 5、要使用Weboffice中台服务,必须确保:

1)OA服务器和中台服务器之间能互相访问;

2)客户端(即用户登录OA的电脑端)能访问到中台地址,M3手机端、微协同也一样,参考第6节关于weboffice外网访问的方案。

# 5、务必保证中台服务器时间同OA服务器一致。

# 部署准备

# 2.1 下载部署包

V6下载地址:

Docker部署(x86版本):

链接:https://pan.baidu.com/s/1tGwOsWuW3Ra9IVls_KI2oA
提取码: kusm

使用http下载,使用最新版本的部署包即可。根据实际部署要求,需要下载如下部署包文件:

  • docker部署包: release_kubewps_lite_v6.1.2211.20221220.22.tar.gz md5:6ac63ac83f3a168388624257245019b9

  • 文档中台部署包: release_opendoc_lite_v6.1.2211.20221220.22.tar.gz md5:740abfa26a8f8d44d6fc62af9bcb3582

# 2.2 上传部署包

为避免权限类问题,建议使用root用户操作!!!

非root用户部署:

部署包kubewps的属主需要跟当前操作的用户保持一致,一般是用哪个用户做的上传,就用哪个用户进行部署操作,root账号执行:chown -R :<USER所在组> kubewps(kubewps指部署文件所在目录),权限赋予后切换回之前的非root账号,并在部署过程中不要切换为其他账号操作。

将本地的部署包(已实际下载为准)通过xshell中自带的xftp,上传至服务器。

  • 进行md5校验

MD5码的值一样,才能进行部署操作。

  • 解压文件,放入对应目录。

默认数据盘为data目录,需将文件解压至data目录

tar -zxf release_kubewps_lite_v6.1.2211.20221220.22.tar.gz -C /data/
tar -zxf release_opendoc_lite_v6.1.2211.20221220.22.tar.gz -C /data/kubewps/apps/

# 2.3 部署环境检查

打开连接: 环境检查指导(wpseco.cn) (opens new window)

适用版本范围:V5 & V6/V7 & xc & x86

1、准备工作

实施人员可从环境检查指导(wpseco.cn) (opens new window) 附件中下载最新版本环境检查工具。上传检查包到部署机的/tmp目录,并解压,得到如下目录:

  1. 启动配置及检查

进入precheck目录执行:python precheck.py -g

选择产品版本,默认为latest(v6),如果需要检查v5请选择其他序号

选择产品类型(生态上用户一律选择'opendoc_lite',即选择序号 1 )

选择是否开启节点sshkey的验证方式(默认不开启,直接按enter即可)

配置节点信息,依次输入主机信息即可,然后确认节点信息是否正确

注意:主机用户名必须是root用户或者其他具有sudo权限的普通用户。建议使用root

选择部署模式(opendoc_lite会自动选择docker-compose模式安装),以及确认数据安装目录(默认/data目录,也可自定义)

完成前置检查动作,直接回车即可开始检查

按照交互提示完成配置文件的初始化(如果已经生成过,会自动跳过该步骤),启动检查等待结果,检查结果以表格形式展示,检查内容如下:

注意:首次部署检查应为全部通过。

# 部署安装

# 3.1 安装部署平台

安装容器化部署:

在/data/kubewps目录下执行 bash install.sh /data ( /data是指配置的数据目录,默认为/data),并按要求输入yes/no。Yes为继续安装,如果数据目录不符合要求请输入no取消安装。出现以下界面表示部署平台安装成功:

选择部署方式:2,命令行部署

安装完容器化部署后,在服务端执行:docker ps 查看目前运行的容器实例,必须有kubewps容器。宿主机执行kubewps命令进入kubewps容器,命令执行完成后,显示如下界面表示进入kubewps容器成功。如下:

卸载容器化平台:

若要执行卸载,请确定应用中间件是未安装或已卸载状态。

在/data/kubewps目录下执行 bash uninstall.sh

是指配置的数据目录,默认为/data),完成卸载操作。

# 3.2 安装应用

# 3.2.1 基础服务配置文件

我们在部署包/data/kubewps/conf/templat/中提前准备部署模板文件 如部署单机1个节点:

#部署机执行
cd /data/kubewps/conf
\cp template/kubewps.1.conf kubewps.conf

编辑kubewps.conf配置文件,只需要修改填写其中的 hosts中的3台主机ssh连接信息

如部署集群3个节点:

#部署机执行
cd /data/kubewps/conf
\cp template/kubewps.3.conf kubewps.conf

编辑kubewps.conf配置文件,只需要修改填写其中的 hosts中的3台主机ssh连接信息

# 3.2.1 首次登录修改密码

修改密码可以执行wpscli任何命令,此处以wpscli host add为例,命令执行完成后出现下列截图为密码修改成功,第一次登录默认密码:Wps@123456

# 3.2.3 开始安装中间件

1.添加主机

#kubewps容器内执行
wpscli host add

2.执行环境检查(不执行无法进行下一步安装)

所有检查项的状态都必须显示通过或者警告,当检查结果出现警告时可以按照处理建议进行修复,如果已经提前预知并且接受此风险可以继续部署,当出现不通过时禁止执行后续步骤。

环境检查完成后会生成一个企业唯一码,请保存所有机器的企业唯一码(机器码)同步申请许可。

通过后根据输出的机器码提前去申请授权。若环境检查不通过则参考《环境修复》对部署环境进行修复。

#kubewps容器内执行
wpscli env check

3.安装paas平台

执行命令完成后,出现本次操作执行完成回显,表示执行成功,否则即为失败,禁止执行后续步骤

#kubewps容器内执行
wpscli paas install all

# 3.3 weboffice业务应用安装

注:安装应用前请提前规划好网络,注意是否需要将weboffice中台服务外网可访问,若需要参照第6节外网访问方案来配置app.conf,因为安装中台应用后更改app.conf配置,需重新安装生效。

1、修改app.conf文件(必须做对应调整)

参照readme.app.conf模版,编辑/data/kubewps/apps/opendoc_lite.6.0.2206.347/app.conf根据实际情况进行修改。一般来说只需调整,company_name和domain,若使用了Nginx代理访问金山,必须配置proxy_server为代理后的地址(具体Nginx配置见3.5说明),其余可默认。

特别说明:company_name的值与许可码授权相关,请申请许可码时注意保持一致。

参考配置:

图中配置为主机ip和域名同时生效(即可分别使用ip和域名访问),如果使用了Nginx做https会话卸载,必须app.conf里指定代理地址,若安装后修改了app.conf的配置则需要重新安装weboffice应用生效。

  1. 配置项:company_name (最好使用英文)

<说明>:部署完成后初始化需要的名字,可以为中文或者英文,且不能为空。但正式部署前请务必想清楚服务商名称,因为一旦创建服务商,名称修改起来不方便;

  1. 配置项:ext_hosts

<说明>:用于在容器中添加hosts绑定,比如多存储的场景。如果存储为第三方存储绑定第三方存储的域名和ip;

  • 配置格式样例:节点c绑定节点a、b"a.storage.wps.cn:192.168.0.1","b.storage.wps.cn:192.168.0.2"];
  1. domains配置项:

<说明>:

  • Scheme:访问协议是http还是https,如果为https需要用户提供https相关证书;

  • domain:表示文档中台服务的域名;(不使用域名可使用ip)

  • proxy_server: 如果前端有代理服务器,需要填写代理服务ip,比如http://www.baidu.com或者https://www.baidu.com:8080,如果没有代理,请留空;

  • port: 中台访问端口 (默认80)

  • path:配置path路径方式(留空即可)

  • encryption:网关层接口加密(建议配置true)

2、安装weboffice应用

安装应用时6.0.2209.25 需要按照实际的版本进行替换。 执行命令完成后,出现本次操作执行完成回显,表示执行成功,否则即为失败,禁止执行后续步骤

#kubewps容器内执行
#安装
wpscli app install opendoc_lite 6.1.2212.22
#安装完后,查看状态
wpscli app show

执行对照下图,如果状态一致,表示服务安装完成:

# 3.4 ETCD配置调整(必须调整、必须调整、必须调整)

# 配置说明:解决业务系统版本更新后中台不会主动触发下载文件,影响套红功能无法正常使用。

个别生态伙伴集成的 oa 反馈套红异常,排查后为 v6.1.2301.20230220 没有通过中台保存更新了版本,版本号增加了,关闭页面,刷新页面, 怎么都不会触发下载新版本的文件。原因是出于规避风险考虑v6.1.2301.20230220 以后的版本的CheckUpdateVersion配置默认为false。 调整操作步骤:

#进入kubewps容器
kubewps> etcdctl get /config/editserver --print-value-only > editserver.etcd 
编辑 vim editserver.etcd 改 CheckUpdateVersion = true 
kubewps> etcdctl put /config/editserver < editserver.etcd

# 3.4 卸载服务

# 3.4.1卸载应用

卸载应用时6.0.2206.347需要按照实际的版本进行替换。执行命令完成后,出现本次操作执行完成回显,表示执行成功,否则即为失败,禁止执行后续步骤

#kubewps容器内执行
wpscli app remove opendoc_lite 6.1.2212.22

# 3.4.2卸载paas平台

执行命令完成后,出现本次操作执行完成回显,表示执行成功,否则即为失败,禁止执行后续步骤

#kubewps容器内执行
wpscli paas remove all

# 3.4.3卸载部署平台

#kubewps容器内执行
cd /data/kubewps
bash uninstall.sh

# 3.5 关于使用Nginx(单机非必要)

若使用Nginx做文档中台前置网关,做https证书卸载:

a.基础环境说明

i.A代理服务器地址:https://test.open.wps.cn:9003

ii.B中台服务入口地址:http://xx.xx.xx.xx:8080

iii.期望达到的目的是访问A时代理到B,A到B做SSL证书卸载;

b.代理服务器需要做的配置

E:\QQFile\1872563755\FileRecv\MobileFile\Image\TAX6_42H)PU5}54`9Q(ZQ%T.png

c.中台服务配置,通过<apps>/app.conf文件

C:\Users\yujitao\3DObjects\attach_8783071513676762355.png

# 申请许可证

许可证是对应合同签约包含的套餐及权益信息,许可证文件不可手动修改,仅能通过系统申请。许可证构建服务仅限指定人员操作,获取许可证文件后,可以导入部署服务器中执行后即可生效。详细操作如下:

  1. 获取企业唯一码:

执行命令:sudo cat /sys/devices/virtual/dmi/id/product_uuid

机器码获取工具分别在每台机器获取,以分号拼接作为企业唯一码;

  1. 申请许可码:试用许可码可直接找金山申请,填写相关信息由金山审核后发送到邮箱;正式许可码找公司商务提供。

许可码申请地址:https://f.wps.cn/w/X0W0Qv8a/ (opens new window)

  1. 导入许可证

访问ip+端口+/micsweb/sys/login,首次登录需使用 wpsadmin / Wps@123456

账号密码进入系统后台页面,并修改登录密码。

  1. 开启demo,验证中台服务预览/编辑功能是否正常 参考金山demo使用说明: https://p.wpseco.cn/wiki/doc/63423f2ad7c60f8bf1fd88e2

# 金山V6配置&OA配置

# 5.1 中台配置

# 5.1.1登录中台

首先登录金山中台管理界面,入口为http://ip:port/micsweb/sys/login, 账号密码以及服务器具体IP和端口需要向金山中台服务搭建人员既运维人员索要。

# 5.1.2配置应用

# 进入应用配置页面

点击左侧"集成应用"子菜单(图1中①处),并在弹出的集成应用界面中选择任意空应用或要修该的应用,点击"详细"操作按钮(图1中②处)。

图1

# 修改基础信息并记录应用包名和应用密钥

进入应用详细界面, 点击"基础信息"子菜单(图2中①处)可以编辑应用包名和应用描述。

同时该界面提供的应用包名(图2中②处)和应用密钥(图2中③处)需要记录下来方便后续配置。

该两条数据之后在配置"OA环境配置"时"应用包名"对应"appId","应用密钥"对应"appKey",下文不再重复说明。

图2

# 配置应用依赖

点击左侧"应用依赖"子菜单(图3中①处),进入应用依赖配置页面,点击"预览编辑配置"操作按钮以修改功能列表下的"在线编辑"(图3中②处)和"在线预览"(图3中③处)两个功能。

图3

点击"预览编辑配置"之后,会弹出"预览编辑回调配置"页面(如图4),由于"在线编辑"和"在线预览"配置一致,故本文只展示"在线编辑"配置,在线预览配置保持一致既可。

图4

其中的配置项从上至下依次配置为:

  1. 回调域名:http://ip:port/seeyon/webOffice/v6 (opens new window) 其中的网络地址为OA服务器网络地址。注意v6的v是小写

  2. 获取文件元数据:/v1/3rd/file/info

  3. 获取用户信息:/v1/3rd/user/info

  4. 获取文件状态:/v1/3rd/file/online

  5. 上传文件新版本:/v1/3rd/file/save

  6. 获取指定版本信息:/v1/3rd/file/version

  7. 文件重命名:/v1/3rd/file/rename

  8. 获取所有版本信息:/v1/3rd/file/history

  9. 回调通知:/v1/3rd/onnotify

特别注意的是:拷贝时请勿含有任何空格

配置完成后,点击确认既可保持。按相同的参数配置"在线预览"

# 配置其他依赖

由于V6/V7版本强制要求部分接口的回调通知, 所以图中其他功能也需要配置回调地址和接口

1693901763908.png

配置步骤:依次点击“书签处理”、“智能公文”、“图片处理”、“文件拆分”、“文件合并”、“文件转换”和“内容处理”功能的格式转换配置(如下图): 1693901788109.png

配置其中:

  1. 回调域名:http://ip:port/seeyon/webOffice/v6 其中的网络地址为OA服务器网络地址
  2. 处理结果回调通知:/v1/3rd/file/view/notify
# 配置应用回调

点击左侧"应用设置"子菜单并进入应用证书回调设置。配置回调地址。回调地址为致远OA服务器网络地址,配置为OA服务的IP:Port或域名。可以点击测试判断应用是否可以回调成功

# 配置跨域白名单

点击最左侧菜单的"系统设置"下"跨域白名单"(图5中①处),并新增一条数据,该数据为OA服务所使用的IP或者域名。不要带http/https或者端口,且结尾不要带/(图5中②处)。

图5

# OA环境配置

# 在线预览

配置文件为.../base/conf/systemCtp.properties

officeTrans.type=wps

officeTrans.wps.appId=AK20210611GISDDJ

(金山应用APPID,根据实际情况修改)

officeTrans.wps.appKey=0b22738e5c07fd2e2d1b829c12e536e7

(金山应用APPKEY,根据实际情况修改)

officeTrans.wps.openServiceUrl=https://kdocs.seeyoncloud.com/open

(金山预览服务地址,注意以地址open结尾,根据实际情况修改)

officeTrans.wps.callBackUrl=http://10.6.3.63 (OA为集群请填写负载均衡地址)/seeyon/webOffice/v6

# seeyonconfig可视化配置位置:

# 在线编辑

配置文件为.../base/conf/plugin.properties。

weboffice.enable=true

weboffice.networkType=PRI

weboffice.url=https://kdocs.seeyoncloud.com/open

(金山预览服务地址,注意以地址open结尾,根据实际情况修改)

weboffice.appId=AK20210611GISDDJ

weboffice.appKey=0b22738e5c07fd2e2d1b829c12e536e7

weboffice.callBackUrl=http://10.6.3.63(OA为集群请填写负载均衡地址)/seeyon/webOffice/v6

# seeyonconfig可视化配置位置:

配置完成重启OA后,访问OA进行测试:

# 部署常见问题

# 问题一 、环境检查不通过

检查不通过的请参照《操作系统环境修复FAQ》进行修复: https://kdocs.cn/l/cfVHFxZiVAgi[金山文档] Centos 操作系统环境修复 FAQ.pdf

# 问题二、添加host主机时,提示需要输入密码

# 原因1:

客户服务器配置了禁止使用密钥免密登录 解决方法:编辑SSH服务配置

vim /etc/ssh/sshd_config

重启SSH服务:service sshd restart

# 原因2:

客户服务器免密ssh用户家目录权限错误 解决方法:sudo chown -R wps:wps /home/wps

# 原因3:

添加host主机正常,但是env check环境检查时报错:

可通过查看系统日志:

系统日志报错 userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth] 这是因为 OpenSSH 7.x 以上默认关闭了 ssh-dss 了,可通过 ssh -V 查看版本。

解决方法:vim /etc/ssh/ssh_config 找到 # Host * 把注释去掉,然后下面添加一句: PubkeyAcceptedKeyTypes=+ssh-dss 修改并保 即可。

# 问题三、外网访问金山地址,返回:result" :"Empty x_origin","msg" :"not find x_origin

原因分析:外网的IP/域名未配置到app.conf 解决方法: 1、修改app.conf,添加域名/外网IP的配置,参考配置如下:

2、卸载中台应用,重新安装

kubewps容器执行:
卸载:wpscli app remove opendoc_lite xx.xx.xx
安装:wpscli app install opendoc_lite xx.xx.xx

# 问题四、预览/编辑报错:code":40100001,msg":"sign check fail: x-auth mismatch"

原因分析:客户环境的appId和appKey在配置的时候是手动输入/截图后复制的内容,导致有肉眼无法看出的差别,导致截图报错:签名生成错误。 解决方法:从金山后台应用详情页面,鼠标右键选中直接复制,粘贴到OA配置项中,避免手动输入。

# 问题五、预览报错:参数错误,code:40000

问题分析:配置问题,OA环境配置和中台回调地址配置url中,小写的v6配置成大写V6 解决方法:调整配置,将回调地址url中V6改成v6。重启OA解决。

# 问题六 预览编辑报错:文件转换失败,原因:配置错误

原因分析:此问题是相关配置错误导致,需要进行配置检查 1、检查中台应用包名和应用密钥,是否与OA上配置的appId和appKey一致。

2、检查预览编辑回调配置地址是否正确

3、检查OA环境配置,参考5.2章节 上述检查完,如果未发现问题,查看ctp.log日志,是否有相关报错

可以看到日志中有ERROR相关报错:code":40100001,"msg":"unregistered application info" 。仔细看可以看出appid的值多了空格,说明OA环境上配置的appId值后面是有空格的,肉眼检查配置无法排查出。导致配置问题。 解决方法:去掉OA环境配置中appid配置项后面的空格,检查其他项是否也存在空格问题。重启OA服务

# 问题七 预览编辑报错:csrf error

# 现象1:

原因:未配置跨域白名单 解决方法:检查跨域白名单是否配置:将OA地址加入白名单

# 现象2:

原因:OA的回调地址配置错误 解决方法:检查金山后台配置页面应用的回调地址是否正确

# 问题八 预览编辑报错:DriverNetError

原因:中台服务器访问不通OA回调地址 查看中台回调日志:docker logs -f --tail 100 docs-document-operate 接口报错:状态码500 中台服务器上测试连通性,不通

解决方法: 1、检查OA回调地址是否正确 2、客户检查网络,并调整 3、以上2点检查调整后,重启中台服务:systemctl restart docker

编撰人:zhangshuang

快速跳转