Bootstrap

RedHat8 安装部署DzzOffice协同办公平台+onlyoffice(docker)以及问题解决(亲测可用,花费2天)

一、基础配置(Mysql+Dzzoffice)

1:安装软件需要的环境,我们用LAMP的环境。基本上CentOS8自带的软件版本都达到安装DzzOffice的要求。

2:关闭防火墙(不关的话需要开放80端口自行决定)。

systemctl disable --now firewalld

3:临时关闭SELINUX。

 setenforce 0

永久关闭SELINUX,重启生效。

sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config

4:安装Apache。

yum install -y httpd

5:安装PHP。自带的版本是7.2。

yum install -y php

6 :安装PHP的扩展。

yum install -y php-mysqlnd.x86_64 php-zip php-xml php-xmlrpc


7:安装数据库。

yum install -y mysql

8:启动服务,并加入到开机自启。

systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb

9:配置数据库。记住用户名和密码,后期用的到。(不过多说明不会的可用看我之前的文档)

10:下载DzzOffice软件。如果下载很慢可以在其他地方找资源下载后在传到服务器。

https://github.com/zyx0814/dzzoffice/releases/

11: 把软件解压缩到/var/www/html目录下,产生一个dzzoffice-2.02.1的文件夹。

tar -xf dzzoffice-2.02.1.tar.gz 
mv dzzoffice-2.02.1 /var/www/html/dzzoffice

12:对这个文件夹进行赋权。

chown -R apache.apache /var/www/html/dzzoffice

13:浏览中用http://ip/dzzoffice的方式打开DzzOffice的配置界面开始安装。


14:都符合条件,下一步。

15:目录和文件也通过检查。这个地方如果当前状态是X不可写,是没有关闭SELINUX的原因。
 

16: 输入配置的数据库信息,组织简称根据自己的实际填写,下一步。
 

17:提示有又重复的数据库表,可以按照提示更改数据库表,我这里选择强制安装。
 

18: 安装成功,下一步设置管理员。

19:设置管理员的密码。

20:安装成功。提示删除一个文件,如果是测试环境可以不用删除,生产环境要删除或者改名字也可以。文件在/var/www/html/dzzoffice-2.02.1/inistall/index.php

21:输入用户名和密码进入系统。

22: 提示安装成功,可以在应用市场安装软件,在系统设置中进行配置。

二、插件安装(重点onlyoffice)

1.dzzoffice如果你不安装插件就相当于什么也干不了,必须安装网盘和office插件他的功能才会强大这里在线安装插件不过多描述,直接在(管理—>应用市场)中安装启用就好了

2.安装

进入dzzoffice官网应用市场DzzOffice下载所需要的插件这里以文集为例

说明:

DzzOffice 中的应用分两种,普通应用和管理员应用。两种

应用的目录不同。我们需要先来区分应用应该放在哪个目

录里。

应用目录位置介绍:

 普通应用:dzz/

 管理员应用:admin/以文集为例,先看一下文集应该放在哪个目录下。

打开加压好的 corpus 目录

打开 dzz_app_corpus.xml 文件,查看应用的位置信息

找到 app_path:dzz 和 identifier: corpus;那么这个文集应

用是属于普通应用,位置应该是网站根目录/dzz/corpus/

如果是 app_path:admin,则应用目录应该是网站根目录

/admin/下面

3.将下载的文件复制到 dzz/corpus/目录下,如下

4.文件已经准备就绪,接下来进入 管理 -> 应用市场 -> 已安装 点击右下角 + (蓝色加号)

选择文件

选择 xml 文件 dzz/corpus/dzz_app_corpus.xml 提交

5.在应用市场,已安装应用中启用文集应用

6.启用后便完成了应用安装

三、安装only office组件

1.安装插件(很简单和第二部分一样,都是直接安装启用就好了,重点是他需要搭建onlyoffice服务端),这里直接描述使用docker搭建onlyoffice服务端以及启用onlyoffice插件设置(这里不同的人会有不同的报错,查略了很多资料,网上的说法也是五花八门连什么防火墙问题都出来了,我在第四部分说明目前已解决尽量按照我的搭建的步骤来)

2.docker安装onlyoffice

这里不描述如何安装docker,直接配置yum源yum install 就好

docker run -itd -p 90:80 --restart=always -e JWT_ENABLED=false  --name=onlyoffice onlyoffice/documentserver

由于dzzoffice是本地搭建,这里就不需要将目录挂载出来了

3.编辑docker中/etc/onlyoffice/documentserver/default.json?下的内容(说明:onlyoffice没有vi编辑器需要你吧文件docker cp出来修改再传进去)

 docker cp onlyoffice:/etc/onlyoffice/documentserver/default.json ./
搜索并修改以下字段为true 
"request-filtering-agent" : {
        "allowPrivateIPAddress": true,
        "allowMetaIPAddress": true
},
docker cp default.json onlyoffice:/etc/onlyoffice/documentserver/default.json

4.重启onlyoffice服务

docker restart onlyoffice

5.确认onlyoffice可用正常打开

6.插件启用和配置

7.按照你实际的地址填写(下图已经可用协同办公且都wps三件套能正常访问)已成功!!!

四、坑坑坑(遇到的坑)

1.文档安全令牌未能正确形成(下面用一个图片说明吧)

解决方案:

2.这份文件无法保存。请检查连接设置或联系你的管理员。当你点击ok按钮,系统将提示你下载文档。

解决方案:

这里你要精确到dzzoffice这个文件夹,因为这个才是你的apache路径,你并没有放到apache根路径

3.打开文档后提示下载失败(也就是之前让其修改的)

解决方案:

查看OnlyOffice Converter的日志文件(docker中对应位置/var/log/onlyoffice/logs/documentserver/converter/out.log

如果发现日志文件中存在

Error: DNS lookup xxx.xxx.xxx.xx(family:undefined, host:undefined) is not allowed. Because, It is private IP address.

那么需要编辑配置文件允许私有ip通过:

编辑docker中/etc/onlyoffice/documentserver/default.json下的内容

搜索并修改以下字段为true

"request-filtering-agent" : {
        "allowPrivateIPAddress": true,
        "allowMetaIPAddress": true
},

更改后,需要重启容器;

其他(未测试)

在运行docker容器时,我也使用了以下启动选项

docker run -itd -p 90:80 --restart=always -e JWT_ENABLED=false -e JWT_ENABLED=false -e USE_UNAUTHORIZED_STORAGE=true -e ONLYOFFICE_HTTPS_HSTS_ENABLED=false --name=onlyoffice onlyoffice/documentserver

离线安装包以及依赖(有需要的可用联系留言私法)

五、特别感谢:

CentOS8安装部署DzzOffice协同办公平台_dzzoffice部署_yleihj的博客-CSDN博客

OnlyOffice 打开文档时提示下载失败_onlyoffice下载失败-CSDN博客

;