前言
libreoffice前身是openoffice,已经发展多年,当下在线文档编辑能力火热,libreoffice也提供了在线office的能力,等同于客户端的能力,虽然达不到各家云厂商或传统office厂商的在线office能力,但是在项目中应用,或者是内部应用还是绰绰有余的,况且国外不少公司基于libreoffice的online版本做了云厂商的发布,说明底子还是不错的。下面进入具体的安装步骤。
libreoffice online可以实现Word,Excel,PowerPoint在线编辑,导出成PDF或者微软的Office格式。并且支持多人同时在线编辑,但是登录的用户名不友好,还需要继续配置。
前置条件
本地必须已有docker环境
安装步骤
- 启动镜像,其中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 - 如果是CentOS,需要配置下映射到容器中的主机目录和文件权限设置,都配置成777,否则会报告权限问题。odt/ods放置在这个目录。
chmod -R 777 /home/libreoffice - 启动了之后可以通过以下命令监控日志
docker logs –tail 50 –follow –timestamps lool - 修改允许使用本地文件系统
docker exec lool sed -i s/'<filesystem allow=”false”‘/'<filesystem allow=”true”‘/ /etc/loolwsd/loolwsd.xml - 重启容器,使得修改生效
docker restart lool - 上传demo.odt文件至/home/libreoffice
rz -bye - 访问测试地址
https://192.168.XX.XXX:9980/loleaflet/dist/loleaflet.html?file_path=file:///srv/data/demo.odt - 其他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