技术文章

当前位置:首页>帮助手册>技术文章

为 CentOS 安装 ONLYOFFICE Docs Developer Edition以及在O2OA平台上集成OnlyOffice

时间:2022-03-29   


本文叙述的内容如下:


1.介绍

2.安装前系统准备
3.在CentOS上安装Docker
4.安装 onlyoffice document

5.验证是否成功

6.启动o2oa服务器

7.应用市场安装onlyOffice协作应用以及控件

8.连接并配置

9.流程中嵌入onlyOffice

介绍

Developer Edition允许您在本地服务器上安装ONLYOFFICE Docs并将在线编辑器与您的 Web 应用程序集成。

ONLYOFFICE Docs是一个在线办公套件,包括文本、电子表格和演示文稿的查看器和编辑器,完全兼容 Office Open XML 格式:.docx、.xlsx、.pptx,并支持实时协作编辑。

功能性

本指南将向您展示如何将ONLYOFFICE Docs Developer Edition Linux 版本安装到您的机器上。

系统要求


在 CentOS 上安装 Docker 引擎

地址:https://docs.docker.com/engine/install/centos/

安装方法

使用存储库安装

在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。

设置存储库

安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定的存储库。

$ sudo yum install -y yum-utils

执行命令时,如果使用root登录,那么可以去掉sudo命令。

image.png

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

image.png

这些存储库包含在docker.repo上面的文件中,但默认情况下是禁用的。

您可以在稳定存储库旁边启用它们。以下命令启用存储库。

$ sudo yum-config-manager --enable docker-ce-nightly

要启用测试通道,请运行以下命令:

$ sudo yum-config-manager --enable docker-ce-test

您可以通过运行 带有标志的命令来禁用nightlytest存储库。

要重新启用它,请使用该标志。

以下命令禁用夜间存储库。

$ sudo yum-config-manager --disable docker-ce-nightly

image.png


安装 Docker 引擎

1.安装最新版本的 Docker Engine 和 containerd,或者进入下一步安装特定版本:

$ sudo yum install docker-ce docker-ce-cli containerd.io

image.png

如果提示接受 GPG 密钥,请验证指纹是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,则接受它。

image.png

2.要安装特定版本的 Docker Engine,请在 repo 中列出可用版本,然后选择并安装:

一个。列出并排序您的存储库中可用的版本。此示例按版本号从最高到最低对结果进行排序,并被截断:

[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror, langpacks
已安装的软件包
可安装的软件包
* updates: mirrors.aliyun.com
Loading mirror speeds from cached hostfile
* extras: mirrors.aliyun.com
docker-ce.x86_64         3:20.10.9-3.el7                       docker-ce-test
docker-ce.x86_64         3:20.10.9-3.el7                       docker-ce-stable
docker-ce.x86_64         3:20.10.8-3.el7                       docker-ce-test
docker-ce.x86_64         3:20.10.8-3.el7                       docker-ce-stable
docker-ce.x86_64         3:20.10.7-3.el7                       docker-ce-test
docker-ce.x86_64         3:20.10.7-3.el7                       docker-ce-stable
docker-ce.x86_64         3:20.10.6-3.el7                       docker-ce-test
docker-ce.x86_64         3:20.10.6-3.el7                       docker-ce-stable
docker-ce.x86_64         3:20.10.5-3.el7                       docker-ce-test
docker-ce.x86_64         3:20.10.5-3.el7                       docker-ce-stable
docker-ce.x86_64         3:20.10.4-3.el7                       docker-ce-test
docker-ce.x86_64         3:20.10.4-3.el7                       docker-ce-stable
docker-ce.x86_64         3:20.10.3-3.el7                       docker-ce-test
docker-ce.x86_64         3:20.10.3-3.el7                       docker-ce-stable
docker-ce.x86_64         3:20.10.2-3.el7                       docker-ce-test

返回的列表取决于启用了哪些存储库,并且特定于您的 CentOS 版本(.el7在本例中由后缀表示)。

通过其完全限定的包名称安装特定版本,即包名称 ( docker-ce) 加上版本字符串(第 2 列),从第一个冒号 ( :) 开始,一直到第一个连字符,用连字符 ( -) 分隔。例如,docker-ce-20.10.9

$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
$ sudo yum install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io

image.png

3.启动 Docker。

$ sudo systemctl start docker


为 CentOS 和衍生产品安装 ONLYOFFICE Docs 社区版

https://helpcenter.onlyoffice.com/installation/docs-community-install-centos.aspx

安装依赖项

安装最新的 NGINX 包版本

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

vi /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

image.png

保存文件。


官方说明

安装NGINX

sudo yum install nginx

image.png


安装完成之后编辑NGINX配置文件/etc/nginx/nginx.conf

vi /etc/nginx/nginx.conf

使其看起来如下所示:

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

image.png
安装和配置 PostgreSQL

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

sudo yum install postgresql postgresql-server

image.png

如果您想从 PostgreSQL 存储库安装其他PostgreSQL版本,请参阅官方 PostgreSQL 文档以获取更多详细信息。

初始化 PostgreSQL 数据库

sudo service postgresql initdb sudo chkconfig postgresql on

image.png

打开IPv4 和 IPv6 localhost的“信任”身份验证方法

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

vi /var/lib/pgsql/data/pg_hba.conf

image.png

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

host    all             all             127.0.0.1/32            trust

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

host    all             all             ::1/128                 trust

image.png

保存更改。


重启 PostgreSQL 服务

sudo service postgresql restart

创建 PostgreSQL 数据库和用户

您可以指定任何用户名和密码。首先运行命令:

cd /tmp

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

sudo -u postgres psql -c "CREATE DATABASE onlyoffice;"
sudo -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
sudo -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"

image.png
安装 Redis

sudo yum install redis

image.png

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

sudo service redis start 
sudo systemctl enable redis

image.png
安装 RabbitMQ

sudo yum install rabbitmq-server

image.png

在 CentOS 8 上安装 RabbitMQ,请参考官方说明

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

sudo service rabbitmq-server start 
sudo systemctl enable rabbitmq-server

image.png
安装 mscorefonts

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

sudo yum install cabextract xorg-x11-font-utils

image.png

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

sudo yum install fontconfig

image.png

安装 msttcore 字体包:

sudo rpm -i https://deac-ams.dl.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

image.png

安装 msttcore 字体包需要一些时间,请耐心等待。

image.png

安装 ONLYOFFICE 文档

添加 ONLYOFFICE 文档存储库

使用以下命令添加 yum ONLYOFFICE Docs存储库:

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

image.png
安装 ONLYOFFICE 文档

onlyoffice-documentserver-de  是指 ONLYOFFICE Docs Developer Edition,也可以查看相应的版本安装企业版或者社区版

执行以下命令:

sudo yum install onlyoffice-documentserver-de

image.png

下载安装文件可能需要一些时间:

image.png

运行相关服务并在启动时启用它们的启动:

sudo service supervisord start 
sudo systemctl enable supervisord 
sudo service nginx start 
sudo systemctl enable nginx

image.png

之后,ONLYOFFICE Docs将作为一个进程运行。

该软件包将像任何其他 rpm 软件包一样进行更新。

更改默认 ONLYOFFICE 文档端口(80端口 无需修改)

默认情况下, ONLYOFFICE Docs使用端口80侦听传入连接。从版本4.3开始,如果您打算使用ONLYOFFICE Docs的端口而不是默认端口,则可以更改它。

如果要更改默认端口,请确保它对传入/传出连接打开。请参阅ONLYOFFICE Docs使用的端口的完整列表

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

export DS_PORT = 80

请写端口号,而不是<PORT_NUMBER>上面命令中的,我们这里一般默认80端口

配置 ONLYOFFICE 文档

运行配置脚本

运行documentserver-configure.sh脚本:

bash documentserver-configure.sh

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

对于PostgreSQL

对于Redis

对于RabbitMQ

image.png
添加防火墙例外(或者停止防火墙)

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

在浏览器中启动 ONLYOFFICE Docs

配置完成后,您可以在浏览器地址栏中输入:

http://localhost

以打开ONLYOFFICE Docs欢迎页面,您将在其中找到有关如何使用提供的 API启用文档示例或将在线编辑器集成到 Web 应用程序中的进一步说明.

image.png

在欢迎页最后,有启动示例程序和设置自动启动的命令:

sudo supervisorctl start ds:example
sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisord.d/ds-example.ini

image.png


设置服务器域名:

通知网络管理员,nginx配置 hosts 对应ip地址 和域名,这里我们设置成:ip  -->only.o2oa.net

安装成功后输入地址进行验证:

打开地址:http://only.o2oa.net/welcome/


启动O2OA服务器

特别注意点:要设置host 配置域名,需要同域。 例如当前:

onlyoffice.o2oa.net 是 onlyoffice 服务器域名

yangli.o2oa.net 是 o2oa服务器域名

连接O2云

 之前我们已经以管理员账号登录到了系统,此时点击左上角主菜单——打开系统设置——进入云服务配置,会看到如下界面:



  第一个绿色的对勾,表示服务器在网络上可以连接到O2OA的云服务器;第二红叉表示,我们尚未登录到O2OA云服务器。

  如果您以前创建过O2云账号,在此处可以选择“登录到O2云”,现在我们是一台新的服务器,所以点击“注册O2云账号”来创建新的账号。



填写所有的信息后,点击“注册O2云账号”,在信息填写无误的情况下,系统就会自动以此账号登录到O2云服务了。


  在此我们说明一下O2云服务,它提供了应用市场,登录了O2云服务后,服务器会自动更新云服务器上的应用市场的目录列表,本地服务器才能及时获取到应用以及应用的更新。

  如果说,您的服务器部署在内网,而且由于安全性要求,不允许连接到外部网络,在这种情况下,我们可以在允许访问外网的机器上,运行一台临时的O2OA服务器,连接到O2云后访问应用市场,安装需要的应用,并将其导出为.xapp文件。然后访问内网的服务器,通过应用中心的导入应用的功能,将本地的.xapp文件,导入到服务器即可。(这部分内容将在系统部署课程中详细介绍)

  O2云登录成功后,系统会自动同步应用市场,这可能需要几分钟时间,同步完成后,就可以访问应用市场了。

在O2OA平台中接入入onlyoffice在线协作

接下来,我们开始使用这个onlyOffice在线协作的应用。如果onlyoffice在线协作应用还没有安装,是需要去应用市场安装的。打开应用市场:

从应用市场中安装应用

  点击需要安装的应用之后,需要查看安装说明,需要进入到数据中心平台,去编译所有数据表(数据中心平台--office在线协作数据--数据表--document表--编译所有数据表),然后重启。


  安装好以后,就可以打开指定的链接使用了:http://{youip}/x_desktop/document.html?app=CloudDocument


Onlyoffice在线协作功能介绍

创建一个word文档


把文档分享给其他人员



查看只读用户。

用户权限查看


流程中嵌入onlyOffice控件

我们要讲的是用onlyoffice控件作为正文编辑器。

创建一个公文应用

通过公文模版去创建表单,输入表单的名称:公文-编辑

在正文部分,拖一个onlyOffice控件,现在是可以直接使用的。

应用市场下载onlyOffice控件下载

打开系统菜单,找到应用市场,

注意点:重启服务器,正常启动

要配置only Office的控件和服务器的连接。

去配置的onlyOffice的服务器地址:浏览器打开地址: 把红框中的office.o2oa.net改成对应的onlyOffice服务器名字。

http://yangli.o2oa.net/o2_lib/onlyoffice/config.html


截图部分对应修改为安装的onlyoffice服务器相关地址,我们这边就配置成我们已经搭建好的onlyoffice服务器: only.o2oa.net(以自己的服务器域名为主,域名需要与O2OA服务器同域)。

补充说明了以后,我们再回到表单编辑器。

保存编辑表单,接下来创建阅读表单,编辑表单和阅读表单用在不同的处理环节上的。

阅读表单里把正文部分替换掉,换成onlyOffice的控件。


表单名称保存称:公文-阅读


表单设计好了以后,去设计流程,先确定环节的名称和流程的名称,并且关联上设计好的表单,拟稿,核稿,套红都是用编辑表单,可以对正文进行编辑的,确认环节使用阅读表单,对正文只能看不能改。配置处理人员,核稿和套红,分别选对应的处理人,保存流程设计。

如果对文字内容进行批注,再回到编辑表单来配置,开启评论功能。


至此,我们就完成了:为 CentOS 安装 ONLYOFFICE Docs Developer Edition以及在O2OA平台上接入OnlyOffice的工作。


上一篇:系统配置-平台数据库配置信息样例

下一篇:cpu64核以上服务器启动报错的问题解决办法