OnlyOffice服务安装(Linux环境)

官方脚本

  1. 下载安装脚本文件

  2. 安装工作区

    bash workspace-install.sh -md yourdomain.com

Docker

安装 ONLYOFFICE

docker run -i -t -d -p 80:80 –restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver

重要

从版本 7.2 开始,我们添加了随机生成的 JWT 密钥。如果未使用环境变量指定 JWT 机密,则会导致在每次 VM 或物理服务器重新启动期间重新生成该机密,因此集成中可能会出现问题。要避免此问题,请在 中指定您自己的值。-e JWT_SECRET = my_jwt_secret 如果不打算在安装中使用 JWT,请使用 。-e JWT_ENABLED=false

将数据存储在容器外部

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

可用的配置参数

  • ONLYOFFICE_HTTPS_HSTS_ENABLED:用于关闭HSTS配置的高级配置选项。仅在使用 SSL 时适用。默认值为 。true
  • ONLYOFFICE_HTTPS_HSTS_MAXAGE:高级配置选项,用于在唯一的办公室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 filefalse
  • DB_TYPE:数据库类型。支持的值为 、 或 。默认值为 。postgresmariadbmysqlpostgres
  • DB_HOST:运行数据库服务器的主机的 IP 地址或名称。
  • DB_PORT:数据库服务器端口号。
  • DB_NAME:要在映像启动时创建的数据库的名称。
  • DB_USER:具有数据库帐户的超级用户权限的新用户名。
  • DB_PWD:为数据库账号设置的密码。
  • AMQP_URI:要连接到消息代理服务器的 AMQP URI。
  • AMQP_TYPE:消息代理类型。支持的值为 或 。默认值为 。rabbitmqactivemqrabbitmq
  • REDIS_SERVER_HOST:运行 Redis 服务器的主机的 IP 地址或名称。
  • REDIS_SERVER_PORT:Redis 服务器端口号。
  • NGINX_WORKER_PROCESSES:定义 NGINX 工作进程的数量。
  • NGINX_WORKER_CONNECTIONS:设置 NGINX 工作进程可以同时打开的最大连接数。
  • SECURE_LINK_SECRET:定义 nginx 配置指令secure_link_md5的机密。默认值为 。random string
  • JWT_ENABLED:指定通过 ONLYOFFICE 文档启用 JSON Web 令牌验证。默认值为 。true
  • JWT_SECRET:定义密钥以验证对 ONLYOFFICE 文档的请求中的 JSON Web 令牌。默认为随机值。
  • JWT_HEADER:定义将用于发送 JSON Web 令牌的 HTTP 标头。默认值为 。Authorization
  • JWT_IN_BODY:指定在请求正文中为 ONLYOFFICE 文档启用令牌验证。默认值为 。false
  • WOPI_ENABLED:指定启用 wopi 处理程序。默认值为 。false
  • USE_UNAUTHORIZED_STORAGE:设置为是否对存储服务器使用自签名证书,例如 Nextcloud。默认值为 。truefalse
  • GENERATE_FONTS:当 时,每次启动时都会重新生成字体列表和字体缩略图等。默认值为 。truetrue
  • METRICS_ENABLED:指定为 ONLYOFFICE 文档启用 StatsD。默认值为 。false
  • METRICS_HOST:定义 StatsD 侦听主机。默认值为 。localhost
  • METRICS_PORT:定义 StatsD 侦听端口。默认值为 。8125
  • METRICS_PREFIX:定义后端服务的 StatsD 指标前缀。默认值为 。ds.
  • LETS_ENCRYPT_DOMAIN:定义“加密”证书的域。
  • LETS_ENCRYPT_MAIL:定义“加密”证书的域管理员邮件地址。

无网环境安装 (重点)

一、修改环境变量

修改/etc/selinux/config
SELINUX=enforcing 改为 SELINUX=disabled

/etc/profile 添加环境变量
DS_PORT=9001 :指定服务端口
DB_TYPE=mysql :数据库类型
JWT_ENABLED=false :关闭JWT验证
查考上面的 配置参数

重启服务器 生效

二、检测依赖

rpm -q net-tools
yum -y install net-tools

yum clean all
yum -y install yum-utils

三、配置文件

1.onlyoffice

路径下是否有 /etc/yum.repos.d/onlyoffice.repo 文件,没有则创建文件。

1
2
3
4
5
6
[onlyoffice]
name=onlyoffice repo
baseurl=http://download.onlyoffice.com/repo/centos/main/noarch/
gpgcheck=1
gpgkey=https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE
enabled=1

nginx

路径下是否有 /etc/yum.repos.d/nginx.repo 文件,没有则创建文件。

1
2
3
4
5
6
7
[nginx-stable]
name=nginx stable repo
baseurl=https://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

四、安装相关软件

安装nginx

yum localinstall nginx-1.24.0-1.el7.ngx.x86_64.rpm

/etc/nginx/nginx.conf 修改为以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
   user                  nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}

安装 epel-release 和 remi-release

rpm -ivh epel-release-latest-7.noarch.rpm
rpm -ivh remi-release-7.rpm

安装 rabbitmq

yum localinstall erlang-23.3.4.11-1.el7.x86_64.rpm

yum localinstall rabbitmq-server-3.10.0-1.el7.noarch.rpm

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

web界面: rabbitmq-plugins enable rabbitmq_management

安装 onlyoffice

rpm -ivh cabextract-1.11-1.x86_64.rpm –force –nodeps
rpm -ivh xorg-x11-server-*.rpm –force –nodeps
rpm -ivh msttcore-fonts-installer-2.6-1.noarch.rpm –force –nodeps
rpm -ivh pwgen-2.08-1.el7.x86_64.rpm –force –nodeps
rpm -ivh libXScrnSaver-1.2.2-6.1.el7.x86_64.rpm –force –nodeps
rpm -ivh onlyoffice-documentserver-7.3.3.x86_64.rpm –force –nodeps

service nginx start
systemctl enable nginx

启动 onlyoffice

执行 bash /usr/bin/documentserver-configure.sh 会出现以下内容:

1
2
3
4
5
6
7
8
9
数据库:
Host: localhost 数据库地址
Database name: onlyoffice 数据库名称
User:onlyoffice 账号
Password:onlyoffice 密码
rabbitmq:
Host: localhost
User:guest
Password:guest

jwt验证没有关闭,手动修改: /etc/onlyoffice/documentserver/local.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{
...,
"token": {
"enable": {
"request": {
"inbox": false,
"outbox": false
},
"browser": false
},
"inbox": {
"header": "Authorization"
},
"outbox": {
"header": "Authorization"
}
},
"secret": {
"inbox": {
"string": ""
},
"outbox": {
"string": ""
},
"session": {
"string": ""
}
},
...
}


重启服务
#service ds-docservice stop
#service ds-docservice status
#service ds-docservice statd