在 CentOS 及其衍生版本上安装 ONLYOFFICE 文档
介绍
社区版允许您在本地服务器上安装ONLYOFFICE 文档,并将在线编辑器与 ONLYOFFICE 协作平台或其他流行系统集成。
ONLYOFFICE 文档是一套在线办公软件,包含文本、电子表格和演示文稿的查看器和编辑器,完全兼容 Office Open XML 格式:.docx、.xlsx、.pptx,并支持实时协作编辑。
功能
- 文档编辑器
- 电子表格编辑器
- 演示文稿编辑器
- 移动网页查看器
- 协作编辑
- 支持象形文字
- 支持所有流行格式:DOC、DOCX、TXT、ODT、RTF、ODP、EPUB、ODS、XLS、XLSX、CSV、PPTX、HTML
查看 ONLYOFFICE 文档 社区版的详细功能列表。
在 ONLYOFFICE Workspace 中使用时,您将能够:
- 共享文件;
- 管理文档的访问权限;
- 将文档嵌入到网站中;
- 查看和编辑存储在与 ONLYOFFICE 连接的 Drive、Box、Dropbox、OneDrive、ownCloud 上的文件。
本指南将向您展示如何在您的机器上安装 ONLYOFFICE 文档社区版的 Linux 版本。
系统要求
- CPU:双核 2 GHz 或更高
- 内存:至少 2 GB,但取决于主机操作系统。更多更好
- 硬盘:至少 40 GB 的可用空间
- 交换分区:至少 4 GB,但取决于主机操作系统。更多更好
- 操作系统:CentOS Stream 9,RHEL 8,或 RHEL 9
- 其他要求:
- PostgreSQL:版本 12.9 或更高
- NGINX:版本 1.3.13 或更高
- 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-server
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;"安装 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
启动 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 和 RabbitMQ 连接参数。使用以下数据:
对于 PostgreSQL:
- 主机:localhost
- 数据库:onlyoffice
- 用户:onlyoffice
- 密码:onlyoffice
对于 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 脚本时会在 local.json 中生成新的 WOPI 密钥。如果您使用 WOPI 连接,则需要在更新 ONLYOFFICE 文档后运行该脚本:
documentserver-configure.sh --wopienabled true在浏览器中启动 ONLYOFFICE 文档
配置完成后,您可以在浏览器地址栏中输入http://localhost以打开 ONLYOFFICE 文档欢迎页面,在那里您将找到有关如何启用文档示例或使用提供的 API将在线编辑器集成到您的 Web 应用程序中的进一步说明。
要将 ONLYOFFICE 文档连接到 ONLYOFFICE Workspace,请参阅此说明。