当前位置:   article > 正文

如何将OnlyOffice与NextCloud集成_nextcloud 整合 onlyoffice

nextcloud 整合 onlyoffice

 原作者:XiaoGuo An 转载来源:https://www.linuxbabe.com/ubuntu/integrate-nextcloud-onlyoffice

 

如何将OnlyOffice与NextCloud集成

 

借助于 2017年2月发布的ownCloud OnlyOffice集成应用程序,ownCloud用户可以使用OnlyOffice在线编辑器直接从他们自己的Cloud安装编辑Office文档  。现在,OnlyOffice已更新其集成应用程序以添加对Nextcloud的支持。本教程将向您展示如何  使用Nextcloud OnlyOffice集成应用程序将OnlyOffice与 Nextcloud集成。

Nextcloud OnlyOffice集成应用程序的功能:

  • 功能齐全的文本编辑器,可在线使用桌面编辑器的所有功能。
  • 100%查看,转换,打印和分页保真度。
  • 添加链接,表格和图表,插入图像,自动形状,公式和文本对象并操纵它们,创建项目符号或编号列表等。
  • 与团队成员进行实时协作编辑:立即显示更改或仅在保存后显示更改。使用评论和内置聊天,审核和跟踪更改。
  • 支持最流行的格式:编辑DOCX,XLSX,PPTX,TXT文件并保存在ODT,ODS,ODP,DOC,XLS,PPT,PPS,EPUB,RTF,HTML,HTM中。

要完成本指南,您需要

  • 有一个工作的Nextcloud服务器。如果尚未安装,请参阅Ubuntu上Nextcloud安装教程
  • 安装在HTTPS中运行的OnlyOffice文档服务器
  • 在Nextcloud服务器上安装Nextcloud OnlyOffice集成应用程序

OnlyOffice文档服务器和Nextcloud服务器可以安装在两个不同的主机上让我们开始吧。

 

安装ONLYOFFICE文件服务器

请注意,OnlyOffice文档服务器至少需要2GB的RAM。建议额外增加2GB的交换空间。OnlyOffice文档服务器依赖于PostgreSQL,Node.js,Redis Server,RabbitMQ服务器和Nginx。以下步骤在Ubuntu 16.04服务器上进行测试,但也应适用于其他基于Debian的Linux发行版

 

从Ubuntu存储库安装PostgreSQL

sudo apt install postgresql

然后创建onlyoffice数据库。

sudo -u postgres psql -c "CREATE DATABASE onlyoffice;"

创建onlyoffice用户。

sudo -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"

授予权限。

sudo -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"

 

从官方存储库安装NodeJS

OnlyOffice文档服务器需要nodejs 8.0+,但Ubuntu存储库中的版本已过时,因此我们需要从上游存储库安装最新的Node.js LTS版本(8.12.0)。

添加Node.js repostiory。

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

安装Node.js.

sudo apt install nodejs

检查Node.js版本。

node -v

样本输出:

v8.12.0

 

安装Redis服务器和Rabbitmq

sudo apt install redis-server rabbitmq-server

检查他们的状态。

  1. systemctl status redis-server
  2. systemctl status rabbitmq-server

您应该看到它们处于活动状态(正在运行)。如果rabbitmq-server无法启动,那主要是因为计算机内存不足或主机名无效。

 

安装OnlyOffice文档服务器

使用以下命令添加OnlyOffice存储库。

echo "deb http://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list

导入OnlyOffice公钥。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5

更新本地程序包索引并安装OnlyOffice文档服务器。请注意,Nginx将作为Web服务器安装,因此如果Apache正在运行,您可能需要停止它。

  1. sudo apt update
  2. sudo apt install onlyoffice-documentserver

在安装过程中,系统会要求您仅输入PostgreSQL密码。输入“onlyoffice”(不带双引号)。

onlyoffice文件服务器安装

您还需要接受Microsoft许可条款才能从Microsoft安装TrueType核心字体。

在ubuntu 16.04上安装onlyoffice文件服务器

安装完成后,在Web浏览器中输入服务器的公共IP地址,您应该看到“文件服务器正在运行”

onlyoffice文件服务器

 

启用HTTPS

要将NextCloud连接到OnlyOffice文档服务器,后者必须以HTTPS模式运行。以下步骤说明如何获取和安装Let的加密TLS证书。

编辑  /etc/nginx/conf.d/onlyoffice-documentserver.conf 文件。

sudo nano /etc/nginx/conf.d/onlyoffice-documentserver.conf

更改配置如下。不要忘记为其设置A记录onlyoffice.your-domain.com

  1. include /etc/nginx/includes/onlyoffice-http.conf;
  2. server {
  3. listen 0.0.0.0:80;
  4. listen [::]:80 default_server;
  5. server_name onlyoffice.your-domain.com;
  6. server_tokens off;
  7. include /etc/nginx/includes/onlyoffice-documentserver-*.conf;
  8. location ~ /.well-known/acme-challenge {
  9. root /var/www/onlyoffice/;
  10. allow all;
  11. }
  12. }

保存并关闭文件。重新加载Nginx以使更改生效。

sudo systemctl reload nginx

然后安装certbot(Let's Encrypt)客户端。

sudo apt install letsencrypt

接下来,运行以下命令以使用webroot插件获取免费的TLS证书。

sudo letsencrypt certonly --webroot --agree-tos --email your-email-address -d onlyoffice.your-domain.com -w /var/www/onlyoffice/

在几秒钟内,您将看到如下所示的消息,这意味着已成功获取TLS证书。

onlyoffice https

编辑  onlyoffice-documentserver.conf文件。

sudo nano /etc/nginx/conf.d/onlyoffice-documentserver.conf

删除该文件中的所有内容,并将以下文本粘贴到该文件中。相应地更改红色文本。

  1. include /etc/nginx/includes/onlyoffice-http.conf;
  2. ## Normal HTTP host
  3. server {
  4. listen 0.0.0.0:80;
  5. listen [::]:80 default_server;
  6. server_name onlyoffice.your-domain.com;
  7. server_tokens off;
  8. ## Redirects all traffic to the HTTPS host
  9. root /nowhere; ## root doesn't have to be a valid path since we are redirecting
  10. rewrite ^ https://$host$request_uri? permanent;
  11. }
  12. #HTTP host for internal services
  13. server {
  14. listen 127.0.0.1:80;
  15. listen [::1]:80;
  16. server_name localhost;
  17. server_tokens off;
  18. include /etc/nginx/includes/onlyoffice-documentserver-common.conf;
  19. include /etc/nginx/includes/onlyoffice-documentserver-docservice.conf;
  20. }
  21. ## HTTPS host
  22. server {
  23. listen 0.0.0.0:443 ssl;
  24. listen [::]:443 ssl default_server;
  25. server_name onlyoffice.your-domain.com;
  26. server_tokens off;
  27. root /usr/share/nginx/html;
  28. ssl_certificate /etc/letsencrypt/live/onlyoffice.your-domain.com/fullchain.pem;
  29. ssl_certificate_key /etc/letsencrypt/live/onlyoffice.your-domain.com/privkey.pem;
  30. # modern configuration. tweak to your needs.
  31. ssl_protocols TLSv1.2;
  32. ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
  33. ssl_prefer_server_ciphers on;
  34. # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
  35. add_header Strict-Transport-Security max-age=15768000;
  36. ssl_session_cache builtin:1000 shared:SSL:10m;
  37. # add_header X-Frame-Options SAMEORIGIN;
  38. add_header X-Content-Type-Options nosniff;
  39. # ssl_stapling on;
  40. # ssl_stapling_verify on;
  41. # ssl_trusted_certificate /etc/nginx/ssl/stapling.trusted.crt;
  42. # resolver 208.67.222.222 208.67.222.220 valid=300s; # Can change to your DNS resolver if desired
  43. # resolver_timeout 10s;
  44. ## [Optional] Generate a stronger DHE parameter:
  45. ## cd /etc/ssl/certs
  46. ## sudo openssl dhparam -out dhparam.pem 4096
  47. ##
  48. #ssl_dhparam {{SSL_DHPARAM_PATH}};
  49. location ~ /.well-known/acme-challenge {
  50. root /var/www/onlyoffice/;
  51. allow all;
  52. }
  53. include /etc/nginx/includes/onlyoffice-documentserver-*.conf;
  54. }

 

保存并关闭文件。然后测试Nginx配置并重新加载。

  1. sudo nginx -t
  2. sudo systemctl reload nginx

访问https://onlyoffice.your-domain.comWeb浏览器以验证OnlyOffice文档服务器是否在HTTPS模式下正常运行。

onlyoffice nextcloud

 

安装Nextcloud OnlyOffice集成应用程序

SSH进入Nextloud服务器,然后将目录更改为Nextcloud apps目录。

cd /var/www/nextcloud/apps/

接下来,使用以下命令下载Nextcloud OnlyOffice集成应用程序。

sudo git clone https://github.com/ONLYOFFICE/onlyoffice-owncloud.git onlyoffice

然后转到Nextcloud Apps页面,单击Not Enabled选项卡并启用OnlyOffice应用程序。

nextcloud onlyoffice集成应用程序

 

之后,转到Nextcloud管理页面,选择Additional Settings左窗格中的选项卡,然后在文档编辑服务地址字段中输入OnlyOffice的域名。

nextcloud onlyoffice app

保存上述设置后,您应该可以通过单击加号(+)按钮在Nextcloud中创建文档,spreedsheets和演示文件。将打开一个单独的选项卡进行编辑。

nextcloud onlyoffice

您还将在office文档的上下文菜单中看到一个名为“Open in OnlyOffice”的新项目。

 

在同一主机上安装OnlyOffice文档服务器和Nextcloud

OnlyOffice Document服务器使用Nginx作为Web服务器。

如果现有的Nextcloud服务器与Nginx一起运行,那么在同一台机器上安装OnlyOffice时,对Nextcloud服务器没有任何损害。它将删除nginx-core并安装nginx-extras软件包,因此会有一些停机时间,但您的配置将完好无损。

如果现有的Nextcloud服务器与Apache Web服务器一起运行,并且您想在同一台计算机上安装OnlyOffice,那么您有两个选择:

 

将Nginx配置为Apache的反向代理

如果选择第二个路由,则应在安装OnlyOffice文档服务器之前首先更改Apache的端口号。

编辑ports.conf文件。

sudo nano /etc/apache2/ports.conf

找到这一行:

Listen 80

将其更改为不同的端口号,如8180.请注意,此处不应使用8080,因为OnlyOffice文档服务器需要端口8080才能启动其docservice。

Listen 8180

您还应该更改SSL端口号,因为稍后Nginx将执行SSL终止。找到这一行:

Listen 443

将端口号更改为4433。

Listen 4433

保存并关闭文件。接下来,编辑Nextcloud的虚拟主机文件。

sudo nano /etc/apache2/sites-enabled/nextcloud.conf

第一行应该是这样的:

<VirtualHost *:80>

将端口号更改为8180。

<VirtualHost *:8180>

我们还应该通过在以下行之前添加注释字符来禁用将HTTP重定向到HTTPS。(您的Nextcloud服务器正在使用HTTPS连接,对吧?)

  1. #RewriteEngine on
  2. #RewriteCond %{SERVER_NAME} =nextcloud.your-domain.com
  3. #RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]

并更改SSL侦听端口。

<VirtualHost *:443>

将以上端口更改为4433.保存并关闭该文件。重新加载Apache配置。

sudo systemctl reload apache2

现在Apache侦听端口8180和4433.然后我们可以按照上面的说明安装OnlyOffice文档服务器,它将在此过程中安装Nginx。

安装OnlyOffice文档服务器和Nginx后,创建一个Nginx服务器块文件以代理对Apache的请求。

sudo nano /etc/nginx/conf.d/nextcloud-proxy.conf

将以下行添加到该文件中。用您自己的域名替换域名。该路径 ssl_certificatessl_certificate_key对咱们加密颁发的证书。如果您使用其他CA颁发的证书,则应输入自己的路径。

  1. server {
  2. listen 80;
  3. server_name nextcloud.your-domain.com;
  4. return 301 https://$server_name$request_uri;
  5. }
  6. server {
  7. listen 443 ssl http2;
  8. server_name nextcloud.your-domain.com;
  9. ssl_certificate /etc/letsencrypt/live/nextcloud.your-domain.com/fullchain.pem;
  10. ssl_certificate_key /etc/letsencrypt/live/nextcloud.your-domain.com/privkey.pem;
  11. ssl_session_timeout 1d;
  12. ssl_session_cache shared:SSL:10m;
  13. ssl_session_tickets off;
  14. ssl_protocols TLSv1.1 TLSv1.2;
  15. add_header Strict-Transport-Security max-age=15768000;
  16. ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
  17. ssl_prefer_server_ciphers on;
  18. location / {
  19. proxy_pass http://127.0.0.1:8180;
  20. proxy_set_header Host $host;
  21. proxy_set_header X-Real-IP $remote_addr;
  22. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  23. }
  24. }

location / {...}部分将所有请求重定向到侦听端口8180的Apache Web服务器。保存并关闭该文件。然后测试Nginx配置。

sudo nginx -t

如果语法正常,请重新加载Nginx。

sudo systemctl reload nginx

现在,您应该可以像往常一样访问Nextcloud服务器,而无需在URL中添加端口号。如果您使用以下cURL命令来获取HTTP标头,那么您应该看到前端服务器是Nginx。

curl -I https://nextcloud.your-domain.com

样本输出:

  1. HTTP/1.1 302 Found
  2. Server: nginx/1.11.9
  3. Date: Tue, 14 Mar 2017 08:55:30 GMT
  4. Content-Type: text/html; charset=UTF-8

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/463198
推荐阅读
  

闽ICP备14008679号