众所周知, 下一云 是 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 将数据存储在特殊目录中,也称为数据卷。 为了 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
要启用令牌验证,您需要在这三个部分中将 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 Docs。 如果您有任何问题或建议,请随时在下面的评论部分告诉我们。