使用社区版,您可以在本地服务器上安装 ONLYOFFICE 文档,并将在线编辑器与ONLYOFFICE 协作平台或其他热门系统集成在一起。
ONLYOFFICE文档是什么
ONLYOFFICE 文档是一个在线办公套件,包括文本文档、电子表格和演示文稿的查看器和编辑器,与包括 .docx、.xlsx、.pptx 在内的 Office Open XML 格式完全兼容,并支持实时协作编辑。
功能
- 文档编辑器
- 电子表格编辑器
- 演示文稿编辑器
- 移动网页查看器
- 协作编辑
- 支持象形文字
- 支持所有常见格式:DOC、DOCX、TXT、ODT、RTF、ODP、EPUB、ODS、XLS、XLSX、CSV、PPTX、HTML
请查看 ONLYOFFICE 文档社区版功能详单。
ONLYOFFICE文档最新版
最近ONLYOFFICE发布了v7.2,最新版本的在线编辑器提供了多种实用性改进:
- 轻松的插件安装流程、
- 实时查看器、
- 支持连字、
- 新可填写表单的字段类型、
- 可插入到任何文档的、可编辑的OLE 电子表格、
- 全新界面主题和语言、
- 特殊粘贴热键等等。
阅读这篇文章,了解更多关于ONLYOFFICE文档v7.2新功能。
ONLYOFFICE 群组集成
将其与 ONLYOFFICE 群组集成,您就可以:
- 共享文件;
- 管理文档的访问权限;
- 在网站上嵌入文档;
- 查看和编辑存储在连接到 ONLYOFFICE 的 Drive、Box、Dropbox、OneDrive、OwnCloud 上的文件。
本指南将向您介绍如何在机器上安装 Docker 版的 ONLYOFFICE 文档社区版。
系统要求
CPU:双核 2 GHz 或更高
内存:2GB 或更大
硬盘:至少 40 GB 的可用空间
其他要求:至少 4 GB 的交换空间
操作系统:amd64 Linux 发行版,内核版本为 3.10 或更高版本
-
其他要求
- 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"
CentOS 等基于 RPM 的操作系统:
- 创建
/etc/docker/daemon.json
配置文件,内容如下:
{ "dns" : [ "8.8.8.8" ] }
- 重新启动Docker服务:
sudo systemctl restart docker.service
Docker 安装完成后,运行并执行以下命令:
sudo docker run -i -t -d -p 80:80 --restart=always onlyoffice/documentserver
如要单独安装 ONLYOFFICE 文档,请使用此命令。如要安装集成了ONLYOFFICE 群组和 ONLYOFFICE 邮件的 ONLYOFFICE 文档,请参阅如下相关说明。
ONLYOFFICE 文档默认使用端口 80 监听传入连接。从 v4.3 版起,如果您计划使用 ONLYOFFICE 文档非默认端口,您可以做更改。只需在安装时变更映射端口即可实现。
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always onlyoffice/documentserver
其中,<PORT_NUMBER> 是您希望 ONLYOFFICE 文档使用的端口号。
这将安装 ONLYOFFICE 文档和它所需的所有依赖项(可在此处找到脚本正在执行的清单)。
将数据存储在容器外部
所有数据都存储在专门指定的目录中,即数据卷中,位于如下位置:
-
ONLYOFFICE 文档日志位于:
/var/log/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 onlyoffice/documentserver
请注意,为防止您装载的文件夹未创建,系统会创建这些文件夹,但会限制对它们的访问。您需要手动更改 ir 访问权限。
通常,您不需要存储容器数据,因为容器操作不依赖于其状态。保存数据会非常有助于:
- 轻松访问容器数据,如日志;
- 取消容器内数据大小的限制;
- 使用容器外启动的服务,如 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 onlyoffice/documentserver
可使用 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 \
-e LETS_ENCRYPT_DOMAIN=yourdomain.com -e LETS_ENCRYPT_MAIL=email@example.com onlyoffice/documentserver
这里:
- Let_ENCRYPT_DOMAIN:用于证书的域名。
- LETS_ENCRYPT_MAIL:用于注册和恢复联系人的电子邮件。
经 letsencrypt.org CA 签名的证书会自动生成并安装到您的服务器上。现在,您的 ONLYOFFICE 文档应该可以在https://yourdomain.com的地址可用。
自签名证书的生成
生成自签名 SSL 证书只需简单 3 步。
第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.key
、onlyoffice.crt
和 dhparam.pem
。无需 CSR 文件,但需确保您已安全地备份了该文件(以防再次需要)。
将 onlyoffice 应用程序配置查找 SSL 证书的默认路径为 /var/www/onlyoffice/Data/certs
,但是可以使用配置选项中的 SSL_KEY_PATH
、SSL_CERTIFICATE_PATH
和 SSL_DHPARAM_PATH
更改路径。
/var/www/onlyoffice/Data/ path
是数据存储的路径,这样您必须在 /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}}
您现在只需再执行一步操作就可以确保应用安全了。
可用的配置参数
请参考 --env-file 命令标志的 docker run 命令选项,您可以在单个文件中指定所有必需的环境变量。这样,您不必编写可能会很长的 docker run 命令。
如下是可以使用环境变量设置的完整参数列表。
- ONLYOFFICE_HTTPS_HSTS_ENABLED:用于关闭 HSTS 配置的高级配置选项。仅在使用 SSL 时适用。默认为 true。
-
ONLYOFFICE_HTTPS_HSTS_MAXAGE:高级配置选项,用于在 onlyoffice NGINX vHost 配置中设置 HSTS max-age。仅在使用 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:数据库类型。支持的值为
postgres
、mariadb
或mysql
。默认为postgres
。 - DB_HOST:运行数据库服务器的主机的 IP 地址或名称。
- DB_PORT:数据库服务器端口号。
- DB_NAME:映像启动时创建的数据库的名称。
- DB_USER:新用户名,拥有数据库帐号的超级用户权限。
- DB_PWD:为数据库帐号设置的密码。
- AMQP_URI:连接到消息代理服务器的AMQP URI。
-
AMQP_TYPE:消息代理类型。支持的值包括
rabbitmq
或activemq
。默认为rabbitmq
。 - REDIS_SERVER_HOST:运行 Redis 服务器的主机的 IP 地址或名称。
- REDIS_SERVER_PORT:Redis 服务器端口号。
- NGINX_WORKER_PROCESSES:定义 NGINX工作进程的编号。
- NGINX_WORKER_CONNECTIONS:设置一个 NGINX 工作进程可以同时打开的最大连接数。
-
JWT_ENABLED:指定通过 ONLYOFFICE 文档启用 JSON 网络令牌验证。默认为
true
。 -
JWT_SECRET:定义用于验证 ONLYOFFICE 文档请求中的 JSON 网络令牌的密钥。默认为
secret
。 -
JWT_HEADER:定义将用于发送 JSON 网络令牌的 HTTP 头。默认为
Authorization
。 -
JWT_IN_BODY:指定在请求正文中启用对 ONLYOFFICE 文档的令牌验证。默认为
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”证书的域。
- LET_ENCRYPT_MAIL:定义“Let's Encrypt”证书的网域管理员邮件地址。
安装与 ONLYOFFICE 群组和 ONLYOFFICE 邮件集成的 ONLYOFFICE 文档
ONLYOFFICE 文档是 ONLYOFFICE 工作区的一部分,ONLYOFFICE 工作区还包括 ONLYOFFICE 社区服务器、ONLYOFFICE 控制面板和 ONLYOFFICE 邮件。如果您想安装所有这些组件并让它们互相集成,请阅读这些说明。
安装 ONLYOFFICE 文档的其他方法
或者,您也可以使用自动安装脚本一次性安装整个工作区。为使邮件服务器正常运行,您需要将其主机名指定为 yourdomain.com
。
第 1 步:下载安装脚本文件
执行如下命令:
wget https://download.onlyoffice.com/install/workspace-install.sh
第 2 步:安装工作区
如要安装工作区,请运行如下命令:
bash workspace-install.sh -md yourdomain.com
或者您也可以使用 docker-compose 来安装 ONLYOFFICE 文档。如需了解如何操作,请参阅此处的说明。