本文由AI翻译

安装 ONLYOFFICE 文档 企业版 Docker 版本用于 64 位 ARM 架构

简介

从版本 7.1 开始,ONLYOFFICE 文档可以使用 Docker 安装在 64 位 ARM 架构上。

企业版 允许您将 ONLYOFFICE 文档 安装在本地服务器上,并将在线编辑器与 ONLYOFFICE 协作平台或 其他流行系统 集成。

ONLYOFFICE 文档 是一个在线办公套件,包含文本、电子表格和演示文稿的查看器和编辑器,完全兼容 Office Open XML 格式:.docx, .xlsx, .pptx,并支持实时协作编辑。

功能

  • 文档编辑器
  • 电子表格编辑器
  • 演示文稿编辑器
  • 移动网页查看器
  • 移动网页编辑器
  • 协作编辑
  • 支持象形文字
  • 支持所有流行格式:DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML

查看 ONLYOFFICE 文档 企业版 的详细功能列表。

ONLYOFFICE Workspace 中使用它,您将能够:

  • 共享文件;
  • 管理文档的访问权限;
  • 将文档嵌入到网站中;
  • 查看和编辑存储在与 ONLYOFFICE 连接的 Drive、Box、Dropbox、OneDrive、OwnCloud 上的文件。

本指南将向您展示如何安装 ONLYOFFICE 文档 企业版 Docker 版本 7.2 及更高版本用于 64 位 ARM 架构。

系统要求
  • CPU: 64 位 ARM 处理器
  • RAM: 4 GB 或更多
  • HDD: 至少 40 GB 的可用空间
  • SWAP: 至少 4 GB,但取决于主机操作系统。更多更好
  • OS: arm64 的 Linux 发行版
  • 附加要求
    • Docker: 任何由 Docker 团队支持的 版本

安装 ONLYOFFICE 文档

您需要安装最新版本的 Docker。如果没有,请参阅 Docker 网站上的 安装部分 了解如何获取。
Docker 默认指定 Google DNS 服务器。如果您的 ONLYOFFICE 文档 不打算访问互联网,我们建议您将默认的 Docker DNS 地址更改为本地 DNS 服务器的地址。为此,请转到 /etc/default/docker 文件并将以下行中的 IP 地址更改为本地网络中 DNS 服务器的 IP 地址:
docker_OPTS="--dns 8.8.8.8"

对于基于 RPM 的操作系统,如 CentOS:

  1. 创建 /etc/docker/daemon.json 配置文件,内容如下:
    { "dns" : [ "8.8.8.8" ] }
    
  2. 重启 Docker 服务:
    
    sudo systemctl restart docker.service
    

安装 Docker 后,运行它并执行以下命令:

sudo docker run -i -t -d -p 80:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee:latest
重要 从版本 7.2 开始,我们添加了 JWT 密钥的随机生成。如果未通过环境变量指定 JWT 密钥,则在每次虚拟机或物理服务器重启时会重新生成,从而可能导致集成问题。为避免此问题,请在 -e JWT_SECRET=my_jwt_secret 中指定您自己的值。

如果您不打算在安装中使用 JWT,请使用 -e JWT_ENABLED=false

默认情况下,ONLYOFFICE 文档 使用端口 80 监听传入连接。从版本 4.3 开始,如果您计划使用非默认端口,可以更改 ONLYOFFICE 文档 的端口。这可以通过在安装过程中更改映射端口轻松完成:
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee:latest
其中 <PORT_NUMBER> 是您希望 ONLYOFFICE 文档 使用的端口号。

这将安装 ONLYOFFICE 文档 及其所需的所有依赖项(脚本执行的操作列表可以在 这里 找到)。

在容器外存储数据

所有数据都存储在专门指定的目录中,称为 数据卷,位置如下:

  • /var/log/onlyoffice 用于 ONLYOFFICE 文档 日志
  • /var/www/onlyoffice/Data 用于证书
  • /var/lib/onlyoffice 用于文件缓存
  • /var/lib/postgresql 用于数据库
我们建议 我们强烈建议您将数据存储在 Docker 容器外的主机上,因为这样可以在新版本发布时轻松更新 ONLYOFFICE 文档,而不会丢失数据。

要访问位于容器外的数据,您需要挂载数据卷。这可以通过在 docker run 命令中指定 -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 -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee:latest
请注意,如果您尝试挂载尚未创建的文件夹,这些文件夹将被创建,但访问权限将受到限制。您需要手动更改其访问权限。

通常,您不需要存储容器数据,因为容器操作不依赖于其状态。保存数据将有助于:

  • 轻松访问容器数据,例如日志;
  • 消除容器内数据大小的限制;
  • 在使用容器外启动的服务(如 PostgreSQL、Redis、RabbitMQ)时。

使用 HTTPS 运行 ONLYOFFICE 文档

sudo docker run -i -t -d -p 443:443 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee:latest

可以使用 SSL 保护对 onlyoffice 应用程序的访问,以防止未经授权的访问。虽然 CA 认证的 SSL 证书允许通过 CA 验证信任,但只要每个客户端采取一些额外步骤验证您网站的身份,自签名证书也可以提供同等水平的信任验证。以下提供了实现此目的的说明。

要通过 SSL 保护应用程序,基本上需要两件事:

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

因此,您需要创建并安装以下文件:

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

使用 CA 认证的证书(例如,Let's Encrypt),这些文件由 CA 提供。如果您使用自签名证书,则需要自己生成这些文件。

使用 certbot 将 ONLYOFFICE 文档切换到 HTTPS

将 ONLYOFFICE 文档 切换到 HTTPS 的最简单方法是使用 certbot 自动获取 Let's Encrypt SSL 证书。

运行 ONLYOFFICE 文档 Docker 容器,指定端口 80 和 443,并为变量设置您自己的值:

sudo docker run -i -t -d -p 80:80 -p 443:443 --restart=always \
    -e LETS_ENCRYPT_DOMAIN=yourdomain.com -e LETS_ENCRYPT_MAIL=email@example.com -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee:latest

其中:

  • LETS_ENCRYPT_DOMAIN - 用于证书的域名。
  • LETS_ENCRYPT_MAIL - 用于注册和恢复联系的电子邮件。

letsencrypt.org CA 签名的证书将自动生成并安装到您的服务器。现在,您的 ONLYOFFICE 文档 应该可以在 https://yourdomain.com 地址访问。

生成自签名证书

生成自签名 SSL 证书涉及简单的三步程序

步骤 1: 创建服务器私钥

openssl genrsa -out onlyoffice.key 2048

步骤 2: 创建证书签名请求 (CSR)

openssl req -new -key onlyoffice.key -out onlyoffice.csr

步骤 3: 使用私钥和 CSR 签署证书

openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt

您现在已经生成了一个有效期为 365 天的 SSL 证书。

加强服务器安全

本节为您提供加强服务器安全的说明。

为此,您需要生成更强的 DHE 参数。

openssl dhparam -out dhparam.pem 2048
安装 SSL 证书

在生成的四个文件中,您需要在 onlyoffice 服务器上安装 onlyoffice.keyonlyoffice.crtdhparam.pem 文件。CSR 文件不需要,但请确保安全备份该文件(以防您需要再次使用)。

onlyoffice 应用程序默认配置为在 /var/www/onlyoffice/Data/certs 路径查找 SSL 证书,但可以使用 SSL_KEY_PATHSSL_CERTIFICATE_PATHSSL_DHPARAM_PATH 配置选项更改。

/var/www/onlyoffice/Data/ 路径是数据存储路径,这意味着您必须在 /app/onlyoffice/DocumentServer/data/ 中创建一个名为 certs 的文件夹并将文件复制到其中,并作为安全措施,您将更新 onlyoffice.key 文件的权限,使其仅对所有者可读。

mkdir -p /app/onlyoffice/DocumentServer/data/certs
cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key

然后重启 Docker 容器:

sudo docker restart {{DOCUMENT_SERVER_ID}}

您现在只需一步即可使我们的应用程序安全。

可用的配置参数
请参阅 docker run 命令选项中的 --env-file 标志,您可以在单个文件中指定所有必需的环境变量。这将使您免于编写可能很长的 docker run 命令。

下面是可以使用环境变量设置的参数的完整列表。

  • ONLYOFFICE_HTTPS_HSTS_ENABLED: 高级配置选项,用于关闭 HSTS 配置。仅在使用 SSL 时适用。默认值为 true
  • ONLYOFFICE_HTTPS_HSTS_MAXAGE: 高级配置选项,用于设置 onlyoffice NGINX vHost 配置中的 HSTS 最大年龄。仅在使用 SSL 时适用。默认值为 31536000
  • SSL_CERTIFICATE_PATH: 要使用的 SSL 证书的路径。默认值为 /var/www/onlyoffice/Data/certs/tls.crt
  • SSL_KEY_PATH: SSL 证书私钥的路径。默认值为 /var/www/onlyoffice/Data/certs/tls.key
  • SSL_DHPARAM_PATH: Diffie-Hellman 参数的路径。默认值为 /var/www/onlyoffice/Data/certs/dhparam.pem
  • SSL_VERIFY_CLIENT: 启用使用 CA_CERTIFICATES_PATH 文件 验证客户端证书。默认值为 false
  • DB_TYPE: 数据库类型。支持的值为 postgresmariadbmysql。默认值为 postgres
  • DB_HOST: 数据库服务器运行的主机的 IP 地址或名称。
  • DB_PORT: 数据库服务器端口号。
  • DB_NAME: 在镜像启动时创建的数据库名称。
  • DB_USER: 数据库帐户的新超级用户权限用户名。
  • DB_PWD: 为数据库帐户设置的密码。
  • AMQP_URI: 连接到消息代理服务器的 AMQP URI
  • AMQP_TYPE: 消息代理类型。支持的值为 rabbitmqactivemq。默认值为 rabbitmq
  • REDIS_SERVER_HOST: Redis 服务器运行的主机的 IP 地址或名称。
  • REDIS_SERVER_PORT: Redis 服务器端口号。
  • REDIS_SERVER_PASS: Redis 服务器密码。默认情况下未设置密码。
  • NGINX_WORKER_PROCESSES: 定义 NGINX 工作进程的数量。
  • NGINX_WORKER_CONNECTIONS: 设置 NGINX 工作进程可以打开的最大同时连接数。
  • SECURE_LINK_SECRET: 为 nginx 配置指令 secure_link_md5 定义密钥。默认值为 随机字符串
  • JWT_ENABLED: 指定启用 ONLYOFFICE 文档 的 JSON Web 令牌验证。默认值为 true
  • JWT_SECRET: 定义在请求 ONLYOFFICE 文档 时验证 JSON Web 令牌的密钥。默认值为随机值。
  • JWT_HEADER: 定义用于发送 JSON Web 令牌的 HTTP 头。默认值为 Authorization
  • JWT_IN_BODY: 指定在请求正文中启用 ONLYOFFICE 文档 的令牌验证。默认值为 false
  • ALLOW_META_IP_ADDRESS: 定义是否允许连接元 IP 地址。默认值为 false
  • ALLOW_PRIVATE_IP_ADDRESS: 定义是否允许连接私有 IP 地址。默认值为 false
  • WOPI_ENABLED: 指定启用 wopi 处理程序。默认值为 false
  • USE_UNAUTHORIZED_STORAGE: 如果为存储服务器(例如 Nextcloud)使用自签名证书,请设置为 true。默认值为 false
  • GENERATE_FONTS: 当为 true 时,在每次启动时重新生成字体列表和字体缩略图等。默认值为 true
  • METRICS_ENABLED: 指定为 ONLYOFFICE 文档 启用 StatsD。默认值为 false
  • METRICS_HOST: 定义 StatsD 监听主机。默认值为 localhost
  • METRICS_PORT: 定义 StatsD 监听端口。默认值为 8125
  • METRICS_PREFIX: 定义后端服务的 StatsD 指标前缀。默认值为 ds.
  • LETS_ENCRYPT_DOMAIN: 定义 Let's Encrypt 证书的域名。
  • LETS_ENCRYPT_MAIL: 定义 Let's Encrypt 证书的域管理员邮件地址。

安装与 ONLYOFFICE Workspace 和 ONLYOFFICE Mail 集成的 ONLYOFFICE 文档

ONLYOFFICE 文档ONLYOFFICE Workspace 的一部分,还包括 ONLYOFFICE 社区服务器ONLYOFFICE 控制面板ONLYOFFICE Mail。如果您想安装所有这些并相互集成,请阅读这些说明

注册您的企业版

如果您购买了 企业版 并收到了 license.lic 文件,您可以将其放置到您的安装中以获得软件的完整版本。

当您使用 docker 容器时,license.lic 文件可以放置在任何文件夹中(例如,/app/onlyoffice/DocumentServer/data/license.lic),但您需要在容器启动时挂载此文件夹:

sudo docker run -i -t -d -p 80:80 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee:latest

之后,您的 企业版 将注册并成为完整功能版本。

在您自己的服务器上托管 ONLYOFFICE 文档,或在云端使用

文章: 标签:
浏览所有标签