本文由AI翻译

在不同计算机上安装社区服务器和文档服务器(基于RPM的Linux)

介绍

Community Server安装并运行在与Document Server不同的计算机上,可以实现以下功能:

  • 以分布式方式运行ONLYOFFICE Workspace企业版及其组件;
  • 灵活扩展ONLYOFFICE Workspace企业版的性能;
  • 提供应用的容错和高可用性。

本指南将向您展示如何在不同计算机上安装Community ServerDocument Server

安装和激活Document Server

首先按照本文中的说明安装Document Server

安装完成后,将许可证文件上传到/var/www/onlyoffice/Data/文件夹。

运行和配置Control Panel

现在在另一台计算机上设置Control Panel的Docker版本。使用以下命令:

sudo docker run --net onlyoffice -i -t -d --name onlyoffice-control-panel --restart=always -p 80:80 -p 443:443 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /app/onlyoffice/CommunityServer/data:/app/onlyoffice/CommunityServer/data \
-v /app/onlyoffice/DocumentServer/data:/app/onlyoffice/DocumentServer/data \
-v /app/onlyoffice/MailServer/data:/app/onlyoffice/MailServer/data \
-v /app/onlyoffice/ControlPanel/data:/var/www/onlyoffice-controlpanel/Data \
-v /app/onlyoffice/ControlPanel/logs:/var/log/onlyoffice-controlpanel \
-v /app/onlyoffice/ControlPanel/mysql:/var/lib/mysql \
onlyoffice4enterprise/controlpanel-ee:1.6.1.106

安装完成后,进入Docker容器,找到两个配置文件:/var/www/onlyoffice-controlpanel/ControlPanel/Web.config/var/www/onlyoffice-controlpanel/ControlPanel2/Web.config。打开它们进行编辑,修改两个文件中的以下行:

  1. <add key="web.portal" value="http://communityserver/" />
  2. <add key="web.api-system" value="http://communityserver/apisystem/api" />

其中communityserver是将要安装Community Server的计算机地址。

请注意,每次重启带有Control Panel的Docker容器时,<add key="web.portal" value="http://communityserver/" />会被默认值覆盖。

之后重启带有Control Panel的网站:

service monoserve restart

安装和配置Community Server

安装Community Server

现在需要在第三台计算机上安装Community Server。请阅读安装说明以获取详细信息。

输入Document Server和Control Panel的位置

打开/var/www/onlyoffice/WebStudio/web.appsettings.config文件,编辑并修改以下行:

  1. <add key="web.controlpanel.url" value="/controlpanel/" />
  2. <add key="files.docservice.url.public" value="http://documentserver/" />
  3. <add key="files.docservice.url.internal" value="http://documentserver/" />
  4. <add key="files.docservice.url.portal" value="http://communityserver/" />

其中documentserverDocument Server的地址,且<add key="web.controlpanel.url" value="/controlpanel/" />必须严格按照上面第1行的格式填写。

启用多租户

现在需要启用多租户功能,以确保ONLYOFFICE Workspace企业版组件在不同计算机上正常工作。打开/etc/nginx/conf.d/onlyoffice.conf文件,编辑其主端口80部分,修改如下:

  1. location /controlpanel {
  2. proxy_pass http://controlpanel;
  3. client_max_body_size 100m;
  4. proxy_http_version 1.1;
  5. proxy_set_header Upgrade $http_upgrade;
  6. proxy_set_header Connection "upgrade";
  7. proxy_set_header Host $host;
  8. proxy_set_header X-Real-IP $remote_addr;
  9. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  10. proxy_set_header X-Forwarded-Host $server_name;
  11. proxy_set_header X-Forwarded-Proto $scheme;
  12. proxy_set_header X-REWRITER-URL $scheme://$http_host;
  13. }
  14. location /apisystem {
  15. rewrite /apisystem(.*) /$1 break;
  16. proxy_pass http://localhost:8080;
  17. proxy_redirect ~*/(.*) /apisystem/$1;
  18. client_max_body_size 100m;
  19. proxy_http_version 1.1;
  20. proxy_set_header Upgrade $http_upgrade;
  21. proxy_set_header Connection "upgrade";
  22. proxy_set_header Host $host;
  23. proxy_set_header X-Real-IP $remote_addr;
  24. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  25. proxy_set_header X-Forwarded-Host $server_name;
  26. proxy_set_header X-Forwarded-Proto $scheme;
  27. }

您需要将上面第2行中的http://controlpanel地址设置为实际的Control Panel地址。

附加更改

现在创建/var/www/onlyoffice/DocumentServerData/文件夹,并使用以下命令更改其所有者:

chown -R onlyoffice:onlyoffice /var/www/onlyoffice/DocumentServerData/

之后重启Community Server应用:

service monoserve restart
service nginx restart
访问Community Server门户

现在您可以访问Community Server门户。在浏览器中打开它(如果从另一台计算机访问,使用计算机IP地址;如果从局域网外访问,使用互联网地址;如果在安装了它的同一台计算机上运行,则使用localhost127.0.0.1地址)。

按照向导说明操作,别忘了使用收到的许可证密钥激活您的Community Server副本(通过向导中的许可证激活文件部分的上传文件按钮)。

Control PanelHTTPS更新部分在此安装方式下不可用。您可以手动为ONLYOFFICE Workspace企业版设置HTTPS连接(请参见下文的相关步骤)。已安装的Document ServerCommunity Server可以通过从我们网站下载的新版RPM包进行更新。更新后,必须使用Docker镜像中指定的新版本重启Control Panel

为ONLYOFFICE Workspace企业版设置HTTPS连接协议

根据Document ServerControl Panel的部署方式,启用ONLYOFFICE Workspace企业版的HTTPS可能有两种不同方案:

  1. Document ServerControl PanelCommunity Server处于同一私有局域网内;
  2. Document ServerControl PanelCommunity Server不在同一私有局域网内,且都需要切换到HTTPS。

下面将分别介绍这两种方案的具体问题。

方案1:所有计算机处于同一私有局域网

修改NGINX配置

首先按照本文说明修改NGINX服务配置以使用HTTPS。需要设置以下参数:

  • {{ONLYOFFICE_NGINX_KEEPLIVE}} - 设置值为64
  • {{DOCKER_ONLYOFFICE_SUBNET}} - 设置计算机(Document ServerControl PanelCommunity Server)所在子网的掩码,例如172.18.0.0/16
  • {{ONLYOFFICE_SERVICES_HOST}} - 设置为localhost
  • {{DOCUMENT_SERVER_HOST_ADDR}} - Document Server的本地地址;
  • {{CONTROL_PANEL_HOST_ADDR}} - Control Panel的本地地址。

其他参数的值请参见如何将Community Server切换到HTTPS协议?一文。

编辑Community Server配置文件

打开安装了Community Server的计算机上的/var/www/onlyoffice/WebStudio/web.appsettings.config文件,编辑并修改以下行:

  1. <add key="files.docservice.url.public" value="http://documentserver-localaddress/" />
  2. <add key="files.docservice.url.internal" value="http://documentserver-localaddress/" />
  3. <add key="files.docservice.url.portal" value="http://communityserver-localaddress/" />

其中documentserver-localaddressCommunity Server可访问的局域网内Document Server地址。

重启网站

现在需要重启网站和NGINX服务:

service monoserve restart
service nginx restart

编辑Control Panel配置文件

进入Control Panel的Docker容器,找到两个配置文件:/var/www/onlyoffice-controlpanel/ControlPanel/Web.config/var/www/onlyoffice-controlpanel/ControlPanel2/Web.config。打开它们进行编辑,修改两个文件中的以下行:

  1. <add key="web.portal" value="http://communityserver-localaddress/" />
  2. <add key="web.api-system" value="http://communityserver-localaddress/apisystem/api" />

其中communityserver-localaddressControl Panel可访问的局域网内Community Server地址。

之后重启带有Control Panel的网站:

service monoserve restart
方案2:所有计算机各自处于不同网络

切换Document Server到HTTPS

首先将Document Server切换到HTTPS连接协议。请阅读如何将Document Server切换到HTTPS协议?了解具体操作。

编辑Control Panel配置文件

进入Control Panel的Docker容器,找到/etc/nginx/sites-available/onlyoffice-controlpanel配置文件。打开编辑,修改listen 80部分如下:

  1. listen 0.0.0.0:443 ssl;
  2. listen [::]:443 ssl default_server;
  3. server_tokens off;
  4. root /usr/share/nginx/html;
  5. ## 如果需要上传大附件,请增加此值
  6. client_max_body_size 100m;
  7. ## 强化SSL安全
  8. ## https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
  9. ssl on;
  10. ssl_certificate {{SSL_CERTIFICATE_PATH}};
  11. ssl_certificate_key {{SSL_KEY_PATH}};
  12. ssl_verify_client {{SSL_VERIFY_CLIENT}};
  13. ssl_client_certificate {{CA_CERTIFICATES_PATH}};
  14. ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA128:DHE-RSA-AES128-GCM-SHA384:DHE-RSA-AES128-GCM-SHA128:ECDHE-RSA-AES128-SHA384:ECDHE-RSA-AES128-SHA128:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA384:AES128-GCM-SHA128:AES128-SHA128:AES128-SHA128:AES128-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
  15. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  16. ssl_session_cache builtin:1000 shared:SSL:10m;
  17. ssl_prefer_server_ciphers on;
  18. add_header Strict-Transport-Security max-age={{ONLYOFFICE_HTTPS_HSTS_MAXAGE}};
  19. # add_header X-Frame-Options SAMEORIGIN;
  20. add_header X-Content-Type-Options nosniff;
  21. ## [可选] 如果您的证书支持OCSP,可启用OCSP stapling以减少SSL运行的开销和延迟。
  22. ## 替换为您的ssl_trusted_certificate。详情见:
  23. ## - https://medium.com/devops-programming/4445f4862461
  24. ## - https://www.ruby-forum.com/topic/4419319
  25. ## - https://www.digitalocean.com/community/tutorials/how-to-configure-ocsp-stapling-on-apache-and-nginx
  26. # ssl_stapling on;
  27. # ssl_stapling_verify on;
  28. # ssl_trusted_certificate /etc/nginx/ssl/stapling.trusted.crt;
  29. # resolver 208.67.222.222 208.67.222.220 valid=300s; # 可根据需要更改为您的DNS解析器
  30. # resolver_timeout 10s;
  31. ## [可选] 生成更强的DHE参数:
  32. ## cd /etc/ssl/certs
  33. ## sudo openssl dhparam -out dhparam.pem 4096
  34. ##
  35. ssl_dhparam {{SSL_DHPARAM_PATH}};
请参见本文,了解双大括号{{...}}中变量的含义及可填写的值。

之后重启NGINX服务:

service nginx restart

配置Community Server

现在访问安装了Community Server的计算机,按照本文说明修改NGINX服务配置以使用HTTPS。需要设置以下参数:

  • {{ONLYOFFICE_NGINX_KEEPLIVE}} - 设置值为64
  • {{DOCKER_ONLYOFFICE_SUBNET}} - 设置随机子网掩码,例如172.18.0.0/16
  • {{ONLYOFFICE_SERVICES_HOST}} - 设置为localhost
  • {{DOCUMENT_SERVER_HOST_ADDR}} - Document Server的互联网地址;
  • {{CONTROL_PANEL_HOST_ADDR}} - Control Panel的互联网地址。

其他参数的值请参见如何将Community Server切换到HTTPS协议?一文。

打开/var/www/onlyoffice/WebStudio/web.appsettings.config文件,编辑并修改以下行:

  1. <add key="files.docservice.url.public" value="https://documentserver/" />
  2. <add key="files.docservice.url.internal" value="https://documentserver/" />
  3. <add key="files.docservice.url.portal" value="https://communityserver/" />

其中documentserver是当前Document Server的HTTPS地址。

Document ServerControl Panel在上述所有文件中的互联网地址必须使用带有“s”(表示安全)的https协议前缀。

重启网站

现在需要重启网站和NGINX服务:

service monoserve restart
service nginx restart
文章: 标签:
浏览所有标签