在您的 Linux 服务器上将 Nextcloud 与 ONLYOFFICE Docs 集成

众所周知, 下一云 是 Google Drive 的理想自托管替代品, OneDrive、Dropbox 和其他专有的云存储软件。 它允许您在本地服务器上创建安全的同步和共享环境,您可以在其中保存文件而不会威胁到您的隐私。

然而,Nextcloud 不仅仅是文件共享和文件存储。 如果您将其与第三方服务集成,该平台会变得更加强大。 为了 example,您可以通过连接开源办公套件 ONLYOFFICE Docs 在 Nextcloud 实例中轻松启用实时文档编辑和协作。

在本教程中,您将学习在 Linux 服务器上部署 ONLYOFFICE Docs、将其与 Nextcloud 集成以及正确配置官方集成应用程序以获得最佳性能的基础知识。

为什么选择 ONLYOFFICE 文档?

在 Nextcloud 的所有可用办公套件中, ONLYOFFICE 文档 出于多种原因,它似乎是完美的选择。 首先,它是一个开源办公包,其源代码可在 GitHub作为 ONLYOFFICE 文档服务器。 其次,ONLYOFFICE Docs 不仅适用于标准办公文件(文本文档、电子表格和演示文稿),还支持可填写的表格。 第三,ONLYOFFICE Docs 原生兼容 OOXML 格式,完美打开保存 Word, Excel 和 PowerPoint 文件。

简而言之,ONLYOFFICE 和 Netxlcoud 集成解决方案具有以下优势:

  • 直接从 Nextcloud 界面创建和编辑文本文档、电子表格和演示文稿;
  • 创建能够在线填写的可填写表格;
  • 查看 PDF 文件;
  • 使用高级访问权限共享办公文件;
  • 添加水印以更好地保护文档;
  • 实时文档协作与快速和严格的共同编辑模式、跟踪更改、版本历史、评论、用户提及和通过内置聊天进行交流;
  • 在各种联合 Nextcloud 实例中进行实时共同编辑;
  • JWT 防止未经授权的文档访问。

先决条件

在继续安装过程之前,您需要注意一些重要的要求。 以下是您需要的简要概述:

  • CPU:双核处理器,2GHz或更高;
  • 内存:至少 2 GB;
  • 硬盘:至少 40 GB 可用空间;
  • 交换空间:最小 4 GB;
  • 操作系统:基于 64 位 Linux 的发行版,内核 v3.10+;
  • 码头工人 v1.10+

需要 Docker 是因为它提供了最简单的安装方式。 如果您的操作系统没有配备此工具,您可以从 官方网站.

谈到 Nextcloud,您可以查看此详细指南,以便使用正确的配置进行安装。

如果您安装了所有必需的组件,并且您的系统完全符合上述要求,则可以开始安装过程。 让我们深入了解它!

通过 Docker 安装 ONLYOFFICE Docs

要开始,您只需要运行 Docker 并启动以下命令:

sudo docker run -i -t -d -p 80:80 --restart=always onlyoffice/documentserver

重要的是要强调 ONLYOFFICE Docs 使用端口 80 进行传入连接。 如果您更喜欢其他端口而不是默认端口,请运行以下命令:

sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always onlyoffice/documentserver

在此命令中, 是 ONLYOFFICE Docs 的端口号。

之后,将自动安装 ONLYOFFICE Docs 和所有必要的依赖项。

数据存储配置

ONLYOFFICE 将数据存储在特殊目录中,也称为数据卷。 为了 example,所有 ONLYOFFICE Docs 日志都存储在 /var/log/onlyoffice证书可以在 /var/lib/onlyoffice 数据库位于 /var/lib/postgresql.

将数据存储在 Docker 容器之外是一种很好的做法。 这样,您可以在 ONLYOFFICE Docs 可用时轻松升级到新版本,而不会丢失任何内容。

为了能够访问您的数据,有必要安装上述数据卷。 为此,只需在运行 Docker 时指定 -v 选项:

sudo docker run -i -t -d -p 80:80 --restart=always 
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice 
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql  onlyoffice/documentserver

如果您尝试挂载的文件夹不存在,无论如何都会创建它们。 但是,您的访问将受到限制。 话虽如此,您将不得不自己更改访问权限。

一般不需要存储容器数据。 但是,保存此类数据以便轻松访问日志或消除 Docker 容器内的数据大小限制可能是一个明智的想法。 此外,如果您使用服务(对于 example、PostgreSQL、RabbitMQ 或 Redis) 不是通过 Docker 启动的。

启用 HTTPS

让我们通过 HTTPS 运行 ONLYOFFICE Docs:

sudo docker run -i -t -d -p 443:443 --restart=always 
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver

还可以使用安全套接字层 (SSL) 来防止未经授权的访问。 SSL 证书可以由证书颁发机构 (CA) 颁发,也可以使用自签名证书。 后一种选择不是很安全,需要一些额外的步骤。 这就是为什么建议求助于受信任的证书颁发机构 (CA) 的服务的原因。

要启用 SSL,您需要有两个文件:

  • 私钥 (.key)
  • SSL 证书 (.crt)

这些文件需要放置在以下位置:

/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt

使用 certbot 通过 HTTPS 运行 ONLYOFFICE Docs

通过 HTTPS 运行 ONLYOFFICE Docs 最简单的方法是通过以下方式自动获取 SSL 证书 让我们加密,一个非营利的证书颁发机构,使用 证书机器人. 这个免费的软件工具可以使用 Let’s Encrypt 证书。

为此,您需要通过 Docker 运行 ONLYOFFICE Docs。 不要忘记指定端口 80 和 443 并输入您自己的值:

sudo docker run -i -t -d -p 80:80 -p 443:443 
-e LETS_ENCRYPT_DOMAIN=yourdomain.com -e [email protected]  onlyoffice/documentserver

在这个命令中:

LETS_ENCRYPT_DOMAIN 是用于 SSL 证书的域名;

LETS_ENCRYPT_MAIL 是注册时使用的电子邮件地址。

SSL证书由 Let’s Encrypt 会自动生成并安装。 打开您的浏览器并访问您的 ONLYOFFICE Docs 实例。 它应该在 https://yourdomain.com 上可用。

通过官方连接器集成 ONLYOFFICE 和 Nextcloud

现在您已经有了 ONLYOFFICE Docs 和 Nextcloud 的工作实例,是时候集成它们了。 为此,您需要一个由 ONLYOFFICE 团队开发的官方集成应用程序。 您可以从 Nexcloud 的内置应用程序市场或从 GitHub 下载它。 前一个选项更容易:

  • 以管理员权限登录 Nextcloud;
  • 在Nextcloud界面右上角找到你的用户名;
  • 单击您的用户名并选择应用程序;
  • Enter 工具类;
  • 找到 ONLYOFFICE 并点击下载并启用。

如果正确完成,将自动下载 ONLYOFFICE 集成应用程序。

或者,您可以从以下位置下载应用程序 GitHub 使用此命令:

wget https://github.com/ONLYOFFICE/onlyoffice-nextcloud/archive/refs/tags/vX.X.X.tar.gz

在此命令中,vX.X.X 显示 ONLYOFFICE 集成应用程序的版本。 始终使用最新版本以避免出现问题。 之后,解压缩下载的存档:

tar -xvzf vX.X.X.tar.gz

现在您需要更改文件夹名称。 它必须是唯一的办公室:

mv onlyoffice-nextcloud-X.X.X onlyoffice

然后克隆源代码并通过一一启动这些命令来编译它:

git clone https://github.com/ONLYOFFICE/onlyoffice-nextcloud.git onlyoffice
cd onlyoffice
git submodule update --init --recursive

现在将文件夹移动到 Nextcloud 应用程序目录:

cp -r /root/onlyoffice/ /var/www/html/apps/

Enter Nextcloud 应用程序目录:

cd /var/www/html/apps

不要忘记更改所有者:

chown -R www-data:www-data onlyoffice

返回您的 Nextcloud 实例并转到设置。 找到应用程序部分并选择禁用的应用程序。 找到 ONLYOFFICE 并单击启用。 而已。 现在集成应用程序需要配置。

集成应用程序的配置

打开设置页面。 在那里,您将看到管理部分。 找到 ONLYOFFICE 并配置这些选项:

  • 在里面 ONLYOFFICE 文档地址 字段,输入您的 ONLYOFFICE Docs 实例(ONLYOFFICE 文档服务器)的 URL 地址。 如果您将办公套件安装在自定义端口上,则需要指定它。 为了 example, https://127.0. 0.1:8081/。
  • 禁用证书验证(不安全) 框旨在禁用证书验证,以允许 Nextcloud 与 ONLYOFFICE 文档服务器建立连接,以防您使用自签名 SSL 证书。 不推荐使用此选项。
  • 密钥 字段用于签署数据。 我们稍后会在启用 JWT 保护时回到这个选项。

有时网络配置不允许 Nextcloud 和 ONLYOFFICE 文档服务器之间通过公共地址进行内部请求。 如果是这种情况,您必须在高级服务器设置中指定以下地址:

  • 来自服务器的内部请求的 ONLYOFFICE Docs 地址 是允许 Nextcloud 访问 ONLYOFFICE Docs 的 URL 地址;
  • ONLYOFFICE Docs 内部请求的服务器地址 是允许 ONLYOFFICE 文档服务器访问 Nextcloud 的 URL 地址。

Enter 所需的地址,然后单击 Save. 您将看到一些其他可用选项。 为了 example,通用和自定义设置。 以您喜欢的方式配置 ONLYOFFICE 编辑器,然后单击 Save 再次。

启用 JWT 保护

要使用 JSON Web 令牌 (JWT) 保护您的文档,您需要启用令牌验证选项并在 ONLYOFFICE 设置页面上输入您的密钥。

找到 local.json 文件并使用文本编辑器打开它。 为此,请通过启动 docker exec -it bash 命令进入 ONLYOFFICE Docs 容器并打开 /etc/onlyoffice/documentserver/local.json 文件。

要启用令牌验证,您需要在这三个部分中将 false 值设置为 true:

  • services.CoAuthoring.token.enable.browser
  • services.CoAuthoring.token.enable.request.inbox
  • services.CoAuthoring.token.enable.request.outbox

指定您的密钥。 三个部分必须相同

services.CoAuthoring.secret.inbox.string
services.CoAuthoring.secret.outbox.string
services.CoAuthoring.secret.session.string
{
  "services": {
    "CoAuthoring": {
      "token": {
        "enable": {
          "request": {
            "inbox": true,
            "outbox": true
          },
          "browser": true
        }
      },
      "secret": {
        "inbox": {
          "string": "yoursecret"
        },
        "outbox": {
          "string": "yoursecret"
        },
        "session": {
          "string": "yoursecret"
        }
      }
    }
  }
}

Save 文件并重新启动服务:

supervisorctl restart all

最后,不要忘记在 ONLYOFFICE 设置中指定相同的密钥。

现在你已经做到了! 您刚刚在本地服务器上构建了一个协作环境。 从现在开始,您可以将所有文档保存在 Nextcloud 中并打开它们以与 ONLYOFFICE Docs 进行编辑和协作。

在 Nextcloud 中运行的 ONLYOFFICE

我们希望本教程可以帮助您集成 Nextcloud 和 ONLYOFFICE Docs。 如果您有任何问题或建议,请随时在下面的评论部分告诉我们。