首先是seafile是别人安装的,我只是后期增加了onlyoffice的配置,所以该文章中不涉及seafile安装过程。
系统版本:Centos 8;
首先安装docker:yum -y install docker,并且拉取onlyoffice/documentserver镜像到本地。
直接运行以下命令启动容器:docker run -i -t -d -p 8089:80 --restart=always -e JWT_ENABLED=false docker.io/onlyoffice/documentserver:latest /bin/bash
注意:
1.此处未选择使用https访问,所以只将80端口映射到本机了。
2.--restart=always:表示自动重启
3.-e JWT_ENABLED=false:起初没加这个参数,后面发现打开文档时,onlyoffice显示文档安全令牌的格式不正确,查了下,启动时将这个参数设置为false解决。
Onlyoffice的相关配置:
1.编辑seahub_settings.py,在最后追加以下命令,在端口设置中要写onlyoffice映射出来的端口,配置好后需要将seafile和seahub都重启一下。
# Enable Only Office
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
ONLYOFFICE_APIJS_URL = 'http{s}://{your OnlyOffice server's domain or IP}/web-apps/apps/api/documents/api.js'
ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods')
ONLYOFFICE_EDIT_FILE_EXTENSION = ('docx', 'pptx', 'xlsx')
ONLYOFFICE_JWT_SECRET = 'your-secret-string' #自定义secret
2.设置OnlyOffice自动保存
使用 OnlyOffice 打开文件时,OnlyOffice 只会在用户关闭页面后向Seafile发送文件保存请求。 如果用户长时间未关闭页面,则用户对文件的更改将不会及时保存在Seafile上。
可以通过更改 OnlyOffice 的配置来设置自动保存。
- 进入到 onlyoffice/documentserver 容器中;
- 打开 OnlyOffice 的配置文件:
/etc/onlyoffice/documentserver/local.json
-
添加以下配置信息:
``` { "services": { "CoAuthoring": { "autoAssembly": { "enable": true, "interval": "5m" } } } }
```
-
重启 OnlyOffice:
supervisorctl restart all