DzzOffice 办公套件

DzzOffice 是一套开源办公套件,适用于企业、团队搭建自己的类似“ Google 企业应用套件”、“微软 Office365”的企业协同办公平台。

功能介绍

DzzOffice由多款开源办公应用组成,安装DzzOffice框架后,可根据需要从内部的应用市场进行选择和安装。应用能够单独使用,也能与其他多款应用组合使用。
DzzOffice能够结合企业微信、钉钉来进一步扩展移动办公与沟通协同能力,无论身处何地都能轻松协作。
DzzOffice专注通用型办公应用并开源免费发布,您能够放心的使用,或对其进行二次开发,在已有通用功能的基础上,开发或结合企业正在使用的行业/专业系统,来形成完整的行业软件解决方案。
功能介绍

可能会用到的文件目录

路径或说明
Web服务 Apache
默认根目录 /data/wwwroot/dzzoffice
PHP配置 /etc/php.ini
Apache虚拟主机文件目录 /ect/httpd/vhost
Apache虚拟主机文件–根目录对应的文件 /ect/httpd/vhost/vhost.conf
日志文件 /var/log/httpd
MySQL数据目录 /data/mysql
MySQL配置文件 /etc/my.cnf
MySQL管理地址 http://服务器公网IP/phpmyadmin

DzzOffice演示

DzzOffice官网提供了演示环境,您可以直接访问演示地址体验

安装

准备环境

dzzoffice是php的web服务,需要php的环境和php的mysql连接模块,还有一个web服务器如apache或nginx,这里我使用apache。

安装PHP7
  1. 检查当前环境是否已安装php
    1
    rpm -qa | grep php
    如版本不符合、可选择卸载重新安装或者跳过php安装
  2. 执行如下命令安装epel
    1
    yum -y install epel-release
  3. 更换rpm源,请根据自己的centos版本选择相应的rpm源进行安装,因为系统自带的源下载的php太老,是5.3.3版本的。操作系统是centos6.8,这里我们执行:
    1
    rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
  4. 安装php7
    1
    yum install -y php70w
  5. 安装完成,查看版本
    1
    php -v
安装php-mysql,php的mysql连接模块
1
yum install -y php70w-mysql
安装Apache web服务,httpd
1
yum install -y httpd
下载dzzoffice源码启动服务

直接到官方 GitHub仓库 上下载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 下载最新稳定版本
wget https://github.com/zyx0814/dzzoffice/archive/2.02.tar.gz

# 解压文件
tar zxvf 2.02.tar.gz

# 将解压后的文件移动到apache的目录下,并改名为dzzoffice
mv dzzoffice-2.02 /var/www/html/dzzoffice

# 然后将目录权限授权给apache启动用户,默认为apache用户,如果自己修改了,则以你修改的为准
cd /var/www/html/
chown -R apache. dzzoffice

# 启动apache
service httpd start
# 设置开机启动apache
chkconfig httpd on

# 防火墙永久开放80端口,如果防火墙关了就不用执行了
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
安装 MySQL 数据库

这里使用 MySQL 5.7

1
2
3
4
5
6
7
8
9
10
# 安装配置mysql的yum源的rpm包
wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
# 安装
rpm -Uvh mysql57-community-release-el6-9.noarch.rpm
# 安装mysql
yum install -y mysql-community-server
# 开启mysql服务
service mysqld start
# 设置mysql开机启动
chkconfig mysqld on

mysql安装成功后创建的超级用户‘root’@’localhost’的密码会被存储在/var/log/mysqld.log,可以使用如下命令查看密码

1
grep 'temporary password' /var/log/mysqld.log

使用mysql生成的‘root’@’localhost’用户和密码登录数据库,并修改其密码,具体命令

1
2
# 登录
mysql -uroot -p
1
2
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

访问页面进行安装

上一步已启动apache,现在可以直接访问你服务器的ip或域名,后跟dezzoffice的路径来来访问dzzoffice,访问如:http://ip/dzzoffice

  1. 访问成功后自动跳转到安装界面,点击“开始安装”:
    安装界面
  2. 确保环境检查和权限检查通过,“下一步”;
    环境检查
  3. 目录及文件权限检查,“下一步”;
    目录及文件权限检查
  4. 填写数据库信息,默认数据库为 123456,如果修改过请填写修改后的密码;
    填写数据库信息
  5. 输入管理员账户名和密码,点击下一步即可完成安装;
    管理员账户名和密码

安装完成后,手动删除安装文件 index.php 。

1
rm -rf /var/www/html/dzzoffice/install/index.php

文档在线预览

对于大多数开源的网盘软件来说,文档(docx,doc,txt,pdf,xls等)不能在线预览,给网盘软件的使用带来了不变。
参考《office文档编辑预览方案》http://www.dzzoffice.com/corpus/list?cid=3#fid_78

文档预览为什么这么难?

对于网盘软件来说,文档预览并不是软件本身的功能组件,而是第三方服务,文档预览是一个单独的系统,而且是一个复杂的系统,即使看起来它只实现了“预览”这么一个功能。
正如世界上很多事物一样,如果没有去实现,一般是两种原因:太容易实现,不屑去做;太难实现,不能去做。
由于文档都是由在PC端创建的专属软件格式(如:xdoc),要实现Web在线化,必须将其转换成Web能识别的格式(样式),这个过程是非常难的,其中有复杂的算法,也有长时间的计算过程。

安装文档在线浏览编辑工具 —— OnlyOffice Document Server

dzzoffice本身不支持excel或者文档的在线浏览和编辑,需要额外的第三方工具进行支持,在官方文档中也有说明:
office文档编辑预览方案
现在安装 onlyoffice 作为在线文档服务器,部署方式,由于直接在服务器上部署比较繁琐,这里我直接使用 docker 部署 docke 版本。首先安装docker,然后用 docker 启动 onlyoffice 。(服务器没有 2G RAM 以上的用 docker 跑这个大概率能把服务器卡死)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 安装docker
# 1. 协作旧版本,确保机器没有docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 2.安装依赖
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
# 3.安装yum仓库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 4.安装
yum install docker-ce docker-ce-cli containerd.io
# 启动docker
systemctl start docker
systemctl enable docker

sudo docker stop onlyoffice //停止正在运行的文档服务器
sudo dockers rm onlyoffice //删除已存在的 onlyoffice 容器
sudo docker run -i -t -d --restart=always --name=onlyoffice -p 8080:80 onlyoffice/documentserver //在 8080端口运行 onlyoffice 文档服务器容器
sudo docker ps -a //查看 onlyoffice 文档服务器容器的运行状态

启动onlyoffice服务后,在浏览器中访问 http://ip:8000 查看是否可以正常使用。如果出现如下界面,则为正常。
onlyoffice
然后在dzzoffice中进行配置:
管理 -》 应用市场 -》 在应用市场内找到 “onlyoffice” 应用 点击 一键安装
管理 -》 应用市场 -》 已安装 中 点击设置按钮 进入设置页面

这里填写您的文档服务器的地址:如文档服务器地址为 http://onlyoffice.dzzoffice.com, 文档服务器端口为:90
那么 这里的地址应该是:
http://onlyoffice.dzzoffice.com:90/OfficeWeb/apps/api/documents/api.js
点击保存,然后启动应用,然后在文档,excel应用中,就可以直接点击在线浏览和编辑啦。
demo

参考资料

部分内容转载来自:
dzzoffice办公套件
自建企业网盘:镜像部署与使用实战
centos7 部署dzzoffice最新版详细教程