介绍
Integration Edition允许您在本地服务器上安装Document Server,并将在线编辑器与Web应用程序集成。
Document Server是一个在线办公套件,包括用于文本,电子表格和演示文稿的查看器和编辑器,与Office Open XML格式完全兼容:.docx,.xlsx,.pptx,并支持实时协作编辑。
功能性
-
-
- 文件编辑器
- 电子表格编辑器
- 简报编辑器
- 适用于iOS和Android的文档应用程序
- 协同编辑
- 艺术文字支持
- 支持所有流行的格式:DOC,DOCX,TXT,ODT,RTF,ODP,EPUB,ODS,XLS,XLSX,CSV,PPTX,HTML
-
本指南将向您展示如何在计算机上安装Document Server Docker版本。
系统要求
-
-
- 中央处理器双核2 GHz或更高
- 内存2 GB以上
- 硬碟至少40 GB的可用空间
- 其他要求至少4 GB的交换空间
- 操作系统amd64 Linux发行版,内核版本为3.10或更高版本
- 其他要求
- Docker:1.10或更高版本
-
安装文件服务器
您需要安装最新的Docker版本。
Docker默认情况下指定Google DNS服务器。如果您的文档服务器无法访问Internet,我们建议您将默认Docker DNS地址更改为本地DNS服务器的地址。为此,请转至该/etc/default/docker文件,并将以下行中的IP地址更改为您本地网络中DNS服务器的IP地址:
docker_OPTS="--dns 8.8.8.8"
对于基于RPM的操作系统(例如CentOS),可以在以下位置找到配置文件: /etc/docker/daemon.json
安装Docker之后,运行它并执行以下命令:
sudo docker run -i -t -d -p 80:80 --restart=always onlyoffice/documentserver-ie
默认情况下,Document Server使用端口80监听传入的连接。从4.3版开始,如果计划使用它而不是默认端口,则可以更改Document Server的端口。在安装过程中更改映射端口可以轻松完成:
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always onlyoffice/documentserver-ie
<PORT_NUMBER>您要Document Server使用的端口号 在哪里。
这将安装Document Server及其所需的所有依赖项(可在此处找到脚本执行的操作的列表)。
将数据存储在外部
所有数据都存储在以下位置的特殊指定目录,数据卷中:
- /var/log/onlyoffice用于文档服务器日志
- /var/www/onlyoffice/Data 证书
- /var/lib/onlyoffice 用于文件缓存
- /var/lib/postgresql 用于数据库
我们建议我们强烈建议您将数据存储在主机上的Docker容器外部,因为它使您可以在新版本发布后轻松更新Document Server,而不会丢失数据。
要访问位于容器外部的数据,您需要安装卷。可以通过在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-ie
请注意,如果您尝试挂载尚未创建的文件夹,则会创建这些文件夹,但是对它们的访问将受到限制。您将需要手动更改其访问权限。
通常,您不需要存储容器数据,因为容器操作不取决于其状态。保存数据将非常有用:
- 便于访问容器数据,例如日志;
- 取消对容器内部数据大小的限制;
- 当使用在容器外部启动的服务时,例如PostgreSQL,Redis,RabbitMQ。
使用HTTPS运行文档服务器
sudo docker run -i -t -d -p 443:443 --restart=always \-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver-ie
可以使用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.key,onlyoffice.crt以及dhparam.pem文件在服务器onlyoffice。不需要CSR文件,但是请确保您安全地备份了该文件(以防再次需要它)。
该onlyoffice应用程序配置为查找SSL证书的默认路径是/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/certscp 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最大寿命。仅在使用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 file。默认为false。
- POSTGRESQL_SERVER_HOST:运行PostgreSQL服务器的主机的IP地址或名称。
- POSTGRESQL_SERVER_PORT:PostgreSQL服务器端口号。
- POSTGRESQL_SERVER_DB_NAME:在映像启动时要创建的PostgreSQL数据库的名称。
- POSTGRESQL_SERVER_USER:具有PostgreSQL帐户超级用户权限的新用户名。
- POSTGRESQL_SERVER_PASS:为PostgreSQL帐户设置的密码。
- AMQP_SERVER_URL:连接到消息代理服务器的AMQP URL。
- AMQP_SERVER_TYPE:消息代理类型。支持的值是rabbitmq或activemq。默认为rabbitmq。
- REDIS_SERVER_HOST:运行Redis服务器的主机的IP地址或名称。
- REDIS_SERVER_PORT:Redis服务器端口号。
- NGINX_WORKER_PROCESSES:定义NGINX工作进程的数量。
- NGINX_WORKER_CONNECTIONS:设置NGINX工作进程可以打开的最大同时连接数。
- JWT_ENABLED:指定由Document Server启用JSON Web令牌验证。默认为false。
- JWT_SECRET:定义密钥以验证对文档服务器的请求中的JSON Web令牌。默认为secret。
- JWT_HEADER:定义将用于发送JSON Web令牌的HTTP标头。默认为Authorization。
注册您的Integration Edition版本
如果您购买了Integration Edition并且收到了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 \onlyoffice/documentserver-ie
之后,您的Integration Edition版本将被注册并具有完整功能。