在網上找了好多文章,都沒有搭建出來,就頁面一直卡在那裡加載,實際是因為少了東西,本文詳細寫出了搭建過程。在docker中實作
文章目錄
- 系統要求
-
- 其他要求
- 安裝Docker
- 啟動容器的準備工作
- 安裝 MySQL
- 安裝 ONLYOFFICE Docs
- 安裝 ONLYOFFICE 控制台
- 安裝 ONLYOFFICE 社群伺服器
- 成功後頁面最後是這樣的
社群版預設搭建出來後隻能實作電腦頁面的多人編輯,手機不行,除非手機浏覽器打開電腦模式才可
系統要求
中央處理器 雙核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社群伺服器:
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
成功後頁面最後是這樣的

輸入之後就注冊成功了就會跳到如下的頁面
使用者名為剛剛在第一個圖檔輸入的郵箱位址,密碼為剛剛設定的密碼,登入後入下圖所示
在實作線上編輯的前,先在設定中修改一下第一個檔案位址為檔案編輯器映射到主控端的位址,最後一個位址不要改,不然檔案無法編輯!!!