# 文档中台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
将本地的部署包(已实际下载为准)通过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目录,并解压,得到如下目录:
- 启动配置及检查
进入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
# 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应用生效。
- 配置项:company_name (最好使用英文)
<说明>:部署完成后初始化需要的名字,可以为中文或者英文,且不能为空。但正式部署前请务必想清楚服务商名称,因为一旦创建服务商,名称修改起来不方便;
- 配置项:ext_hosts
<说明>:用于在容器中添加hosts绑定,比如多存储的场景。如果存储为第三方存储绑定第三方存储的域名和ip;
- 配置格式样例:节点c绑定节点a、b"a.storage.wps.cn:192.168.0.1","b.storage.wps.cn:192.168.0.2"];
- 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.代理服务器需要做的配置
c.中台服务配置,通过<apps>/app.conf文件
# 申请许可证
许可证是对应合同签约包含的套餐及权益信息,许可证文件不可手动修改,仅能通过系统申请。许可证构建服务仅限指定人员操作,获取许可证文件后,可以导入部署服务器中执行后即可生效。详细操作如下:
- 获取企业唯一码:
执行命令:sudo cat /sys/devices/virtual/dmi/id/product_uuid
机器码获取工具分别在每台机器获取,以分号拼接作为企业唯一码;
- 申请许可码:试用许可码可直接找金山申请,填写相关信息由金山审核后发送到邮箱;正式许可码找公司商务提供。
- 导入许可证
访问ip+端口+/micsweb/sys/login,首次登录需使用 wpsadmin / Wps@123456
账号密码进入系统后台页面,并修改登录密码。
- 开启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
其中的配置项从上至下依次配置为:
回调域名:http://ip:port/seeyon/webOffice/v6 (opens new window) 其中的网络地址为OA服务器网络地址。注意v6的v是小写
获取文件元数据:/v1/3rd/file/info
获取用户信息:/v1/3rd/user/info
获取文件状态:/v1/3rd/file/online
上传文件新版本:/v1/3rd/file/save
获取指定版本信息:/v1/3rd/file/version
文件重命名:/v1/3rd/file/rename
获取所有版本信息:/v1/3rd/file/history
回调通知:/v1/3rd/onnotify
特别注意的是:拷贝时请勿含有任何空格
配置完成后,点击确认既可保持。按相同的参数配置"在线预览"
# 配置其他依赖
由于V6/V7版本强制要求部分接口的回调通知, 所以图中其他功能也需要配置回调地址和接口
配置步骤:依次点击“书签处理”、“智能公文”、“图片处理”、“文件拆分”、“文件合并”、“文件转换”和“内容处理”功能的格式转换配置(如下图):
配置其中:
- 回调域名:http://ip:port/seeyon/webOffice/v6 其中的网络地址为OA服务器网络地址
- 处理结果回调通知:/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
快速跳转
