官网地址: https://ibisheng.cn/
主要的特点:
部署方式:
支持联网部署和内网部署
这里需要提一下,如果是免费试用,毕升的系统激活机制是三个月一次,也就是说,你必须三个月一个周期去手动激活系统,才能正常试用;
部署
内网部署:这里主要说内网部署
注意事项:
下载文件脚本:https://gitee.com/ibisheng/deploy/tree/offline/
这个脚本是安装毕升系统的关键,全程自动化安装主要依赖这个脚本
下载主要的系统文件
https://bisheng-public.nodoc.cn/resource/docker/docker_x86_64.zip
https://bisheng-public.oss-cn-zhangjiakou.aliyuncs.com/resource/release/worker_v3.tar.gz
https://bisheng-public.oss-cn-zhangjiakou.aliyuncs.com/resource/docker/service.tar.gz
在浏览器直接访问上面的地址,自动下载文件;
安装系统:
由于毕升的系统是基于docker服务的,所以我们需要安装docker服务
安装docker以及docker-compse
如果服务器有docker或者docker-compose可以忽略。如果你系统中docker版本低于18,为了安装顺利,请升级docker版本
按照如下命令在系统中安装docker以及docker-compose
unzip docker_x86_64.zip
cd docker_x86_64
sudo bash install.sh docker-19.03.1.tgz #注意是以root权限安装
安装完之后请检查是否成功
docker -v
docker-compose -v
导入镜像
在worker.tar.gz 以及 service.tar.gz 这两个文件中包含了毕升office所需要的镜像
命令如下:
docker load < service.tar.gz
docker load < workder.tar.gz
查看是否导入成功:
docker images
安装系统
在安装之前需要解压上文中下载的deploy.zip文件,然后再执行安装
安装命令如下:
unzip deploy.zip
cd deploy
bash install.sh /bisheng_data #安装系统的目录
注意:安装目录的结尾不要斜杠‘/’,否则安装目录最好拼接会出错。即上面脚本 "/bisheng_data"不要写成“/bisheng_data/”,另外需要强调的是,不要使用有数据的目录作为安装目录,因为初次安装过程 中会清空该目录,该安装命令需要一个参数来指定安装目录,该目录是毕升Office的工作目录,所以的数据都会保存在该目录,需要保证该目录所有在的存储设备上有较大的空间,如果安装过程中出现类似无法解析IP/域名,或者是网络连接超时到错误,可以忽略。因为这是在试图去互联网上下载最新的镜像。或者可以将pullImages.sh中docker pull的命令注释
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2814b1a885de registry.cn-zhangjiakou.aliyuncs.com/bisheng/nginx:1.20.1 "/bin/sh -c /usr/loc…" 3 weeks ago Up 3 weeks 0.0.0.0:443->443/tcp, 80/tcp, 0.0.0.0:80->80/tcp nginx
73411c2fe377 registry.cn-zhangjiakou.aliyuncs.com/bisheng/drive_full:v3 "/bin/sh -c /bisheng…" 3 weeks ago Up 3 weeks 3000/tcp drive_full
a582c4f82c21 registry.cn-zhangjiakou.aliyuncs.com/bisheng/editor:v3 "docker-entrypoint.s…" 3 weeks ago Up 3 weeks 18000/tcp editor
bf897564a3a1 registry.cn-zhangjiakou.aliyuncs.com/bisheng/convert:v3 "docker-entrypoint.s…" 3 weeks ago Up 3 weeks 5000/tcp convert
8b95b5f1edc5 registry.cn-zhangjiakou.aliyuncs.com/bisheng/editor_app:v3 "docker-entrypoint.s…" 3 weeks ago Up 3 weeks 5500/tcp editor_app
7dd7db3e258e registry.cn-zhangjiakou.aliyuncs.com/bisheng/minio:latest "/usr/bin/docker-ent…" 3 weeks ago Up 3 weeks (healthy) 9000/tcp minio
b1c0c4c1867b registry.cn-zhangjiakou.aliyuncs.com/bisheng/dgraph:v1.0.5 "dgraph-ratel" 3 weeks ago Up 3 weeks 8080/tcp, 9080/tcp dgraphRatel
ca4b05c8b78a registry.cn-zhangjiakou.aliyuncs.com/bisheng/redis:4.0 "docker-entrypoint.s…" 3 weeks ago Up 3 weeks 6379/tcp redis
961c2827a82f registry.cn-zhangjiakou.aliyuncs.com/bisheng/mongo:3.6 "docker-entrypoint.s…" 3 weeks ago Up 3 weeks 27017/tcp mongod
003d4d17df5c registry.cn-zhangjiakou.aliyuncs.com/bisheng/dgraph:v1.0.5 "dgraph zero --my=dg…" 3 weeks ago Up 3 weeks 8080/tcp, 9080/tcp dgraphZero
acb4601e5a16 registry.cn-zhangjiakou.aliyuncs.com/bisheng/dgraph:v1.0.5 "dgraph server --whi…" 3 weeks ago Up 3 weeks 8080/tcp, 9080/tcp dgraphServer
看到这些容器已经启动就说明安装成功
激活系统
毕升office免费版一次激活,之后每三个月将需要更新一次许可。在联网请求下可以制动更新许可,在不能连接外网的内网中,需要手动更新许可。
在激活前,需要登陆到系统控制台,系统控制台地址为:/apps/console;内置管理员用户名是:admin;内置默认密码是:bisheng
3. 激活成功之后,在页面的下方会生成激活码,拷贝这些激活码
4. 回到你部署的毕升Office控制台激活页面,点击离线激活页面中的激活按钮
5. 点击激活之后,在输入框填入上一步拷贝字符串,然后点击确定,完成计划
6. 完成激活系统之后可以在许可信息页面看到
激活生效方式:
激活完成之后需要重启毕升Office,运行upNode.sh即可
sh upNodes.sh
完成以上步骤之后,即可开始使用毕升Office
接下来你可以通过地址:http://毕升ip
使用说明:
上面说完了安装,接下来就是使用了;
集成时需传入的数据
在调用毕升office时需要传入需要编辑或者预览的文档的相关信息以及当前编辑或者预览文档的用户的信息两项必须的基础数据。毕升office在收到这些数据时,将根据文档信息来处理文档,并且根据用户信息来初始化编辑器的相关信息。除基础数据之外,也可以根据集成的需要传入其他相关数据来实现相关功能:例如实现文档打印,下载的权限控制,以及对编辑行为的相关控制(例如控制word局部编辑,控制word进入修订模式等)。这些数据的基本格式如下:
{
doc: {
docId: "",
title: "",
fetchUrl: "",
},
user: {
uid: "",
nickName: "",
avatar: ""
},
}
参数说明:
参数中doc部分为需要毕升office系统处理的文件的信息,各个字段具体意义如下:
docId: 为文件的唯一标示,同时也应该是该文件在调用毕升的业务系统中的标示;
title: 是文件的名称,注意必须保护文件扩展名(例如doc,docx,xls,xlsx,ppt,pptx)以识别文件类型;
fetchUrl: 为该文件可以下载的地址,毕升office系统将访问该地址去下载文件到毕升服务器上,然后进行后续的处理
调用方法
毕升office进行文件预览的的方法为在浏览器中打开类似下面的地址:
http://bisheng_host/apps/editor/openPreview?data=XXX
毕升office进行文件编辑的的方法为在浏览器中打开类似下面的地址:
http://bisheng_host/apps/editor/openEditor?data=XXX
其中bisheng_host为毕升office服务所在的地址。data的值为上文中提到的所需的json数据进过如下两步处理得到的字符串:
将需要传入的json数据经过序列化得到序列话后的字符串(例如js中利用的JSON.stringfy函数对数据进行序列化)
然后将第一步中得到的数据 进行进行base64编码得到最后的的值。
例如:编辑/预览一个文件时的相关参数如下:
{
doc: {
docId: "bishengofficeDoxTest",
title: "毕升Office测试.docx",
fetchUrl: "https://bisheng-public.nodoc.cn/sample/%E6%AF%95%E5%8D%87office%E6%B5%8B%E8%AF%95%E6%96%87%E6%A1%A3.docx"
},
user: {
uid: "admin",
nickName: "管理员",
avatar: "https://bisheng-upload.nodoc.cn/system/defaultAvatar.png"
},
}
将该JSON参数进行字符串序列号(JSON.stringfy)得到第一步的编码的参数
例如:将上一步的json对象序列化得到如下字符串:
{"doc":{"docId":"bishengofficeDoxTest","title":"毕升Office测试.docx","fetchUrl":"https://bisheng-public.nodoc.cn/sample/%E6%AF%95%E5%8D%87office%E6%B5%8B%E8%AF%95%E6%96%87%E6%A1%A3.docx"},"user":{"uid":"admin","nickName":"管理员","avatar":"https://bisheng-upload.nodoc.cn/system/defaultAvatar.png"}}
将上一步序列化的参数进行base64编码
例如:将上一步的字符串base64编码之后得到如下:
eyJkb2MiOnsiZG9jSWQiOiJiaXNoZW5nb2ZmaWNlRG94VGVzdCIsInRpdGxlIjoi5q+V5Y2HT2ZmaWNl5rWL6K+VLmRvY3giLCJmZXRjaFVybCI6Imh0dHBzOi8vYmlzaGVuZy1wdWJsaWMubm9kb2MuY24vc2FtcGxlLyVFNiVBRiU5NSVFNSU4RCU4N29mZmljZSVFNiVCNSU4QiVFOCVBRiU5NSVFNiU5NiU4NyVFNiVBMSVBMy5kb2N4In0sInVzZXIiOnsidWlkIjoiYWRtaW4iLCJuaWNrTmFtZSI6IueuoeeQhuWRmCIsImF2YXRhciI6Imh0dHBzOi8vYmlzaGVuZy11cGxvYWQubm9kb2MuY24vc3lzdGVtL2RlZmF1bHRBdmF0YXIucG5nIn19
因此预览该文件的地址为:
http://bisheng_host/apps/editor/openPreview?data=eyJkb2MiOnsiZG9jSWQiOiJiaXNoZW5nb2ZmaWNlRG94VGVzdCIsInRpdGxlIjoi5q+V5Y2HT2ZmaWNl5rWL6K+VLmRvY3giLCJmZXRjaFVybCI6Imh0dHBzOi8vYmlzaGVuZy1wdWJsaWMubm9kb2MuY24vc2FtcGxlLyVFNiVBRiU5NSVFNSU4RCU4N29mZmljZSVFNiVCNSU4QiVFOCVBRiU5NSVFNiU5NiU4NyVFNiVBMSVBMy5kb2N4In0sInVzZXIiOnsidWlkIjoiYWRtaW4iLCJuaWNrTmFtZSI6IueuoeeQhuWRmCIsImF2YXRhciI6Imh0dHBzOi8vYmlzaGVuZy11cGxvYWQubm9kb2MuY24vc3lzdGVtL2RlZmF1bHRBdmF0YXIucG5nIn19
服务端集成的说明:
上面的预览方式比较简单,但是存在一定的安全隐患,下面说一下毕升提供的另一种实现方式:
该方法的基本过程是,在预览/编辑文档的地址中使用callURL来传递一个可以请求相关参数的地址(需base64编码),
然后毕升系统的服务端会对callURL参数值进行解码处理,并且使用该地址发送一个http Get请求,相关服务端在收到该请求后,将处理文档的参数进行base64编码,然后返回到毕升系统服务端。在毕升服务端收到该数据后,完成相应的处理。
例如:如果参数编码值为XXX,则调用毕升系统预览该文件和编辑该文件的地址如下:
预览文件的URL:http://bisheng_host/apps/editor/openPreview?callURL=XXX
实现一个获取编辑/预览文档的信息的http get 请求。
该请求返回的数据格式为毕升office集成是所需数据,该部分参考:
必须参数
请求地址作为callURL参数值前,需要进行base64编码。
cookie机制:
cookie samesite 相关策略
Google Chrome浏览器在高版本(现在观察80以上版本)修改了隐私策略,会导致iframe中的cookie可能出现如下问题:
来自服务器的cookie无法写入
iframe中的发送的网络请求无法将已有cookie带到服务端去。
以上两个结果会导致在iframe集成毕升office之后,服务器无法正常项客户端写入cookie,同时客户端也无法将cookie带到服务器端。因此在这种情况下无法通过cookie来完成鉴权。毕升offic服务的 URL,以及网络连接url中将会自动增加一个sid参数。该参数的作用是在cookie策略失败之后鉴权备选参数,默认情况下用户不需要做额外处理。
如不希望URL地址中出现sid参数,取消URL中的sid作为鉴权备用方案,可以在配置文件中添加配置,并仔细阅读下文提示:
security:
disablesidarg: true #默认为false
securitycookie: true #默认为false
disablesidarg参数项为true将禁止在URL中添加sid参数。但是此时请确保至少满足如下其中一条:
建议部署使用https,并且按照上面的配置开启相关配置。
转载地址:https://wiki.bishengoffice.com/