一条命令体验在线文档编辑能力——Libreoffice Online的docker环境配置


前言

libreoffice前身是openoffice,已经发展多年,当下在线文档编辑能力火热,libreoffice也提供了在线office的能力,等同于客户端的能力,虽然达不到各家云厂商或传统office厂商的在线office能力,但是在项目中应用,或者是内部应用还是绰绰有余的,况且国外不少公司基于libreoffice的online版本做了云厂商的发布,说明底子还是不错的。下面进入具体的安装步骤。

libreoffice online可以实现Word,Excel,PowerPoint在线编辑,导出成PDF或者微软的Office格式。并且支持多人同时在线编辑,但是登录的用户名不友好,还需要继续配置。

前置条件

本地必须已有docker环境

安装步骤

  1. 启动镜像,其中domain是部署的IP或者域名,-v将主机目录映射到容器中,用于放置文件。
    docker run –name lool -e “domain=192.168.XX.XX” -e “username=root” -e “password=123456” -v /home/libreoffice:/srv/data:Z -p 9980:9980 -d libreoffice/online:master
  2. 如果是CentOS,需要配置下映射到容器中的主机目录和文件权限设置,都配置成777,否则会报告权限问题。odt/ods放置在这个目录。
    chmod -R 777 /home/libreoffice
  3. 启动了之后可以通过以下命令监控日志
    docker logs –tail 50 –follow –timestamps lool
  4. 修改允许使用本地文件系统
    docker exec lool sed -i s/'<filesystem allow=”false”‘/'<filesystem allow=”true”‘/ /etc/loolwsd/loolwsd.xml
  5. 重启容器,使得修改生效
    docker restart lool
  6. 上传demo.odt文件至/home/libreoffice
    rz -bye
  7. 访问测试地址
    https://192.168.XX.XXX:9980/loleaflet/dist/loleaflet.html?file_path=file:///srv/data/demo.odt
  8. 其他Excel测试的方法重复第6、7步

其他命令:

  • 停止后启动容器
docker start lool
  • 进入容器命令行模式
docker exec -it lool /bin/bash
  • 禁用其他不必要的配置
docker exec lool sed -i /'\/oor:items'/i'<!-- Disable AutoCorrect while typing -->\n<item oor:path="/org.openoffice.Office.Writer/AutoFunction/Format/ByInput"><prop oor:name="Enable" oor:op="fuse"><value>false</value></prop></item>\n' /etc/loolwsd/loolkitconfig.xcu

docker exec lool sed -i s/'<prop oor:name="IsSpellAuto" oor:op="fuse"><value>true'/'<prop oor:name="IsSpellAuto" oor:op="fuse"><value>false'/ /etc/loolwsd/loolkitconfig.xcu

docker restart lool
  • 根据容器创建自己的镜像,并且导出镜像
docker commit 容器id 镜像名称:标签
docker image save 镜像id > 要保存的文件.tar
  • 在其他地方导入镜像
docker image load 镜像备份.tar

以上涉及到docker的命令,在我本地docker的版本信息如下:

Client: Docker Engine - Community
 Cloud integration: 1.0.7
 Version:           20.10.2
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        2291f61
 Built:             Mon Dec 28 16:12:42 2020
 OS/Arch:           darwin/amd64
 Context:           default
 Experimental:      true

官方网站:https://www.libreoffice.org/download/libreoffice-online/

第三方wiki配置说明:https://wiki.documentfoundation.org/Development/LibreOffice_Online

源码地址:https://github.com/LibreOffice/online

前端工程开发说明:https://github.com/LibreOffice/online/tree/master/loleaflet

留下评论

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理