一:环境介绍 1.操作系统:CentOS 7.* ( 双核4G、硬盘至少20G) 2.应用软件:nginx-1.8.1、Docker 二:从官方获取Docker
由于collabora online官方提供的部署文档需要Docker容器
再由官方提供的Docker安装方式安装,执行下列命令即可
下面提供一些Docker常用命令
查看docker镜像 docker images 删除所有的docker镜像 docker rmi $(docker images | grep none | awk '{print $3}' | 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请访问 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 Host $http_host; } location ^~ /lool { proxy_pass https://localhost:9980; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; } }启动nginx
防火墙打开80和443端口
此处注意:一定要先开启docker collbora online 服务在打开或者重启nginx,这样服务才会正常,不然会报错
说明collabora online 服务正常运行
2.进入nextcloud应用界面添加collabora online 启用
3.应用管理界面的"在线协作",输入collabora online 地址
4.任意打开一个文档进行在线编辑
5.此时再打开collabora online 服务端,可看见正在编辑的文档信息