编程技术记录

世界你好!

单台计算机的安装部署过程。

硬件要求(推荐)

一台计算机

  • CPU 2G+,实测1G也可以运行,但仍然建议大点吧
  • RAM 2G+,实测1G也可以运行,但仍然建议大点吧
  • 硬盘可用空间,实测大于5G就可以安装部署,但仍然建议越大越好
  • 独立网卡和高速网络
  • 固定ip地址

需要的软件

  • Ubuntu19.10 server版
  • Docker
  • Apache2
  • php7
  • MySql
  • dzzoffice

安装部署过程

Ubuntu19.10 server

官方的太慢了,用国内镜像吧,我用的是网易镜像站
下载地址:http://mirrors.163.com/ubuntu-releases/19.10/ubuntu-19.10-live-server-amd64.iso

下载完成后,直接安装,安装过程中需要联网,ubuntu安装向导挺人性化的,接近Windows系统安装,很容易很方便。

需要注意的是,ubuntu 安装过程中有一步骤需要输入镜像站地址,因为众所周知的原因,还是输入国内的吧。我输入的是网易的,http://mirrors.163.com/ubuntu

(建议)安装OpenSSH Server

这步骤不是必需的,但会方便远程访问,更方便后续安装过程的复制粘贴。

sudo apt-get install openssh-server

#启动ssh服务
sudo service ssh start 

然后远程登陆主机
我使用VSCode + Remote SSH。之所以远程登陆,是为了方便后面的复制粘贴。
VSCode + Remote SSH大概配置如下:

Host dzz_ubuntu19.10
    HostName ubuntu主机地址(可以是ip地址)
    User 用户名
    # Port 22 默认是22

上面配置是使用用户名和密码的方式访问,也可以使用私钥文件方式访问,本文不讨论。

安装Docker

安装过程,参考https://www.runoob.com/docker/ubuntu-docker-install.html

如果有旧版本,先卸载旧版本

$ sudo apt-get remove docker docker-engine docker.io containerd runc

更新索引

$ sudo apt-get update

安装 apt 依赖包,用于通过HTTPS来获取仓库:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

添加 Docker 的官方 GPG 密钥:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥。

$ sudo apt-key fingerprint 0EBFCD88

pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

使用以下指令设置稳定版仓库

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"

安装最新版本的 Docker Engine-Community 和 containerd (到这里才开始安装docker)

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

用Docker安装Onlyoffce document server

输入命令

sudo docker pull onlyoffice/documentserver

等待吧,如果网速不快也许就半个小时。

安装后,启动documentserver,并将宿主9000端口映射到docker的80端口

sudo docker run -i -t -d -p 9000:80 onlyoffice/documentserver

用浏览器打开http://主机ip地址:9000,应能看到

安装Apache2

sudo apt-get install apache2

用浏览器打开http://主机ip地址,应能看到

安装MySql

sudo apt-get install mysql-server  mysql-client

(建议)mysql安全检查

sudo mysql_secure_installation

创建一个mysql用户

sudo mysql -u root -p

# 创建用户, 需要记录下用户名和密码
CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';

#创建数据库
mysql> CREATE DATABASE dzzoffice;
Query OK, 1 row affected (0.00 sec)

#授权 
mysql> GRANT ALL PRIVILEGES ON  dzzoffice.* TO '用户名'@'localhost';
Query OK, 0 rows affected (0.00 sec)

#提交
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec) 

#如果按照dzzoffice时遇到错误The server requested authentication method unknown to the client
#mysql8之后需要执行。变更验证方式
mysql> ALTER USER '用户名'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
#退出
mysql> EXIT
Bye

安装php7

dzzoffice使用php开发,需要php5.4以上的环境。ubuntu19.10 安装php默认安装php7.3

sudo apt-get install php

安装其他php组件

例如 php-xml,php-mysql

sudo apt-get install php-xml

具体需要安装那些,在dzzoffice安装过程中会有提示。
一般需要安装

  • php-xml
  • php-zip
  • php-mysql
  • php-gd
  • php-curl

安装apache php mod

apache用来解释php脚本的模块

sudo apt-get install libapache2-mod-php

安装dzzoffice

官方下载地址:
gitee https://gitee.com/zyx0814/dzzoffice/releases
github https://github.com/zyx0814/dzzoffice/releases/
国内用gitee会快些。

如果是VSCode+RemoteSSH登陆,那么可以先下载然后把包直接拖到ubuntu主机上。
如果是主机上下载,可以使用wget命令。

下载后的压缩包,解压到/var/www/html/目录下,这个目录是apache网站的默认根目录。

然后浏览器打开http://localhost/dzzoffice/install,完成dzzoffice的安装。安装过程也挺简单的,全程中文。

安装过程中,可能会需要php的某些组件,把组件装上,重启apache2就好,例如

sudo apt-get install php-xml
sudo systemctl restart apahce2

如果要求某些目录的权限,按照提示给予0777权限,例如

sudo chmod -R 0777 /var/www/html/dzzoffice/config/

如果按照dzzoffice时遇到错误The server requested authentication method unknown to the client,那是因为mysql8验证方式变了,需要手动变更验证方式。

onlyoffice 和 dzzoffice集成

这是本文的重点。
admin账号进入dzzoffice的管理台,进入应用市场,安装文档、表格、演示文稿、首页、onlyoffice插件

在linux系统上,应用安装还需要/var/www/html/dzzoffice/dzz的目录写权限,直接给予0777就好

然后,进入onlyoffice插件的设置界面

需要设置

  • OnlyOffice Document Server API地址,就填写docker启动的那个onlyoffice地址,本文为http://本机ip地址:9000/
  • dzzoffice服务地址,也就是Xampp的Appache运行的dzzoffice服务地址,需要注意不能填写localhost,127.0.0.1地址,要使用dns分配给本机的地址, http://本机ip地址/dzzoffice/

到这里,你就可以在本机上使用dzzoffice新建编辑在线文档了。
好了,尝试用其他计算机访问试试。

© Beli. All Rights Reserved.