跳到主要内容

手动安装和集成 ONLYOFFICE Workspace 社区版组件

介绍​

安装 ONLYOFFICE Workspace 社区版的最简单方法是使用我们的 Docker 脚本。如果您希望完全控制安装过程,可以手动安装所有组件。

ONLYOFFICE Workspace 社区版包括以下组件:ONLYOFFICE 社区服务器、ONLYOFFICE 控制面板、ONLYOFFICE 文档和 ONLYOFFICE 邮件。要安装并集成所有这些组件,请按照以下步骤操作。

系统要求​

  • CPU: 至少 4核(推荐 6核)
  • 内存: 至少 8 GB(推荐 12 GB)
  • 硬盘: 至少 40 GB 的可用空间
  • 交换空间: 至少 4 GB,但取决于主机操作系统。更多更好
  • 操作系统: amd64 Linux 发行版,内核版本 3.10 或更高
  • 其他要求
    • Docker: 任何由 Docker 团队支持的版本

步骤 1. 安装先决条件​

如果尚未安装 Docker,请参阅 Docker 网站上的安装部分。

备注

Docker 默认指定 Google DNS 服务器。如果您的 ONLYOFFICE Workspace 社区版不打算访问互联网,我们建议您将默认的 Docker DNS 地址更改为本地 DNS 服务器的地址。为此,请转到 /etc/default/docker 文件,并将以下行中的 IP 地址更改为本地网络中 DNS 服务器的 IP 地址:

docker_OPTS="--dns 8.8.8.8"

对于基于 RPM 的操作系统,如 CentOS:

  1. 创建 /etc/docker/daemon.json 配置文件,内容如下:

    { "dns" : [ "8.8.8.8" ] }
  2. 重启 Docker 服务:

    sudo systemctl restart docker.service

在开始安装之前,您需要创建以下文件夹:

  1. 用于 MySQL 服务器

    sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
    sudo mkdir -p "/app/onlyoffice/mysql/data";
    sudo mkdir -p "/app/onlyoffice/mysql/initdb";
  2. 用于 ONLYOFFICE 社区服务器的数据和日志

    sudo mkdir -p "/app/onlyoffice/CommunityServer/data";
    sudo mkdir -p "/app/onlyoffice/CommunityServer/logs";
    sudo mkdir -p "/app/onlyoffice/CommunityServer/letsencrypt";
  3. 用于 ONLYOFFICE 文档的数据和日志

    sudo mkdir -p "/app/onlyoffice/DocumentServer/data";
    sudo mkdir -p "/app/onlyoffice/DocumentServer/logs";
  4. 用于 ONLYOFFICE 邮件的数据和日志

    sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
    sudo mkdir -p "/app/onlyoffice/MailServer/logs";
  5. 用于 ONLYOFFICE 控制面板的数据和日志

    sudo mkdir -p "/app/onlyoffice/ControlPanel/data";
    sudo mkdir -p "/app/onlyoffice/ControlPanel/logs";

然后创建 onlyoffice 网络:

sudo docker network create --driver bridge onlyoffice

步骤 2. 安装 MySQL​

接下来,您需要创建 MySQL 服务器 Docker 容器。创建配置文件:

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

创建 SQL 脚本以生成用户并为其授予权限。onlyoffice_user 是 ONLYOFFICE 社区服务器所需的,而 mail_admin 是 ONLYOFFICE 邮件所需的(如果要安装):

echo "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED WITH mysql_native_password BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED WITH mysql_native_password BY 'Isadmin123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'onlyoffice_user'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'mail_admin'@'%';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql

请注意,上述脚本将设置权限以允许从任何域(%)访问 SQL 服务器。如果您想限制访问,可以指定有权访问 SQL 服务器的主机。

创建 MySQL 容器,MySQL 版本为 8.0.29:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \
-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 \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=onlyoffice \
mysql:8.0.29

步骤 3. 安装 ONLYOFFICE 文档​

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-document-server \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/DocumentServer/fonts:/usr/share/fonts/truetype/custom \
-v /app/onlyoffice/DocumentServer/forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten \
onlyoffice/documentserver

想了解更多信息,请参阅 ONLYOFFICE 文档文档。

步骤 4. 安装 ONLYOFFICE 邮件​

sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 \
-e MYSQL_SERVER=onlyoffice-mysql-server \
-e MYSQL_SERVER_PORT=3306 \
-e MYSQL_ROOT_USER=root \
-e MYSQL_ROOT_PASSWD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \
-v /app/onlyoffice/MailServer/data:/var/vmail \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
-v /app/onlyoffice/MailServer/logs:/var/log \
-h yourdomain.com \
onlyoffice/mailserver

用于维护通信的域名必须有效并配置为此机器(即它应在 DNS 设置中具有适当的 A 记录,将您的域名指向安装 ONLYOFFICE 邮件的机器的 IP 地址)。

在上面的命令中,"yourdomain.com" 参数应理解为 ONLYOFFICE 邮件的服务域。它通常在用于维护通信的域的 MX 记录中指定。通常,"yourdomain.com" 看起来像 mx1.onlyoffice.com

邮件服务器的其他参数可在此处找到。

步骤 5. 安装 ONLYOFFICE 控制面板​

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

sudo docker run --net onlyoffice -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

步骤 6. 安装 ONLYOFFICE 社区服务器​

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

sudo docker run --net onlyoffice -i -t -d --privileged --restart=always --name onlyoffice-community-server -p 80:80 -p 443:443 -p 5222:5222 --cgroupns=host \
-e MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice \
-e MYSQL_SERVER_HOST=onlyoffice-mysql-server \
-e MYSQL_SERVER_USER=onlyoffice_user \
-e MYSQL_SERVER_PASS=onlyoffice_pass \
-e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server \
-e MAIL_SERVER_API_HOST=${MAIL_SERVER_IP} \
-e MAIL_SERVER_DB_HOST=onlyoffice-mysql-server \
-e MAIL_SERVER_DB_NAME=onlyoffice_mailserver \
-e MAIL_SERVER_DB_PORT=3306 \
-e MAIL_SERVER_DB_USER=root \
-e MAIL_SERVER_DB_PASS=my-secret-pw \
-e CONTROL_PANEL_PORT_80_TCP=80 \
-e CONTROL_PANEL_PORT_80_TCP_ADDR=onlyoffice-control-panel \
-v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/CommunityServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/CommunityServer/letsencrypt:/etc/letsencrypt \
-v /sys/fs/cgroup:/sys/fs/cgroup:rw \
onlyoffice/communityserver

其中 ${MAIL_SERVER_IP} 是 ONLYOFFICE 邮件容器的 IP 地址,可使用以下命令获取:

MAIL_SERVER_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' onlyoffice-mail-server)

安装完成后,解决方案将在 http://localhost/ 地址可用。