Ubuntu20.04下部署Dzzoffice+Onlyoffice

一、docker环境安装

1.1 获取docker的GPG密钥

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

1.2 设置稳定存储库

sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  stable"

1.3 安装docker

#查询docker-ce版本
sudo apt-cache policy docker-ce
#默认安装最新版本
sudo apt-get install docker-ce docker-ce-cli  -y
#指定版本安装
sudo apt-get install docker-ce=5:19.03.12~3-0~ubuntu-focal docker-ce-cli=5:19.03.12~3-0~ubuntu-focal -y

1.4 启动docker

#启动Docker服务
sudo systemctl start docker
#设置Docker服务开机自启
sudo systemctl enable docker
#查看安装版本
docker -v

1.5 拉取onlyoffice镜像

docker pull onlyoffice/documentserver:7.1
#或本地导入镜像,
百度云盘地址:https://pan.baidu.com/s/1s9CNS-kLlolTlqO2agGXyg?pwd=ga1f 提取码:ga1f
#导入本地镜像
sudo docker load -i onlyoffice-7.1.tar
#查看导入内容
sudo docker images 
#出现一下内容则导入成功
REPOSITORY                   TAG   ID            CREATED             SIZE
onlyoffice/documentserver    7.1   5a50e3a2d2ed  17 months ago       2.93GB

注:onlyoffice使用高版本时,提示“文档安全令牌未正确形成请与您的文件服务器管理员联系”,sh经查验网友资料,有大佬二开dzzoffice获取令牌,但基于docker部署的onlyoffice重启或令牌会更新,因此使用低版本的onlyoffice则不会出现。

1.6 启动onlyoffice

sudo docker run -itd -p 9797:443 -p 9696:80 --privileged=true  --restart=always --name onlyoffice -v /home/onlyoffice/documentServer/logs:/var/log/onlyoffice -v /home/onlyoffice/documentServer/data:/var/www/onlyoffice/Data -v /home/onlyoffice/documentServer/lib:/var/lib/onlyoffice -v /home/onlyoffice/documentServer/db:/var/lib/postgresql onlyoffice/documentserver:7.1

说明:

  • -p 9797:443: 将容器的443端口映射到宿主机的9797端口,按需修改;
  • -p 9696:80: 将容器的80端口映射到宿主机的9696端口,按需修改;
  • --restart=always: 指Docker容器宕机后自动重启。
  • --name onlyoffice: 为容器指定了一个名称,即 onlyoffice
  • -v /home/onlyoffice/documentServer/logs:/var/log/onlyoffice: 这将宿主机的 /home/onlyoffice/documentServer/logs 目录映射到容器内的 /var/log/onlyoffice 目录,用于存储日志文件,按需修改;
  • -v /home/onlyoffice/documentServer/data:/var/www/onlyoffice/Data: 这将宿主机的 /home/onlyoffice/documentServer/data 目录映射到容器内的 /var/www/onlyoffice/Data 目录,用于存储OnlyOffice Document Server的数据,按需修改;
  • -v /home/onlyoffice/documentServer/lib:/var/lib/onlyoffice: 这将宿主机的 /home/onlyoffice/documentServer/lib 目录映射到容器内的 /var/lib/onlyoffice 目录,用于存储OnlyOffice Document Server的库文件,按需修改;
  • -v /home/onlyoffice/documentServer/db:/var/lib/postgresql: 这将宿主机的 /home/onlyoffice/documentServer/db 目录映射到容器内的 /var/lib/postgresql 目录,用于存储PostgreSQL数据库数据,按需修改。

1.7 配置onlyoffice

sudo docker exec cfcfad533340 sudo supervisorctl start ds:example
sudo docker exec cfcfad533340 sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf

二、下载Dzzoffice

2.1 下载dzzoffice包

cd /var/www/
sudo git clone https://github.com/zyx0814/dzzoffice/archive/refs/tags/2.02.tar.gz
suo tar -zxvf dzzoffice-2.02.1.tar.gz  
sudo mv dzzoffice_last dzzoffice

2.2 设置文件和目录权限

sudo chown -R root:root /var/www/dzzoffice
或
chmod -R  777 dzzoffice/

注:dzzoffice安装检验时可能会出现问题!

三、安装php+nginx组件和服务

3.1 安装php组件

sudo apt update
sudo apt install nginx mysql-server php7.4 php7.4-fpm php7.4-mysql php7.4-curl php7.4-json php7.4-xml php7.4-gd php7.4-mbstring php7.4-zip

3.2 安装nginx服务sh

sudo apt-get install nginx

3.3 修改配置文件

(1)创建一个Nginx站点配置文件,以便将流量路由到dzzoffice的安装目录

sudo nano /etc/nginx/sites-available/dzzoffice

(2)添加配置文件

server {
    listen 80;
    #访问时的地址
    server_name 192.168.230.190;
    #指定Dzzoffice路径
    root /var/www/dzzoffice;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }
}

(3)创建链接

sudo ln -s /etc/nginx/sites-available/dzzoffice /etc/nginx/sites-enabled/

3.3重启nginx

#检查配置
sudo nginx -t
#重启nginx
sudo service restart nginx
#启动nginx
sudo service nginx status

四、安装mysql

4.1 启动并这是mysql

#启动mysql
sudo systemctl start mysql
#配置mysql
sudo mysql_secure_installation

说明:配置mysq自行百度按需配置!

4.2 创建数据库和用户geidzzoffice使用

#进入myslq
sudo mysql -u root -p
#创建dzzoffice的数据库
CREATE DATABASE dzzoffice;
#设置用户、密码
CREATE USER 'dzzoffice'@'localhost' IDENTIFIED BY 'Test@12345678';
#设置权限
GRANT ALL PRIVILEGES ON dzzoffice.* TO 'dzzoffice'@'localhost';
#重新加载用户权限和角色
FLUSH PRIVILEGES;

五、配置onlyoffice

5.1 安装应用

docker版onlyoffice首页如何变成中文_nginx

5.2 启动/配置onlyoffice

5.2.1启用如下应用

docker版onlyoffice首页如何变成中文_nginx_02

5.2.1 设置并启用onlyoffice

docker版onlyoffice首页如何变成中文_docker_03

5.3 体验在线编辑

注:分离部署时注意防火墙对端口的开放,例:单独测试onlyoffice正常编辑文档,通过Dzzoffice调用时出现一直加载中则需要开放端口!

docker版onlyoffice首页如何变成中文_ubuntu_04


docker版onlyoffice首页如何变成中文_docker_05