将 Nextcloud 与 Linux 服务器上的 ONLYOFFICE 文档集成
通过集成 ONLYOFFICE,将 Nextcloud 的协作能力提升到一个新的水平,并获得功能齐全的在线办公套件。
众所周知,Nextcloud 是 Google Drive、OneDrive、Dropbox 和其他专有云存储软件的理想自托管替代品。它允许您在本地服务器上创建安全的同步和共享环境,您可以在其中保存文件,而不会威胁您的隐私。
然而,Nextcloud 不仅仅是文件共享和文件存储。如果与第三方服务集成,该平台会变得更加强大。例如,您可以通过连接开源办公套件 ONLYOFFICE Docs,轻松在 Nextcloud 实例中启用实时文档编辑和协作。
在本教程中,您将学习在 Linux 服务器上部署 ONLYOFFICE Docs、将其与 Nextcloud 集成以及正确配置官方集成应用程序以获得最佳性能的基础知识。
为什么选择 ONLYOFFICE 文档?
在 Nextcloud 的所有可用办公套件中,出于多种原因,ONLYOFFICE Docs 似乎是最佳选择。首先,它是一个开源办公软件包,其源代码可以在 GitHub 上作为 ONLYOFFICE 文档服务器获得。其次,ONLYOFFICE Docs 不仅可以处理标准办公文件(文本文档、电子表格和演示文稿),还支持可填写的表单。第三,ONLYOFFICE Docs 本身与 OOXML 格式兼容,因此它可以完美地打开和保存 Word、Excel 和 PowerPoint 文件。
简而言之,ONLYOFFICE 和 Netxlcoud 集成解决方案具有以下优势:
直接从 Nextcloud 界面创建和编辑文本文档、电子表格和演示文稿;
创建可在线填写的可填写表格;
查看PDF文件;
使用高级访问权限共享办公文件;
添加水印以更好地保护文档;
通过快速和严格的共同编辑模式进行实时文档协作、跟踪更改、版本历史记录、评论、用户提及以及通过内置聊天进行交流;
在各种联合 Nextcloud 实例中进行实时共同编辑;
JWT 防止未经授权的文档访问。
先决条件
在继续安装过程之前,您需要满足一些重要的要求。以下是您需要的简要概述:
CPU:双核处理器,2GHz或更高;
内存:至少 2 GB;
HDD:至少 40 GB 可用空间;
交换空间:最小4 GB;
操作系统:基于 64 位 Linux 的发行版,内核 v3.10+;
Docker 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 将数据存储在特殊目录中,也称为数据卷。例如,所有 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 容器内的数据大小限制可能是一个明智的主意。此外,如果您使用不是通过 Docker 启动的服务(例如 PostgreSQL、RabbitMQ 或 Redis),这也会非常有帮助。
启用 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 最轻松的方法是使用 certbot 自动获取非盈利证书颁发机构 Let's Encrypt 的 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 onlyoffice/documentserver
在此命令中:
LETS_ENCRYPT_DOMAIN
是用于 SSL 证书的域名;
LETS_ENCRYPT_MAIL
是注册时使用的电子邮件地址。
Let’s Encrypt 的 SSL 证书将自动生成并安装。打开浏览器并访问您的 ONLYOFFICE Docs 实例。它应该可以在 https://yourdomain.com 上找到。
通过官方连接器集成 ONLYOFFICE 和 Nextcloud
现在您已经有了 ONLYOFFICE Docs 和 Nextcloud 的工作实例,是时候集成它们了。为此,您需要一个由 ONLYOFFICE 团队开发的官方集成应用程序。您可以从 Nexcloud 中的内置应用程序市场或 GitHub 下载它。前一个选项要容易得多:
以管理员权限登录Nextcloud;
在Nextcloud界面右上角找到您的用户名;
单击您的用户名并选择应用程序;
进入工具类别;
找到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
现在您需要更改文件夹名称。它必须是onlyoffice:
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 apps 目录:
cp -r /root/onlyoffice/ /var/www/html/apps/
进入Nextcloud应用程序目录:
cd /var/www/html/apps
不要忘记更改所有者:
chown -R www-data:www-data onlyoffice
返回您的 Nextcloud 实例并转到“设置”。找到“应用程序”部分并选择“禁用的应用程序”。找到ONLYOFFICE并单击启用。就是这样。现在集成应用程序需要配置。
集成应用程序的配置
打开设置页面。在那里您将看到管理部分。找到 ONLYOFFICE 并配置以下选项:
在ONLYOFFICE Docs 地址字段中,输入 ONLYOFFICE Docs 实例(ONLYOFFICE 文档服务器)的 URL 地址。如果您在自定义端口上安装了办公套件,则需要指定它。例如,http://127.0.0。 0.1:8081/。
禁用证书验证(不安全)框旨在禁用证书验证,以便在您使用自签名 SSL 证书时允许 Nextcloud 与 ONLYOFFICE 文档服务器建立连接。不推荐此选项。
密钥字段用于签署数据。稍后启用 JWT 保护时我们将回到此选项。
有时,网络配置不允许 Nextcloud 和 ONLYOFFICE 文档服务器之间通过公共地址进行内部请求。如果是这种情况,您必须在高级服务器设置中指定以下地址:
服务器内部请求的ONLYOFFICE Docs地址是允许Nextcloud访问ONLYOFFICE Docs的URL地址;
ONLYOFFICE Docs内部请求的服务器地址是允许ONLYOFFICE Document Server访问Nextcloud的URL地址。
输入所需的地址并单击“保存”。您将看到一些其他可用的选项。例如,通用和自定义设置。按照您喜欢的方式配置 ONLYOFFICE 编辑器,然后再次单击“保存”。
启用 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"
}
}
}
}
}
保存文件并重新启动服务:
supervisorctl restart all
最后,不要忘记在 ONLYOFFICE 设置中指定相同的密钥。
现在你已经做到了!您刚刚在本地服务器上构建了一个协作环境。从现在开始,您可以将所有文档保存在 Nextcloud 中并打开它们以使用 ONLYOFFICE Docs 进行编辑和协作。
我们希望本教程可以帮助您集成 Nextcloud 和 ONLYOFFICE Docs。如果您有任何问题或建议,请随时在下面的评论部分告诉我们。