在 CentOS 及其衍生版本上安装 ONLYOFFICE 文档开发者版
简介
开发者版允许您在本地服务器上安装ONLYOFFICE 文档,并将在线编辑器与您的 Web 应用程序集成。
ONLYOFFICE 文档是一套在线办公软件,包括文本、电子表格和演示文稿的查看器和编辑器,与 Office Open XML 格式完全兼容:.docx、.xlsx、.pptx,并支持实时协作编辑。
功能
- 文档编辑器
- 电子表格编辑器
- 演示文稿编辑器
- 移动网页查看器
- 移动网页编辑器
- 协作编辑
- 支持象形文字
- 支持所有流行格式:DOC、DOCX、TXT、ODT、RTF、ODP、EPUB、ODS、XLS、XLSX、CSV、PPTX、HTML
查看 详细功能列表,了解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;
}安装 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-serverPostgreSQL版本,请参阅官方 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-de启动 nginx 服务并启用开机启动:
sudo service nginx start
sudo systemctl enable nginx之后,ONLYOFFICE 文档将作为一个进程运行。该软件包将像其他 rpm 包一样更新。
更改默认的 ONLYOFFICE 文档端口
默认情况下,ONLYOFFICE 文档使用端口80监听传入连接。从版本4.3开始,您可以更改ONLYOFFICE 文档的端口,以便使用它而不是默认端口。
为此,您需要运行以下命令编辑DS_PORT环境变量:
export DS_PORT=<PORT_NUMBER>请在上述命令中将<PORT_NUMBER>替换为端口号。
之后,您可以继续配置ONLYOFFICE 文档。
配置 ONLYOFFICE 文档
运行配置脚本
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=80/tcp --permanent
sudo firewall-cmd --reload禁用 SELinux
使用任何文本编辑器打开/etc/selinux/config文件,将SELINUX=enforcing或SELINUX=permissive字符串替换为SELINUX=disabled并保存更改。
重启您的服务器以使更改生效。
documentserver-configure.sh脚本时,新的 WOPI 密钥会在local.json中生成。如果您使用 WOPI 连接,则需要在更新 ONLYOFFICE 文档后运行该脚本:
documentserver-configure.sh --wopienabled true在浏览器中启动 ONLYOFFICE 文档
配置完成后,您可以在浏览器地址栏中输入http://localhost以打开ONLYOFFICE 文档欢迎页面,您将在此处找到有关如何启用文档示例或使用提供的 API将在线编辑器集成到您的 Web 应用程序中的更多说明。