Nextcloud文档在线协作collabora online 服务的部署

一:环境介绍

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
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

打赏
Bookmark the permalink.
0 0 投票数
文章评分
订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论