记录一次CollaboraOnline安装与部署,实现doc编辑预览

环境:centos-7,docker-26.0.2

一:安装部署online

安装docker```

  1. 更新系统
    sudo yum update
  2. 安装依赖
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  3. 添加 Docker CE 仓库
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  4. 安装 Docker CE软件包
    sudo yum install docker-ce docker-ce-cli containerd.io
  5. 启动 Docker 服务
    sudo systemctl start docker
  6. 设置 Docker 开机启动
    sudo systemctl enable docker
  7. 验证安装
    sudo docker --version
  8. 拉取nginx测试
    sudo docker pull nginx
    sudo docker run --name nginx -p 80:80 -d nginx
安装配置docker collabora online> 拉取启动collabora/code镜像

docker run -t -d
–name collabora
-p 9980:9980
-e username=admin
-e password=admin
–restart always
–cap-add MKNOD
-v /home/docker/coolwsd.xml:/etc/coolwsd/coolwsd.xml
-v /home/fonts:/opt/cool/systemplate/usr/share/fonts/truetype
-v /home/fonts:/usr/share/fonts/truetype
collabora/code

> 运行后使用docker ps查看是否运行成功:

![image.png](https://cdn.nlark.com/yuque/0/2024/png/28846352/1714094796085-23a3a180-6572-49d1-97bd-e4fe10ec4e8b.png#averageHue=%232a4a5f&clientId=u308c2fc1-99ff-4&from=paste&height=108&id=u6352cb75&originHeight=121&originWidth=1270&originalType=binary&ratio=1.125&rotation=0&showTitle=false&size=183001&status=done&style=none&taskId=ud6db562c-4cdb-45e1-8fcc-313cda5924b&title=&width=1128.888888888889)
> Online默认使用SSH,进入进入挂载的配置文件修改禁用SSH已经运行访问的主机名及端口
> 这里的<clientHost>:为客户端的ipv4地址,3000为SDK启动端口,根据实际修改
> <group></group>可配置多个<host>标签

挂载卷:-v /home/docker/coolwsd.xml:/etc/coolwsd/coolwsd.xml \

  1. 禁用SSL

    false
  2. 配置域名允许访问

    http://:3000
> 配置好以后保存重启docker Online服务,同上查看是否启动服务端口

  1. 重启collabora
    docker restart collabora
  2. 查看是否启动
    docker ps
  3. 输出日志信息
    docker logs -f collabora
> 在浏览器输入http://<serverHost>:9980,返回ok表示部署Online成功:

![image.png](https://cdn.nlark.com/yuque/0/2024/png/28846352/1714094867155-646aee05-f85f-47a9-9d04-3cdc10059c6d.png#averageHue=%23faf9f9&clientId=u308c2fc1-99ff-4&from=paste&height=681&id=u9cd39860&originHeight=766&originWidth=1293&originalType=binary&ratio=1.125&rotation=0&showTitle=false&size=63416&status=done&style=none&taskId=u280444eb-4585-416a-84cb-c1e6396eeeb&title=&width=1149.3333333333333)
> 浏览器输入:http://<serverHost>:9980/browser/dist/admin/admin.html,输入docker run时配置的账号密码,访问online控制台,可显示连接的wopi主机和打开的文档,和查看在线用户

![image.png](https://cdn.nlark.com/yuque/0/2024/png/28846352/1714095387814-cb8b1ba4-9a40-4403-bd60-bcd04fb81cb9.png#averageHue=%23f8f7f6&clientId=u308c2fc1-99ff-4&from=paste&height=232&id=hqujN&originHeight=261&originWidth=385&originalType=binary&ratio=1.125&rotation=0&showTitle=false&size=12498&status=done&style=none&taskId=uc4e9fca8-cfeb-4d07-865b-d93bef808c2&title=&width=342.22222222222223)<br />![image.png](https://cdn.nlark.com/yuque/0/2024/png/28846352/1714095406940-f90c3a9b-ee82-44e1-b895-9d17af1a2bb0.png#averageHue=%23f1f1f1&clientId=u308c2fc1-99ff-4&from=paste&height=825&id=uaeb772ab&originHeight=928&originWidth=1504&originalType=binary&ratio=1.125&rotation=0&showTitle=false&size=130900&status=done&style=none&taskId=u4753f536-41d5-44f9-a8bc-57f08140b64&title=&width=1336.888888888889)
<a name="Cd68k"></a>
# 二:连接online
<a name="cCzwU"></a>
## 一:下载SDK,连接Online
下载CollaboraOnlineSDK,这里使用NodeJs框架<br />[GitHub - CollaboraOnline/collabora-online-sdk-examples: Various minor pieces of code to be used in Collabora Online and related software](https://github.com/CollaboraOnline/collabora-online-sdk-examples)
打开node.js 框架```
1. 安装依赖
npm intall
2. 启动客户端
npm start

image.png

这里的localhost改为客户端服务器的ipv4地址:

image.png

浏览器访问客户端服务:http://:3000

image.png

Collabora Online Server框中输入Online地址http://:9980,点击Load Collabora Online即可在下方ifram标签中查看到默认的HelloWorld

image.png

二:整合

  1. 获取discovery.xml

访问:https://:/hosting/discovery

image.png

返回的discovery.xml,其中包含各种文件格式的_urlsrc_ 。 urlsrc指定为文档编辑而创建的 iframe 需要使用的地址

image.png

获取到discovery.xml以后在客户端找到需要的文件格式,返回url和token(为给定文件和用户生成令牌(可将其存储在数据库中,可以选择过期))

  1. Online客户端提供GetFile/PutFile/CheckFileInfo
    1. CheckFileInfo,当调用时以 json 形式返回文件的 BaseFileName 和 Size

image.png

  1. GetFile,当调用时发送回文件的内容

image.png

  1. PutFile

image.png

  1. 设置页面中文

docker服务默认安装了中文字体,可在ifream的url上加参数:&lang=zh-cn,但是汉化不是很完善

http://:/browser/baa6eef/cool.html?WOPISrc=http://:/wopi/files/&lang=zh-cn
image.png

三:增加字体

增加字体> 挂载卷:

-v /home/fonts:/opt/cool/systemplate/usr/share/fonts/truetype \
-v /home/fonts:/usr/share/fonts/truetype \

image.png

docker restart collabora,重启容器
docker exec -it collabora bash,进入容器
fc-cache -fv ,重建字体缓存
coolconfig update-system-template ,更新系统配置

image.png

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jcen_Leung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值