OnlyOffice是一款强大的在线office工具,我们通过它可以让客户脱离于客户端环境,直接从web端进行文档编写。而且,其本身可以也集成了许多功能,比如邮件,项目管理,CRM,社区等。但本篇文章我们只研究onlyOffice的部署与文档预览编辑,官方地址:https://www.onlyoffice.com/zh
概述
ONLYOFFICE Document Server 是一个在线办公套件,包括文本、电子表格和演示文稿的查看器和编辑器,完全兼容 Office Open XML 格式:.docx、.xlsx、.pptx,并支持实时协作编辑。
功能性
- ONLYOFFICE 文档编辑器
- ONLYOFFICE 电子表格编辑器
- ONLYOFFICE 演示文稿编辑器
- 适用于 iOS 的 ONLYOFFICE 文档应用程序
- 协作编辑
- 象形文字支持
- 支持所有流行格式:DOC、DOCX、TXT、ODT、RTF、ODP、EPUB、ODS、XLS、XLSX、CSV、PPTX、HTML
将其与 ONLYOFFICE 社区服务器集成,您将能够:
- 查看和编辑存储在连接到 ONLYOFFICE 的 Drive、Box、Dropbox、OneDrive、OwnCloud 上的文件;
- 分享文件;
- 在网站上嵌入文档;
- 管理对文档的访问权限。
推荐的系统要求
- 内存:4 GB 或更多
- CPU : 双核 2 GHz 或更高
- 交换文件:至少 2 GB
- 硬盘:至少 2 GB 的可用空间
- 发行版:64 位 Red Hat、CentOS 或其他兼容内核版本 3.8 或更高版本的发行版,64 位 Debian、Ubuntu 或其他兼容内核版本 3.8 或更高版本的发行版
- Docker:版本 1.9.0 或更高版本
运行 Docker 镜像
sudo docker run -i -t -d -p 80:80 onlyoffice/documentserver
如果您希望单独安装 ONLYOFFICE 文档服务器,请使用此命令。要安装与社区和邮件服务器集成的 ONLYOFFICE 文档服务器,请参阅下面的相应说明。
配置 Docker 镜像
存储数据
所有数据都存储在以下位置的特别指定目录data volumes中:
- /var/log/onlyoffice用于 ONLYOFFICE 文档服务器日志
- /var/www/onlyoffice/证书数据
要从容器外部访问您的数据,您需要安装卷。可以通过在 docker run 命令中指定“-v”选项来完成。
sudo docker run -i -t -d -p 80:80 \ #默认是80,我们可以修改端口例如:8080:80
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \ #安装目录根据情况
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver
将数据存储在主机上可以让您在新版本发布后轻松更新 ONLYOFFICE 而不会丢失数据。
在不同端口上运行 ONLYOFFICE 文档服务器
要更改端口,请使用 -p 命令。例如:要使您的门户可以通过端口 8080 访问,请执行以下命令:
sudo docker run -i -t -d -p 8080:80 onlyoffice/documentserver
使用 HTTPS 运行 ONLYOFFICE 文档服务器
sudo docker run -i -t -d -p 443:443 \
-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 认证证书时,这些文件由 CA 提供给您。使用自签名证书时,您需要自己生成这些文件。如果您拥有 CA 认证的 SSL 证书,请跳过以下部分。
自签名证书的生成
自签名 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 证书的默认路径是 at /var/www/onlyoffice/Data/certs
,但是可以使用SSL_KEY_PATH
和配置选项SSL_CERTIFICATE_PATH
进行更改。SSL_DHPARAM_PATH
路径是数据存储的/var/www/onlyoffice/Data/
路径,这意味着您必须在其中创建一个名为 certs 的文件夹并将/app/onlyoffice/DocumentServer/data/
文件复制到其中,作为安全措施,您将更新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 run 命令选项以获取--env-file
可以在单个文件中指定所有必需环境变量的标志。这将使您免于编写可能很长的 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/onlyoffice.crt
. - SSL_KEY_PATH:SSL 证书私钥的路径。默认为
/var/www/onlyoffice/Data/certs/onlyoffice.key
. - SSL_DHPARAM_PATH:Diffie-Hellman 参数的路径。默认为
/var/www/onlyoffice/Data/certs/dhparam.pem
. - SSL_VERIFY_CLIENT:启用使用
CA_CERTIFICATES_PATH
文件验证客户端证书。默认为false
安装与社区和邮件服务器集成的 ONLYOFFICE 文档服务器
ONLYOFFICE 文档服务器是 ONLYOFFICE 社区版的一部分,它还包括社区服务器和邮件服务器。要安装它们,请按照以下简单步骤操作:
第 1步:创建“onlyoffice”网络。
docker network create --driver bridge onlyoffice
比使用 ‘docker run –net onlyoffice’ 选项在其上启动容器:
第 1步:安装 ONLYOFFICE 文档服务器。
sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-document-server \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
onlyoffice/documentserver
第 2步:安装 ONLYOFFICE 邮件服务器。
对于邮件服务器的正确工作,您需要指定其主机名“yourdomain.com”。要了解更多信息,请参阅ONLYOFFICE 邮件服务器文档。
sudo docker run --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server \
-p 25:25 -p 143:143 -p 587:587 \
-v /app/onlyoffice/MailServer/data:/var/vmail \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
-v /app/onlyoffice/MailServer/logs:/var/log \
-v /app/onlyoffice/MailServer/mysql:/var/lib/mysql \
-h yourdomain.com \
onlyoffice/mailserver
第 3步:安装 ONLYOFFICE 社区服务器
sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-community-server \
-p 80:80 -p 5222:5222 -p 443:443 \
-v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/CommunityServer/mysql:/var/lib/mysql \
-v /app/onlyoffice/CommunityServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/DocumentServerData \
-e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server \
-e MAIL_SERVER_DB_HOST=onlyoffice-mail-server \
onlyoffice/communityserver
或者,您可以使用自动安装脚本一次安装整个 ONLYOFFICE 社区版。对于邮件服务器的正确工作,您需要指定其主机名“yourdomain.com”。
第 1步:下载社区版 Docker 脚本文件
wget http://download.onlyoffice.com/install/opensource-install.sh
第 2步:安装 ONLYOFFICE 社区版,执行以下命令:
bash opensource-install.sh -md yourdomain.com
或者,使用docker-compose。对于邮件服务器的正确工作,您需要指定其主机名“yourdomain.com”。假设您已安装 docker-compose,请执行以下命令:
wget https://raw.githubusercontent.com/ONLYOFFICE/Docker-CommunityServer/master/docker-compose.yml
docker-compose up -d