环境说明
方案:使用nextcloud云盘作为文档存储,使用onlyoffice/documentserver作为文档在线编辑插件。
准备:
- 从docker hub上拉取
nextcloud:29.0.3镜像 - 从docker hub上拉取
onlyoffice-documentserver:8.1.0镜像 - 从NextCloud官网下载NextCloud连接onlyoffice的插件
部署环境
启动docker容器
启动onlyoffice环境:
docker run -d -p 9080:80 --name onlyoffice \ -v /root/cloud_docfile_workspace/onlyoffice_workspace/logs:/var/log/onlyoffice \ -v /root/cloud_docfile_workspace/onlyoffice_workspace/data:/var/www/onlyoffice/Data \ onlyoffice/documentserver:8.1.0
启动nextcloud环境:
docker run -d -p 9081:80 --name nextcloud \ -v /root/cloud_docfile_workspace/nextcloud_workspace/apps:/var/www/html/custom_apps \ -v /root/cloud_docfile_workspace/nextcloud_workspace/config:/var/www/html/config \ -v /root/cloud_docfile_workspace/nextcloud_workspace/data:/var/www/html/data \ nextcloud:29.0.3
其中,onlyoffice环境启动较慢,需要等待一段时间才能访问。
启动成功后,可以在浏览器进行访问:
nextcloud:http://192.168.xxx.xxx:9081/onlyoffice:http://192.168.xxx.xxx:9080/
nextcloud进行初始化
首次访问nextcloud时,页面会提示创建管理员用户,例如admin/admin。存储可以不进行修改,因为已经映射到了磁盘。
为nextcloud添加插件
nextcloud需要安装连接onlyoffice的插件。从NextCloud官网下载下来的插件放到nextcloud的apps文件夹中解压:
cp ~/docker-images-tar/onlyoffice.tar.gz /root/cloud_docfile_workspace/nextcloud_workspace/apps cd /root/cloud_docfile_workspace/nextcloud_workspace/apps tar -zxvf onlyoffice.tar.gz
重启nextcloud容器:
docker restart nextcloud
配置nextcloud插件
使用管理员登录nextcloud页面,在应用中启用刚刚加入的onlyoffice。
浏览器访问onlyoffice页面,在欢迎页上会有一条自动生成秘钥的语句:
sudo docker exec f9e1ab009351 /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
在服务器执行该语句,得到一条秘钥。
使用管理员进入nextcloud的系统设置页面,选择onlyoffice,配置onlyoffice的地址 http://192.168.xxx.xxx:9080/,配置刚刚生成的那串秘钥。
取消用户默认文件
在nextcloud上新创建一个用户时,nextcloud会自动为该用户创建一些默认文件。
这些文件是从nextcloud的 /var/www/html/core/skeleton 文件夹内容复制出来的,如果要取消这些文件,可以直接清空该文件夹的内容。
使用在线文档
用户A将Excel文件上传到nextcloud上,分享给用户B。此时用户A、用户B便可以同时打开编辑该Excel。
浏览器访问地址:http://192.168.xxx.xxx:9081/