Nextcloud

Nextcloud+Collabora Office文档在线协作

本文演示在VPS上配置Nextcloud+CollaboraOffice实现文档在线预览

视频教程

简介

这个Office文档在线预览功能是基于Nextcloud Collabora Online插件和在Docker上跑的Collabora Office。

通过Apache反向代理将Collabora Office代理至443端口,供Nextcloud通过HTTPS访问。

你需要

  • 2个子域名,分别用于Collabora Office和Nextcloud,且两个域名均拥有合法SSL证书。例如:cloud.orgleaf.com用于访问Nextcloud,office.orgleaf.com用于部署Collabora Office
  • 一个在443端口正常运行的Nextcloud实例,并拥有合法SSL证书(最好不要用自签名证书)
  • 一台可以运行Docker的公网VPS(建议系统为Ubuntu 14.0+)

在Docker上部署Collabora Office

首先安装Docker

从DockerHub中拉取镜像:

启动镜像:

请将cloud\.orgleaf\.com替换为自己的域名(即用于访问Nextcloud的域名),注意主机名后面有一个"/"。

如果要让这个Collabora Office同时服务于多个域名的话,需要在两个不同域名之间加上\|,例如:

查看镜像是否启动:

反向代理的配置

激活Apache扩展:

激活扩展后,创建一个新的虚拟主机文件,把下面的内容粘贴进去:

注意要把<VirtualHost office.orgleaf.com:443>和ServerName office.orgleaf.com:443中的office.orgleaf.com替换为你自己的域名。

另附Nginx方向代理的配置:

 

完成配置后,保存退出。

重启Apache:

配置Nextcloud

到Nextcloud->apps激活Collabora Online插件

进入配置—>在线协作,输入反向代理地址:

点击“应用”,完成设置。

回到首页,点击“+”创建Office文档:

点击创建好的文档文件:

Enjoy it!

实测完美支持中文:

PPT

Excel

(6)

本文由 橙叶博客 作者:FrankGreg 发表,转载请注明来源!

热评文章

评论:

49 条评论,访客:49 条,博主:0 条
  1. xzhang
    xzhang发布于: 

    谢谢博主指点,已配置好,请教一个问题:
    PPT在经过在线编辑后,即使添加几个字符,会变小,然后在iOS上不能正确打开,无论是客户端还是web都不行,提示:ERROR_MESSAGE_MAIN
    The file fomat is invalid。但这个PPT在电脑上可以正确打开,用的是office2007。
    doc和excel都没问题。

  2. 刘晨晨
    刘晨晨发布于: 

    你好,我问一下,你的图片是储存在阿里云还是七牛云呢,怎么让外链支持https

    • FrankGreg
      FrankGreg发布于: 

      阿里云,我是将OSS+CDN,然后在CDN上配置HTTPS

      • 刘晨晨
        刘晨晨发布于: 

        能讲一下教程吗,我现在博客的问题就是网站图片是阿里云对象储存,网站加了https

        • FrankGreg
          FrankGreg发布于: 

          首先需要这两个插件CDN Enabler(替换静态文件URL,可以使用其它的代替)、OSS Upload(自动上传图片、替换图片URL)。
          添加一个DNS比如static.zunyipub.com。
          将网站的图片等内容转移到OSS中,然后在CDN控制台添加上面的域名,源站选择OSS,域名指向CDN的CNAME。
          在CDN Enabler中CDN URL填写添加的域名,其它的不用动
          在OSS Upload填写OSS的信息,这个插件有详细的文档。

          • 刘晨晨
            刘晨晨发布于: 

            昨天开始没仔细看你的回复“将OSS+CDN,然后在CDN上配置HTTPS”;后面又来看了一下,在cdn加了http-https的规则,然后sql语句替换了wp-posts的文章http全部为https,除了七牛云的外链没有配置https外,基本解决了,感谢你的回复!

  3. dodo
    dodo发布于: 

    求助大神我的点office文档后报:
    内部服务器错误

    服务器发生一个内部错误并且无法完成你的请求.

    如果多次出现这个错误, 请联系服务器管理员, 请把下面的技术细节包含在您的报告中.

    更多细节可以在服务器日志中找到.

    技术细节

    远程地址: 10.238.20.12
    请求 ID: EsxJ2j1hIeBqCYeMEItd

    怎么处理,谢谢!

    • FrankGreg
      FrankGreg发布于: 

      这个我真心不知道是什么问题。你可以先检查下docker是否运行正常

  4. app
    app发布于: 

    求救,升级Ubuntu内核到4.14以后,docker不能启动了,出现Cannot connect to the Docker daemon. Is the docker daemon running on this host?。。重安装返回如下:● docker.service – Docker Application Container Engine
    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Tue 2017-11-28 02:58:33 UTC; 4ms ago
    Docs: https://docs点docker点com
    Process: 3666 ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS (code=exited, status=1/FAILURE)
    Main PID: 3666 (code=exited, status=1/FAILURE)
    怎么搞啊?

    • FrankGreg
      FrankGreg发布于: 

      百度一下重装docker

  5. app
    app发布于: 

    小白又来求助了:为什么collaboration打开协作文档总是显示错误,重启Apache就好了。一会儿又错误。log记录是“curl error 51 ”我查是“远程服务器的 SSL 证书或 SSH md5 指纹不正确”,这个怎么解决啊?
    多谢了!

    • FrankGreg
      FrankGreg发布于: 

      这个我还真没遇到过,可能是你的证书的问题

  6. app
    app发布于: 

    又来这里了,nextcloud的已SSL装好了,collaboration按视频做到安装SSL了,可是选项里面只有cloud一个域名,没有office域名,是怎么回事啊?期待答复
    谢谢。

    • FrankGreg
      FrankGreg发布于: 

      检查一下/etc/apache/sites-available/目录下的配置文件是否存在

      • app
        app发布于: 

        解决了,建了一个域名.conf的文件,然后开启虚拟host,你的秘籍里没有说开启虚拟host这一步。:)。最后都成了,十分感谢您!best regards for you!

        • app
          app发布于: 

          求救,升级Ubuntu内核到4.14以后,docker不能启动了,出现Cannot connect to the Docker daemon. Is the docker daemon running on this host?。。重安装返回如下:● docker.service – Docker Application Container Engine
          Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
          Active: failed (Result: exit-code) since Tue 2017-11-28 02:58:33 UTC; 4ms ago
          Docs: https://docs点docker点com
          Process: 3666 ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS (code=exited, status=1/FAILURE)
          Main PID: 3666 (code=exited, status=1/FAILURE)
          怎么搞啊?

  7. 刘晨晨
    刘晨晨发布于: 

    你好,我看你的演示是用一个服务器做的对吧,用子域名新建两个虚拟主机,是这样的吗

    • FrankGreg
      FrankGreg发布于: 

      是的ヽ(*・ω・)ノ

  8. 晨晨
    晨晨发布于: 

    谢谢分享,我先看了后面试试,最近刚好再找这个

  9. xxxx
    xxxx发布于: 

    你好,咨询个问题。我是局域网,系统是ubuntu ,我通过sudo snap info nextcloud安装的nextcloud,想在同一服务器中布置Collabora Office,
    docker run -t -d -p 127.0.0.1:9980:9980 -e ‘domain=192\.168\.8\.126’ –restart always –cap-add MKNOD collabora/code
    这里进行完了,接下了应该怎么弄呢,谢谢

    • FrankGreg
      FrankGreg发布于: 

      然后就是反向代理。你的部署方法我没用过也不是很了解。。。可以参考一下文字教程以及视频教程

  10. akiraka
    akiraka发布于: 

    你好 我部署了2台阿里云服务器 都分配了阿里云办法的个人证书 也配置好 都使用的nginx反向代理 ,打开文档提升很抱歉无法打开文档请重试,

    • FrankGreg
      FrankGreg发布于: 

      这个问题我还真没遇见过,你检查下Nginx反向代理的配置有没有问题

      • akiraka
        akiraka发布于: 

        不知道为什么突然好了 什么也没改 请问nextcloud 支持ldap吗

          • akiraka
            akiraka发布于: 

            请问你知道如果我用在企业 有限制吗?官方我看了下说的不是很清楚,有没有限制,唯一就是服务区别

  11. bwgfs
    bwgfs发布于: 

    搭建好了访问出现的不是off在线编辑器是出现httpd的见面,是怎么访问

    • FrankGreg
      FrankGreg发布于: 

      这个可能是配置错误,再检查下吧。看看错误码是什么,可能是Docker镜像没有正常启动

  12. bwgfs
    bwgfs发布于: 

    Nextcloud+Collabora Office文档在线协作

  13. 倚竹聽雨
    倚竹聽雨发布于: 

    大神,有个事请教下,我根据你的教程搭建了Nextcloud+Collabora Office,但是我用的是nginx,所以我是直接反代过去的,发现可以打开Collabora页面,但是就是无法打开文件,后来发现教程中反代的地址有wss协议的,请问这个要怎么解决?

    • 东南汽车
      东南汽车发布于: 

      博主,最近在游三峡,爬雪山,需要回来回复你

    • FrankGreg
      FrankGreg发布于: 

      在location块中加入:
      proxy_set_header Connection $connection_upgrade;
      即可

      • 倚竹聽雨
        倚竹聽雨发布于: 

        博主你好,谢谢你的回答,我按照你的方法加上了之后,保存的时候提示这个错误呢:nginx: [emerg] unknown “connection_upgrade” variable,请问是要定义什么东西吗?

        • 倚竹聽雨
          倚竹聽雨发布于: 

          附上图片:https://blog点yonghsu点cn/wp-content/uploads/2017/08/2017_8_22_004314.png

          噫?博主禁止发链接呢,好吧,我改了下链接。。。

      • 倚竹聽雨
        倚竹聽雨发布于: 

        你好,博主,谢谢你的回复,我终于找到官方文档了,现在已经解决了,感谢!

  14. 上官乐天
    上官乐天发布于: 

    博主你好,请问我按照你上面的步骤,在centos7上用docker创建了Collabora的容器,在nextcloud也安装了插件,的确是可以创建office的word文档,但是当我点击这个新建的word文档时,你跳到另一个页面,显示访问禁止,请问这是什么原因?

    • FrankGreg
      FrankGreg发布于: 

      1.你看一下启动Docker时用的哪个域名,应该用访问Nextcloud用的域名。2.关掉SElinux

      • 上官乐天
        上官乐天发布于: 

        博主你好,我目前的安装环境没有域名,只是用IP地址直接访问的。SSL证书也只是用自签名证书。iptables和selinux都已经关闭的。请问是不是没有域名就不可以呢?现在在CentOS7和Ubuntu16.04系统上都安装,结果当点击office文档,都会跳转到“访问禁止”的页面。
        启用docker时是:docker run -t -d -p 127.0.0.1:9980:9980 –restart always –cap-add MKNOD collabora/code:2.1.2,没有使用域名的情况下。

  15. xxyd3
    xxyd3发布于: 

    请问可以和nextcloud安装在同一台服务器吗?我用的是centos,可以告知方法吗?谢谢

    • FrankGreg
      FrankGreg发布于: 

      可以的,过程基本上相同。

      • xxyd3
        xxyd3发布于: 

        就我的环境能否发个详细点的说明?还有就是同一台服务器上安装是否同一个证书即可或反向不启用HTTPS?求解

        • FrankGreg
          FrankGreg发布于: 

          CentOS下安装docker:yum install docker -y其它的就都一样了,因为docker都是一个docker,apache用的也是一个apache(httpd),配置文件不用改。关于证书问题,尽量使用CA签名证书,可以使用自签名证书,不过使用时会提示“加载不安全脚本”。反向代理不启用HTTPS:可以,将配置文件的前两行的443改成80,第一行的主机名也去掉吧,把4~11行的内容都删掉或者注释掉。P.S.:CentOS使用的时候要把SELinux关掉。

          • xxyd3
            xxyd3发布于: 

            谢谢,按你的方法进行测试一下。

  16. hellworld
    hellworld发布于: 

    请问可以在内网部署吗?不使用https证书

  17. 波罗神魇
    波罗神魇发布于: 

    看起来很酷的样子
    顺便问一下有什么好的密码管理方式么?
    我老是在找回密码
    不记下来怕忘
    记下来怕被盗

    • FrankGreg
      FrankGreg发布于: 

      可以试试KeePass

      • 枫叶荼糜
        枫叶荼糜发布于: 

        博主你好,按照你的教程安装后无法访问office界面,一直显示访问禁止,请问是怎么回事?

        • FrankGreg
          FrankGreg发布于: 

          看下你的证书都配置好了么,注意docker命令中的域名的选取

          • 枫叶荼糜
            枫叶荼糜发布于: 

            我的证书是自签名证书,域名也是hosts里的写的虚拟证书

发表评论

电子邮件地址不会被公开。 必填项已用*标注