一:环境介绍
1.操作系统:Centos 7.* ( 双核4G、硬盘至少20G)
2.应用软件:nginx-1.8.1、Docker
二:从官方获取Docker
由于collabora online官方提供的部署文档需要Docker容器
再由官方提供的Docker安装方式安装,执行下列命令即可
sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo sudo yum makecache fast sudo yum -y install docker-ce sudo systemctl start docker
下面提供一些Docker常用命令
查看docker镜像
docker images
删除所有的docker镜像
docker rmi (docker images | grep none | awk '{print3}' | sort -r)
查看运行的容器 (可查看到运行容器的ID)
docker ps -a
杀掉/停止/启动 容器
docker kill/stop/start ID
删除所有容器 (该容器状态必须为停止状态)
docker rm $(docker ps -a -q)
启动某个容器
docker rm ID
重启docker
systemctl restart docker
三:从Dokcer容器运行collabora online服务
执行
docker run -t -d -p 0.0.0.0:9980:9980 -e 'domain=owncloud\\.domain\\.com\|nextcloud\\.domain\\.com' -e "username=admin" -e "password=123456" --restart always --cap-add MKNOD collabora/code
注:domain为你的nextcloud服务器地址,此处为授权的意思,并注意域名部分中的“.”要加转义字符“\”,多个域名之间用“|”隔开
查看容器运行状态
[root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3451bd63b1aa collabora/code "/bin/sh -c 'bash ..." 2 weeks ago Up 2 weeks 0.0.0.0:9980->9980/tcp xenodochial_einstein
此时系统防火墙会发生变化
iptables -L -n
Chain FORWARD (policy ACCEPT) target prot opt source destination DOCKER-ISOLATION all -- 0.0.0.0/0 0.0.0.0/0 DOCKER all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain DOCKER (1 references) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 172.17.0.2 tcp dpt:9980 Chain DOCKER-ISOLATION (1 references) target prot opt source destination RETURN all -- 0.0.0.0/0 0.0.0.0/0
保存防火墙
/usr/libexec/iptables/iptables.init save
四:通过Nginx反向代理将Collabora online代理,供Nextcloud访问
1.安装部署nginx请访问http://www.jianshu.com/p/d9f33d1189d8
2.因 collabora online 需要https安全连接,所以需要申请购买或者试用ssl证书(测试可以到https://www.pianyissl.com 申请试用ssl)
3.配置nginx反向代理collabora online
server { listen 443 ssl; server_name collabora.test.com; ssl on; ssl_certificate /usr/local/nginx/ssl/server.pem; ssl_certificate_key /usr/local/nginx/ssl/server.key; location ^~ /loleaflet { proxy_pass https://localhost:9980; proxy_set_header Host http_host; } location ^~ /hosting/discovery { proxy_pass https://localhost:9980; proxy_set_header Hosthttp_host; } location ^~ /lool { proxy_pass https://localhost:9980; proxy_set_header Upgrade http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Hosthttp_host; } }
启动nginx
防火墙打开80和443端口
此处注意:一定要先开启docker collbora online 服务在打开或者重启nginx,这样服务才会正常,不然会报错
五:配置nextcloud连接collabora online 服务
1. chrome浏览器访问下列地址进入collabora online 服务端
https://collabora.test.com/loleaflet/dist/admin/admin.html
说明collabora online 服务正常运行
2.进入nextcloud应用界面添加collabora online 启用
3.应用管理界面的”在线协作”,输入collabora online 地址
4.任意打开一个文档进行在线编辑
5.此时再打开collabora online 服务端,可看见正在编辑的文档信息
https://collabora.test.com/loleaflet/dist/admin/admin.html
作者:TestyOM_
链接:https://www.jianshu.com/p/3216cf6196d1
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。