# Linux基于Docker部署开源OnlyOffice
# 什么是OnlyOffice
OnlyOffice是一款强大的在线office工具,我们通过他可以让客户脱离于客户端环境,直接从web端进行文档编写。
这篇文章只是介绍一下onlyOffice的所需要的环境和基本使用方法(在线打开预览,在线编辑与保存)。官网:https://www.onlyoffice.com/zh/
也可以网盘接入onlyoffice实现word文档,excel表格, ppt演示文稿的创建,在线预览,协同编辑
# 系统说明
官方最低配置:
CPU: 双核2GHz或更高
内存:大于2GB或更多
硬盘: 大于40GB
额外的需求至少4GB的交换
Docker版本:大于1.10
系统:centos7
IP: 192.168.1.5
已安装docker
2
3
# 使用Docker部署OnlyOffice
# 安装Docker
省略
# 运行镜像onlyoffice
# mkdir /data/docker
# docker run -itd \
--name onlyoffice \
--restart always \
-p 8090:80 \
-v /data/docker/onlyoffice/log:/var/log/onlyoffice \
-v /data/docker/onlyoffice/data:/var/www/onlyoffice/Data \
-v /data/docker/onlyoffice/lib:/var/lib/onlyoffice \
-v /data/docker/onlyoffice/db:/var/lib/postgresql \
onlyoffice/documentserver
# docker ps
阿里云下载:
# docker run -itd \
--name onlyoffice \
--restart always \
-p 8090:80 \
-v /data/docker/onlyoffice/log:/var/log/onlyoffice \
-v /data/docker/onlyoffice/data:/var/www/onlyoffice/Data \
-v /data/docker/onlyoffice/lib:/var/lib/onlyoffice \
-v /data/docker/onlyoffice/db:/var/lib/postgresql \
ung2thfc.mirror.aliyuncs.com/onlyoffice/documentserver
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
这时候输入服务器ip:8090出现下面页面则部署成功
http://192.168.1.5:8090/
浏览器访问:http://192.168.1.5:8090/web-apps/apps/api/documents/api.js 你能看到以下页面就证明你的onlyoffice部署成功了。
# 使用 onlyoffice
docker exec onlyoffice sudo supervisorctl start ds:example
docker exec onlyoffice sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf
2
3
点击 GO TO TEST EXAMPLE 按钮
可以上传一个文档
开始使用演示样本ONLYOFFICE文档编辑器,第一个基于html5的编辑。 你可以上传自己的文档进行测试使用“上传文件”按钮,选择必要的文件在你的电脑。
可实现多人编辑
# onlyoffice报 download failed错误处理
导入一个文档到onlyoffice里面,报错 download failed
the document could not be saved please check connection settings or contact your administrator
# 进入容器
# docker exec -it onlyoffice /bin/bash
root@a7df44eed360:/#
打开
/etc/onlyoffice/documentserver/default.json,向下找到 rejectUnauthorized 字段,将其值改为false。
# cat /etc/onlyoffice/documentserver/default.json |grep rejectUnauthorized
"rejectUnauthorized": true
# nano /etc/onlyoffice/documentserver/default.json
按Ctrl+W,然后输入你要搜索的关键字,回车确定。这将会定位到第一个匹配的文本,接着可以用Alt+W来定位到下一个匹配的文本。
使用Ctrl+O来保存所做的修改
按Ctrl+X 保存
如果你修改了文件,下面会询问你是否需要保存修改。输入Y确认保存,输入N不保存,按Ctrl+C取消返回。如果输入了Y,下一步会让你输入想要保存的文件名。如果不需要修改文件名直接回车就行;若想要保存成别的名字(也就是另存为)则输入新名称然后确 定。这个时候也可用Ctrl+C来取消返回。
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
重启docker
docker restart onlyoffice
==> /var/log/onlyoffice/documentserver/docservice/out.log <==
[2023-05-30T07:30:53.367] [ERROR] nodeJS - postData error: docId = 192.168.1.251http___192.168.1.3_8090_example_files_192.168.1.251_new.pptx1685431845598;url = http://192.168.1.3:8090/example/track?filename=new.pptx&useraddress=192.168.1.251;data = {"key":"192.168.1.251http___192.168.1.3_8090_example_files_192.168.1.251_new.pptx1685431845598","status":1,"users":["uid-1"],"actions":[{"type":1,"userid":"uid-1"}]}
Error: connect ETIMEDOUT 192.168.1.3:8090
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
==> /var/log/onlyoffice/documentserver/converter/out.log <==
[2023-05-30T07:31:00.408] [ERROR] nodeJS - error downloadFile:url=http://192.168.1.3:8090/example/download?fileName=new.pptx&useraddress=192.168.1.251;attempt=1;code:ETIMEDOUT;connect:null;(id=192.168.1.251http___192.168.1.3_8090_example_files_192.168.1.251_new.pptx1685431845598)
Error: connect ETIMEDOUT 192.168.1.3:8090
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
2
3
4
5
6
7
8
9
10
# 给onlyoffice导入字体
win10系统提取中文字体的方法:控制面板——搜字体——查看安装的字体——再在搜索栏输入中文 2个字,这些就是需要的中文字体了。OO首次加载会比较慢,因为加载中文字体,一般达到50M以上。
搜索中文
清除字体
# docker exec -it onlyoffice /bin/bash
cd /var/www/onlyoffice/documentserver/core-fonts/
ls
rm -rf *
ls
cd /usr/share/fonts/
rm -rf *
2
3
4
5
6
7
8
9
选择好自己要的字体,打包发送到onlyoffice容器里:
docker cp ./fonts/ onlyoffice:/usr/share/fonts/truetype/custom
在docker容器里面执行:
# docker exec -it onlyoffice /bin/bash
/usr/bin/documentserver-generate-allfonts.sh
2
//将当前文件夹C:\Users\Administrator\下的winfont文件夹内的字体全部拷贝到容器的文件夹/usr/share/fonts/truetype中