赞
踩
在网上找了好多文章,都没有搭建出来,就页面一直卡在那里加载,实际是因为少了东西,本文详细写出了搭建过程。在docker中实现
社区版默认搭建出来后只能实现电脑页面的多人编辑,手机不行,除非手机浏览器打开电脑模式才可
中央处理器 双核2 GHz或更好
内存 2 GB或更多
硬盘 至少40 GB的可用空间
其他要求 至少4 GB的交换空间
操作系统 内核版本为3.10或更高版本的amd64 Linux 发行版
Docker:1.10或更高版本
本次安装的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 服务器 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
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 控制面板:
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社区服务器:
注意: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
输入之后就注册成功了就会跳到如下的页面
用户名为刚刚在第一个图片输入的邮箱地址,密码为刚刚设置的密码,登入后入下图所示
在实现在线编辑的前,先在设置中修改一下第一个文件地址为文件编辑器映射到宿主机的地址,最后一个地址不要改,不然文件无法编辑!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。