一、基础配置(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
离线安装包以及依赖(有需要的可用联系留言私法)