在网上找了好多文章,都没有搭建出来,就页面一直卡在那里加载,实际是因为少了东西,本文详细写出了搭建过程。在docker中实现

社区版默认搭建出来后只能实现电脑页面的多人编辑,手机不行,除非手机浏览器打开电脑模式才可

系统要求

中央处理器 双核2 GHz或更好
内存 2 GB或更多
硬盘 至少40 GB的可用空间
其他要求 至少4 GB的交换空间
操作系统 内核版本为3.10或更高版本的amd64 Linux 发行版

其他要求

Docker:1.10或更高版本

安装Docker

本次安装的docker版本为Docker version 20.10.8,安装过程略

启动容器的准备工作

虽然说docker -v 映射的时候没有会自己创建,但权限可能不一致,本次采用先创建目录

对于 MySQL 服务器

mkdir -p "/app/onlyoffice/mysql/conf.d";
mkdir -p "/app/onlyoffice/mysql/data";
mkdir -p "/app/onlyoffice/mysql/initdb";
mkdir -p "/app/onlyoffice/mysql/logs";
chown 999:999 /app/onlyoffice/mysql/logs;

对于ONLYOFFICE 社区服务器数据和日志
mkdir -p "/app/onlyoffice/CommunityServer/data";
mkdir -p "/app/onlyoffice/CommunityServer/logs";
mkdir -p "/app/onlyoffice/CommunityServer/letsencrypt";

用于ONLYOFFICE 控制面板数据和日志
mkdir -p "/app/onlyoffice/ControlPanel/data";
mkdir -p "/app/onlyoffice/ControlPanel/logs";

对于ONLYOFFICE Docs数据和日志
mkdir -p "/app/onlyoffice/DocumentServer/data";
mkdir -p "/app/onlyoffice/DocumentServer/logs";

然后创建onlyoffice网络docker network create --driver bridge --subnet=192.168.100.0/24 --gateway=192.168.100.254 onlyoffice 

安装 MySQL

之后,您需要创建 MySQL 服务器 Docker 容器。创建配置文件:

echo "[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048
log-error = /var/log/mysql/error.log" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf

chmod 0644 /app/onlyoffice/mysql/conf.d/onlyoffice.cnf

创建将生成用户并向他们授予权限的 SQL 脚本。在onlyoffice_user需要ONLYOFFICE社区服务器,它会被安装:

echo "CREATE USER 'onlyoffice'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON * . * TO 'onlyoffice'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql

请注意,上述脚本将设置从任何域 ( %)访问 SQL 服务器的权限。如果您想限制访问,您可以指定可以访问 SQL 服务器的主机。
现在您可以创建 MySQL 容器,将 MySQL 版本设置为 5.7:

docker run --net onlyoffice --ip 192.168.100.10 -i -t -d --restart=always --name onlyoffice-mysql-server -p 3306:3306 \
 -v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \
 -v /app/onlyoffice/mysql/data:/var/lib/mysql \
 -v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \
 -v /app/onlyoffice/mysql/logs:/var/log/mysql \
 -e MYSQL_ROOT_PASSWORD=123456 \
 -e MYSQL_DATABASE=onlyoffice \
 mysql:5.7

安装 ONLYOFFICE Docs

docker run --net onlyoffice  --ip 192.168.100.20 -itd --restart=always --name onlyoffice-document-server -p 8080:80 \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql \
    onlyoffice/documentserver

安装 ONLYOFFICE 控制面板

使用此命令安装ONLYOFFICE 控制面板:

docker run --net onlyoffice --ip 192.168.100.40 -i -t -d --restart=always --name onlyoffice-control-panel \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /app/onlyoffice/CommunityServer/data:/app/onlyoffice/CommunityServer/data \
-v /app/onlyoffice/ControlPanel/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/ControlPanel/logs:/var/log/onlyoffice \
onlyoffice/controlpanel

安装 ONLYOFFICE 社区服务器

最后,可以安装ONLYOFFICE社区服务器:

注意:CONTROL_PANEL_PORT_80_TCP=xx #用来指定端口
CONTROL_PANEL_PORT_80_TCP_ADDR=xx.xx.xx.xx #用来指定地址,此地址跟控制面板的地址没有关系

docker run --net onlyoffice -i -t -d --privileged --restart=always --name onlyoffice-community -p 80:80 -p 443:443 -p 5222:5222 \
 -e MYSQL_SERVER_ROOT_PASSWORD=123456 \
 -e MYSQL_SERVER_DB_NAME=onlyoffice \
 -e MYSQL_SERVER_HOST=192.168.100.10 \
 -e MYSQL_SERVER_USER=onlyoffice \
 -e MYSQL_SERVER_PASS=123456 \
 -e DOCUMENT_SERVER_PORT_80_TCP_ADDR=192.168.100.20 \
 -e CONTROL_PANEL_PORT_80_TCP=80 \
 -e CONTROL_PANEL_PORT_80_TCP_ADDR=192.168.100.30 \
 -v /app/onlyoffice1/CommunityServer/letsencrypt:/etc/letsencrypt \
 -v /sys/fs/cgroup:/sys/fs/cgroup \
 -v /app/onlyoffice1/CommunityServer/data:/var/www/onlyoffice/Data \
 -v /app/onlyoffice1/CommunityServer/logs:/var/log/onlyoffice \
 -v /app/onlyoffice1/DocumentServer/data:/var/www/onlyoffice/DocumentServerData \
 onlyoffice/communityserver

成功后页面最后是这样的

在这里插入图片描述
输入之后就注册成功了就会跳到如下的页面
在这里插入图片描述
用户名为刚刚在第一个图片输入的邮箱地址,密码为刚刚设置的密码,登入后入下图所示

在这里插入图片描述
在实现在线编辑的前,先在设置中修改一下第一个文件地址为文件编辑器映射到宿主机的地址,最后一个地址不要改,不然文件无法编辑!!!
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐