跳到主要内容

在 CentOS 及其衍生版本上安装 ONLYOFFICE 文档企业版

简介​

企业版允许您在本地服务器上安装 ONLYOFFICE 文档,并将在线编辑器与 ONLYOFFICE 协作平台或其他流行系统集成(查看详细功能列表)。本指南将向您展示如何在您的机器上安装 ONLYOFFICE 文档 企业版的 Linux 版本。

系统要求​

  • CPU:双核 2 GHz 或更高
  • RAM:至少 2 GB,但取决于主机操作系统。更多更好
  • 硬盘:至少 40 GB 的可用空间
  • SWAP:至少 4 GB,但取决于主机操作系统。更多更好
  • 操作系统:CentOS Stream 9、RHEL 8 或 RHEL 9
  • 附加要求:
    • PostgreSQL:版本 12.9 或更高
    • NGINX:版本 1.3.13 或更高
    • Redis:版本 5 或更高
    • RabbitMQ

安装依赖项​

安装最新的 NGINX 包版本​

要为 RHEL/CentOS 设置 yum 仓库,请创建名为 /etc/yum.repos.d/nginx.repo 的文件,内容如下:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

官方说明

安装 NGINX:

sudo yum install nginx

之后,编辑 /etc/nginx/nginx.conf NGINX 配置文件,使其如下所示:

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;
}
重要

如果您计划在端口 80 上运行 ONLYOFFICE 文档,请立即禁用 NGINX 默认网站。否则,ONLYOFFICE 文档可能无法正常工作。为此,请运行以下命令:

sudo mv -f /etc/nginx/sites-enabled/default /etc/nginx/sites-available/default.disabled
sudo mv -f /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.disabled
sudo systemctl is-active --quiet nginx && sudo systemctl reload nginx || sudo systemctl start nginx

根据 NGINX 的安装方式,前两个命令中的一个可能会报告文件不存在。您可以放心忽略此消息。

安装 EPEL 仓库​

sudo yum install epel-release

在 CentOS 9 上安装 EPEL,请使用以下命令:

sudo yum config-manager --set-enabled crb
sudo yum install epel-release epel-next-release

在 RHEL 上安装 EPEL,请使用以下命令:

sudo subscription-manager repos --enable codeready-builder-for-rhel-$REV-$(arch)-rpms
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$REV.noarch.rpm

手动将 $REV 更改为您的操作系统版本(7 表示 7.x 版本,8 表示 8.x 版本,9 表示 9.x 版本,依此类推)。

安装和配置 PostgreSQL​

安装您 CentOS 版本中包含的 PostgreSQL 版本:

sudo yum install postgresql postgresql-server
备注

如果您想从 PostgreSQL 仓库安装其他 PostgreSQL 版本,请参阅官方 PostgreSQL 文档了解更多详细信息。

初始化 PostgreSQL 数据库

sudo service postgresql initdb
sudo chkconfig postgresql on

在 CentOS 9 上,chkconfig 默认未安装。使用以下命令安装它:

sudo yum install chkconfig

为 IPv4 和 IPv6 本地主机启用 'scram-sha-256' 认证方法

在文本编辑器中打开 /var/lib/pgsql/data/pg_hba.conf 文件。

找到 host all all 127.0.0.1/32 ident 字符串,并将其替换为以下内容:

host all all 127.0.0.1/32 scram-sha-256

然后找到 host all all ::1/128 ident 字符串,并将其替换为以下内容:

host all all ::1/128 scram-sha-256

保存更改。

在文本编辑器中打开 /var/lib/pgsql/data/postgresql.conf 文件。

找到 'password_encryption',取消注释并将值替换为 'scram-sha-256':

password_encryption = 'scram-sha-256'

保存更改。

重启 PostgreSQL 服务:

sudo service postgresql restart

创建 PostgreSQL 数据库和用户:

备注

您可以指定任何用户名和密码。

首先运行命令

cd /tmp

以防止从 root 运行时出现 could not change directory to "/root" 警告。然后必须创建数据库和用户:

sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH PASSWORD 'onlyoffice';"
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice OWNER onlyoffice;"

安装 Redis​

运行以下命令:

sudo yum -y install redis

启动 redis 服务并启用开机启动:

sudo systemctl enable --now redis

安装 RabbitMQ​

sudo curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | os=centos dist=$REV sudo bash
sudo curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | os=centos dist=$REV sudo bash

手动将 $REV 更改为您的操作系统版本(7 表示 7.x 版本,8 表示 8.x 版本,9 表示 9.x 版本,依此类推)。

sudo yum install rabbitmq-server

或者,您可以从官方网站在 CentOS 8 或 CentOS 9 上安装 RabbitMQ。

启动 rabbitmq 服务并启用开机启动:

sudo systemctl enable --now rabbitmq-server

添加 ONLYOFFICE 文档仓库​

使用以下命令添加 yum ONLYOFFICE 文档仓库:

sudo yum install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm

安装 mscorefonts​

安装 cabextract 和 xorg-x11-font-utils 包:

sudo yum install cabextract xorg-x11-font-utils

对于 CentOS 7.8(2003),还需要 fontconfig:

sudo yum install fontconfig

安装 msttcore 字体包:

sudo rpm -i https://sourceforge.net/projects/mscorefonts2/files/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

安装 ONLYOFFICE 文档​

执行以下命令:

sudo yum install onlyoffice-documentserver-ee

启动 nginx 服务并启用开机启动:

sudo service nginx start
sudo systemctl enable nginx

之后,ONLYOFFICE 文档将作为一个进程运行。该软件包将像其他 rpm 包一样更新。

更新 ONLYOFFICE 文档​

要更新 ONLYOFFICE 文档,请运行以下命令:

sudo yum update onlyoffice-documentserver-ee
重要

在 RHEL 8 及其衍生版本上,启用 ONLYOFFICE 仓库时运行 yum update 可能会因依赖项错误而失败。

为避免这种情况,请从 ONLYOFFICE 仓库中排除这些软件包,使其改为从系统 AppStream 仓库获取:

echo "excludepkgs=xorg-x11-server-Xvfb,xorg-x11-server-common" >> /etc/yum.repos.d/onlyoffice.repo

此命令只需运行一次。之后,yum update 将按预期工作。

如果您通过 OneClick Install 安装了 ONLYOFFICE 文档,此排除项已自动应用。

更改默认的 ONLYOFFICE 文档端口​

默认情况下,ONLYOFFICE 文档使用端口 8083 监听传入连接。从版本 4.3 开始,您可以更改 ONLYOFFICE 文档的端口,以便使用它而不是默认端口。

备注

如果您打算更改默认端口,请确保它对传入/传出连接是开放的。查看完整端口列表,了解 ONLYOFFICE 文档使用的端口。

为此,您需要运行以下命令编辑 DS_PORT 环境变量:

export DS_PORT=<PORT_NUMBER>

请在上述命令中将 <PORT_NUMBER> 替换为端口号。

备注

如果您将端口设置为 80,请确保已按照安装最新的 NGINX 包版本部分所述禁用 NGINX 默认网站。

警告

如果您想将 ONLYOFFICE 文档协议更改为 HTTPS,请不要将端口更改为 443,而是使用此说明。

之后,您可以继续配置 ONLYOFFICE 文档。

配置 ONLYOFFICE 文档​

运行配置脚本​

注意

默认情况下,PostgreSQL 用作数据库。如果您想使用 MySQL 而不是 PostgreSQL,请在运行 documentserver-configure.sh 脚本之前添加两个环境变量以定义数据库类型和端口:

export DB_TYPE=mysql
export DB_PORT=3306

添加这两个变量后,您将能够使用脚本切换数据库。

运行 documentserver-configure.sh 脚本:

bash documentserver-configure.sh

您将被要求指定 PostgreSQL、Redis 和 RabbitMQ 的连接参数。使用以下数据:

对于 PostgreSQL:

  • 主机:localhost
  • 数据库:onlyoffice
  • 用户:onlyoffice
  • 密码:onlyoffice

对于 Redis:

  • 主机:localhost

对于 RabbitMQ:

  • 主机:localhost
  • 用户:guest
  • 密码:guest

添加防火墙例外​

sudo firewall-cmd --zone=public --add-port=8083/tcp --permanent
sudo firewall-cmd --reload

禁用 SELinux​

备注

自 v.5.0 起已弃用

使用任何文本编辑器打开 /etc/selinux/config 文件,将 SELINUX=enforcing 或 SELINUX=permissive 字符串替换为 SELINUX=disabled 并保存更改。

重启您的服务器以使更改生效。

注意

出于安全原因,从 v8.1 开始,在运行 documentserver-configure.sh 脚本时,新的 WOPI 密钥会在 local.json 中生成。如果您使用 WOPI 连接,则需要在更新 ONLYOFFICE 文档后运行该脚本:

documentserver-configure.sh --wopienabled true

在浏览器中启动 ONLYOFFICE 文档​

配置完成后,您可以在浏览器地址栏中输入 http://localhost:8083 以打开 ONLYOFFICE 文档欢迎页面,您将在此处找到有关如何启用文档示例或使用提供的 API 将在线编辑器集成到您的 Web 应用程序中的更多说明。

注册您的企业版​

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

当您是基于 Red Hat 的 Linux 发行版用户时,license.lic 文件放置在以下文件夹中:

/var/www/onlyoffice/Data/license.lic

之后,您的企业版版本将被注册并具备完整功能。