共计 2827 个字符,预计需要花费 8 分钟才能阅读完成。
一:环境介绍
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 '{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 请访问 http://www.linuxidc.com/Linux/2017-12/149714.htm
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,这样服务才会正常,不然会报错
五:配置 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
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149715.htm
正文完
星哥玩云-微信公众号