使用 Docker 部署 ONLYOFFICE Workspace 套件,企业在线协同办公解决方案

什么是 ONLYOFFICE Workspace?

img

ONLYOFFICE Workspace是一套免费的协作办公系统,专门用来管理文档、工程项目、客户关系以及邮件系统的一揽子解决方案。

ONLYOFFICE Workspace包含如下组件:ONLYOFFICE Community Server社区服务器,ONLYOFFICE Control Panel控制面板,ONLYOFFICE Docs文档以及ONLYOFFICE Mail邮件。

在 ONLYOFFICE Workspace 12.0 版中有什么新特性?

ONLYOFFICE Workspace 协作平台的 12.0 新版本,产品内容更丰富,使用更便捷,安全性更好,包括新的共享设置、IMAP、WebDAV 服务器、CardDAV 通讯录等。

高效的文档管理和共享

  • 升级分享相关权限设置

    12.0 版本 ONLYOFFICE Workspace 重新设计优化了文件分享操作窗口,使其更加直观和方便,并添加了可以保护文档的新设置: 禁止打印、下载和复制文件(只能阅读和评论) 禁止修改共享设置(用于完全控制)

img

分享权限

img

默认分享权限的设置

  • WebDAV 服务器

新版本拥有了能够在 Web 服务器上使用 WebDAV 客户端来与其他用户协同编辑和管理文档的能力。

  • 配合最新版本的 Docs v7.1

更新后的 ONLYOFFICE Workspace 还包括最新版本的在线编辑器 ONLYOFFICE Docs。在新功能中,您可以找到 PDF 转换、视图选项卡、幻灯片中的动画、电子表格的打印预览等功能。

支持更多的文件格式。 可以打开预览和查看 FB2、XML 和 OXPS 格式的文件。还扩展了 document manager 中的文档转换选项数量,包括: 支持将 XML 转换为文本格式; 支持将 OXPS 格式转换为 PDF 格式; 支持将 DOC 格式转换为 EPUB、FB2、HTML、DOTX 和 OTT 格式; 支持将电子表格转换为 XLTX 和 OTS 格式; 支持将演示文稿转换为 POTX 和 OTP 格式; 支持将文档、工作表和幻灯片转换为基于宏的 OOXML(DOCM、DOTM、XLSM、XLTM、PPTM、POTM)格式。img

文档转换

  • 更多改进

可以设置自动清理垃圾文件夹、设置共享文档的默认访问权限、收藏夹功能等。

邮件系统优化

img

  • IMAP 协议和备份

ONLYOFFICE v12.0 增加了对 IMAP 协议的支持,并且增加了对邮件服务器数据库备份和恢复的选项。

  • 更强大的聚合器

大大改进了邮件聚合器的实现方式,现在可以更高效地处理连接的邮箱。

  • 阅读回执确认

除了已有的送达回执,新版可以在发送电子邮件时请求已读回执。在接收端,如果客户端应用程序支持这样的功能,相应的通知将显示在消息中。

  • 电子邮件提及@

可以在邮件中给其他门户网站用户加上@的标签。在这种情况下,它们将被添加到收件人列表中。

img

阅读回执确认

改进团队管理

  • CardDAV

增强基于门户用户的数据创建 CardDAV 通讯簿的功能。目前,同步只支持单方向同步信息——当门户上的用户数据发生更改时,创建的 CardDAV 手册就会被更新。

  • 新的苹果和微软授权选项

在 v12.0 中,可以使用 Apple ID 和 Microsoft 帐户登录来门户。

img

新的授权选项

  • 扩展的配置文件信息

新版 WorkSpace 可以将 Telegram 帐户添加到个人资料中的联系信息详情中(除了电子邮件、电话号码、社交渠道等)。如果您的团队使用 Telegram 进行公司聊天,这可能会有所帮助。

  • 更新订阅

“生日”部分从社区转移到了“人员”模块,并且升级了员工生日和新员工信息的订阅,以帮助您保持信息更新。

img

日程管理和项目管理中的新功能

  • 更容易创建事件

ONLYOFFICE Workspace 12.0 升级了“描述”字段,可以在其中设置文本格式,添加列表和超链接,让日历事件的描述看起来更准确。

  • 事件的附件

新版可以将文档附加到事件中,可以引入来自文档管理模块的文件。

img

事件的附件

  • 修订的项目报告

新版更新了用户活动和项目列表报告,并在需要的所有其他报告中添加了时间段元素。

  • 提及@

在需要的情况下,现在可以在 WorkSpace 工作区任意一个项目的工作评论信息中通过@标签提及@用户,让他们知道项目需要他们的支持。提及的用户会收到通知。

img

提及

从谷歌迁移数据

使用新版 ONLYOFFICE Workspace 12.0 可以更加容易从 Google 切换到私有化部署的 ONLYOFFICE 了,所有数据都将安全地保存在自己的服务器上。使用更新后的控制面板,管理员可以将数据(包括用户配置文件、联系人和文件)从 Google Workspace 导入到 ONLYOFFICE。为了满足用户的需求,我们还从 Nextcloud 和 ownCloud 添加了数据导入的选项。

img

从谷歌迁移数据

增强的安全性

  • 一般性改进

新版 ONLYOFFICE Workspace 12.0 修复了几个安全问题,包括在所有私有化部署版本中将用于全文搜索和索引的 Elasticsearch 服务移动到一个单独的容器中(由于 log4j 的问题)。此外,还修改了在私人空间打开文件的实现机制。

  • 主动连接检查

在用户配置文件中,现在可以检查用于访问门户的连接列表。连接信息包括操作系统和浏览器、时间、IP 地址和位置。可以从连接中注销,以便在发现任何异常活动时立即更改密码。如果您是管理员,则可以注销指定用户的所有活动连接。

img

连接注销

其他更新

改进了在线办公的整体外观和感觉,包括重新设计的元素,如提及和邮件下拉列表。

注意:对于新的云门户和新安装,社区模块现在默认为禁用。它可以随时通过门户设置激活。

系统需求

硬件需求:

  • CPU:双核,主频 2Ghz 或更高
  • 内存 RAM:6GB 或更多
  • 硬盘 HDD:至少 40GB 空间
  • 额外需求:至少 6GB 交换空间 swap

软件需求:

  • 操作系统:amd64Linux 发行版,内核 3.10 版本以上
  • Docker:1.10 版本以上

使用 Docker 脚本来安装 ONLYOFFICE Workspace 12.0

ONLYOFFICE Workspace在安装了 Docker 的 Linux 系统上使用自动安装脚本来下载安装,该脚本将自动设置 Docker 容器,安装ONLYOFFICE Workspace正常运行所必须的所有组件,并且易于运行、管理和升级。

这里讲解如何通过提供的 Docker 脚本来安装ONLYOFFICE Workspace,除此之外,你还可以指定参数运行脚本从RPM/DEB 包[1]来安装ONLYOFFICE Workspace

注意:虽然 ONLYOFFICE WorkSpace 运行起来将十分占用系统资源,但是在安装之前并不需要手动分配交换空间,因为在脚本安装时将自动创建 6GB 交换空间 swap

下载 ONLYOFFICE Workspace 安装脚本

下载ONLYOFFICE Workspace安装脚本,下载页面[2],或者直接运行下面命令:

1
wget https://download.onlyoffice.com/install/workspace-install.sh

执行完整安装 ONLYOFFICE Workspace

注意:所有操作步骤都需要使用 root 权限执行

您可以一次安装所有 ONLYOFFICE Workspace 组件和模块:

1
bash workspace-install.sh -md "yourdomain.com"

这里 yourdomain.com是你用来做为自己邮件服务器的域名。

注意:你用来保持通信的域名必须有效并且配置为这台服务器。(例如,它必须在 DNS 设置中有正确设置的 A 类记录,将域名指向安装了 ONLYOFFICE mail 的机器的 ip 地址) 在上面的命令里,”yourdomain.com”参数必须理解为邮件服务器的服务域名,通常设为 MX 类记录域名,用来保持通信,作为一条规则,”yourdomain.com”看起来应该类似 mx1.onlyoffice.com

如果你没有域名,或者只需要安装到内网的服务器上,可以不安装ONLYOFFICE Mail

运行 ONLYOFFICE WorkSpace 必须运行 Docker 服务,安装脚本会检查计算机上是否已经安装了 Docker 服务,否则将自动安装升级 Docker。

注意:Docker 默认使用 Google 的 DNS 服务器,而如果你的 ONLYOFFICE WorkSpace 服务器架于内网无法连接互联网的话,我们建议你将 Docker 配置为使用本地 DNS 服务器,配置文件 /etc/default/docker,找到下面这一行,改为本地 DNS 服务器的 ip 地址:

1
docker_OPTS="--dns 8.8.8.8"

基于 RPM 包管理的操作系统例如 CentOS,配置文件为 /etc/docker/daemon.json

裁剪 ONLYOFFICE Mail 安装 ONLYOFFICE Workspace

如上所述某些场景中需要安装 ONLYOFFICE Workspace 而不需要 ONLYOFFICE Mail,安装命令为:

1
bash workspace-install.sh -ims false

注意:安装脚本的所有可配置参数的细节帮助可以如下命令查看:

1
bash workspace-install.sh -h

也可以查看在线帮助文档[3]

安装完成即可检查 ONLYOFFICE Workspace 是否工作正常,打开浏览器,输入本地网络内服务器的 ip 地址(注意这里不能在服务器上输入自身的 localhost 或者 127.0.0.1 这样的回环地址,而必须是本地网络真实网卡的 ip 地址),ONLYOFFICE Workspace 应显示安装成功正常运行的信息。

使用 DockerCompose 来安装 ONLYOFFICE Workspace 12.0

如果想要快速安装ONLYOFFICE Workspace,那么通过 Docker Compose 方式来安装是最合适的选择,通过下述的步骤快速的安装ONLYOFFICE Workspace的所有部件。

第一步:安装 Docker Compose

访问Docker Compose 官方网站[4]按照帮助指南安装 Docker Compose

第二步:克隆 GitHub 上面 Docker Compose 的代码包

上述 Docker Compose 安装好后,克隆[GitHub 上面 Docker Compose 的代码包(https://github.com/ONLYOFFICE/Docker-CommunityServer/):

1
git clone https://github.com/ONLYOFFICE/Docker-CommunityServer

第三步:安装 ONLYOFFICE Workspace

进入代码包路径:

1
cd Docker-CommunityServer

为了让邮件服务器正确运行,需要按照你所安装使用的软件版本来分别打开下面文件来进行配置:

  • docker-compose.groups.yml file[5]:社区版的服务器(作为 ONLYOFFICE Groups 产品来发布)
  • docker-compose.workspace.yml file[6]:ONLYOFFICE Workspace 的社区版
  • docker-compose.workspace_enterprise.yml file[7]:ONLYOFFICE Workspace 的企业版

修改替换 ${MAIL_SERVER_HOSTNAME}这个配置参数为你自己的邮件服务器的主机地址,这一行可能看起来是这样的:

1
hostname: ${MAIL_SERVER_HOSTNAME}

然后,假定上面的 Docker-Compose 已经正确安装,敲入下面命令执行:

1
2
3
cd link-to-your-modified-docker-compose

docker-compose up -d

使用 Docker 安装ONLYOFFICE Workspace的更多配置参数,可以参考这个页面[8]

使用 Docker 脚本来安装 ONLYOFFICE Workspace 12.0 所有组件

ONLYOFFICE WorkSpace 最简单安装就是上面使用脚本的安装方式[9],如果想全盘掌握各个组件的安装也可以手动指定。

第一步,安装前准备

需要安装最新版 Docker,可以参考官方网站安装指南[10]。

注意:Docker 默认使用 Google 的 DNS 服务器,而如果你的 ONLYOFFICE WorkSpace 服务器架于内网无法连接互联网的话,我们建议你将 Docker 配置为使用本地 DNS 服务器,配置文件 /etc/default/docker,找到下面这一行,改为本地 DNS 服务器的 ip 地址:

1
docker_OPTS="--dns 8.8.8.8"

基于 RPM 包管理的操作系统例如 CentOS,配置文件为 /etc/docker/daemon.json

安装前需要创建如下各个文件夹:

  1. MySQL 服务器:
1
2
3
4
5
sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
sudo mkdir -p "/app/onlyoffice/mysql/data";
sudo mkdir -p "/app/onlyoffice/mysql/initdb";
sudo mkdir -p "/app/onlyoffice/mysql/logs";
chown 999:999 /app/onlyoffice/mysql/logs;
  1. ONLYOFFICE Community Servers数据和记录
1
2
3
sudo mkdir -p "/app/onlyoffice/CommunityServer/data";
sudo mkdir -p "/app/onlyoffice/CommunityServer/logs";
sudo mkdir -p "/app/onlyoffice/CommunityServer/letsencrypt";
  1. ONLYOFFICE Control Panel数据和记录
1
2
sudo mkdir -p "/app/onlyoffice/ControlPanel/data";
sudo mkdir -p "/app/onlyoffice/ControlPanel/logs";
  1. ONLYOFFICE Docs数据和记录
1
2
sudo mkdir -p "/app/onlyoffice/DocumentServer/data";
sudo mkdir -p "/app/onlyoffice/DocumentServer/logs";
  1. ONLYOFFICE Mail数据和记录
1
2
sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
sudo mkdir -p "/app/onlyoffice/MailServer/logs";

然后创建 ONLYOFFICE 网络:

1
sudo docker network create --driver bridge onlyoffice

第二步:安装 MySQL

创建 MySQL 的 Docker 容器,创建如下配置文件:

1
2
3
4
5
6
7
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
sudo chmod 0644 /app/onlyoffice/mysql/conf.d/onlyoffice.cnf

创建 SQL 脚本,生成用户并赋予相应权限,ONLYOFFICE Community Server需要一个 onlyoffice_user用户,ONLYOFFICE Mail需要一个 mail_admin用户,如果需要的话。

1
2
3
4
5
6
echo "CREATE USER 'onlyoffice_user'@'localhost' IDENTIFIED BY 'onlyoffice_pass';
CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'%' IDENTIFIED BY 'my-secret-pw';
GRANT ALL PRIVILEGES ON * . * TO 'onlyoffice_user'@'%' IDENTIFIED BY 'onlyoffice_pass';
GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql

注意,上面脚本将会允许从任意来源连接 SQL 服务器的权限,强烈建议限定可以连接服务器的主机范围。

创建 MySQL 容器,设为 5.7 版本:

1
2
3
4
5
6
7
8
sudo docker run --net onlyoffice -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=my-secret-pw \
-e MYSQL_DATABASE=onlyoffice \
mysql:5.7

第三步:安装 ONLYOFFICE Docs

1
2
3
4
5
6
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/lib:/var/lib/onlyoffice \
-v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql \
onlyoffice/documentserver

更多细节请参考ONLYOFFICE Docs 官方文档[11]。

第四步:安装 ONLYOFFICE Mail

1
2
3
4
5
6
7
8
9
10
11
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 mail 的机器的 ip 地址) 在上面的命令里,”yourdomain.com”参数必须理解为邮件服务器的服务域名,通常设为 MX 类记录域名,用来保持通信,作为一条规则,”yourdomain.com”看起来应该类似 mx1.onlyoffice.com

邮件服务器更多配置细节请参阅这里[12]。

第五步:安装 ONLYOFFICE Control Panel

1
2
3
4
5
6
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

第六步:安装 ONLYOFFICE Community Server

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sudo docker run --net onlyoffice -i -t -d --privileged --restart=always --name onlyoffice-community-server -p 80:80 -p 443:443 -p 5222:5222 \
-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/letsencrypt:/etc/letsencrypt \
-v /sys/fs/cgroup:/sys/fs/cgroup:rw \
-v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/CommunityServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/DocumentServerData \
onlyoffice/communityserver

这里的 ${MAIL_SERVER_IP}ONLYOFFICE Mail的 ip 地址,可以用下面命令查到:

1
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' onlyoffice-mail-server

开始使用

img

安装成功

ONLYOFFICE Workspace 安装成功后就可以进行配置使用了,详见参考文档[13]

参考资料

[1]RPM/DEB 包: https://helpcenter.onlyoffice.com/server/linux/opensource/opensource-script-rpm-deb-installation.aspx

[2]下载页面: https://www.onlyoffice.com/download-workspace.aspx?from=helpcenter#workspace-community

[3]在线帮助文档: https://helpcenter.onlyoffice.com/server/docker/opensource/opensource-script-parameters.aspx

[4]Docker Compose 官方网站: https://docs.docker.com/compose/install/#installing-compose

[5]docker-compose.groups.yml file: https://github.com/ONLYOFFICE/Docker-CommunityServer/blob/master/docker-compose.groups.yml

[6]docker-compose.workspace.yml file: https://github.com/ONLYOFFICE/Docker-CommunityServer/blob/master/docker-compose.workspace.yml

[7]docker-compose.workspace_enterprise.yml file: https://github.com/ONLYOFFICE/Docker-CommunityServer/blob/master/docker-compose.workspace_enterprise.yml

[8]这个页面: https://helpcenter.onlyoffice.com/installation/workspace-install-docker.aspx

[9]使用脚本的安装方式: #如何使用Docker脚本来安装ONLYOFFICE-Workspace-12.0?

[10]官方网站安装指南: http://docs.docker.com/installation/#installation

[11]ONLYOFFICE Docs 官方文档: https://helpcenter.onlyoffice.com/installation/docs-community-install-docker.aspx

[12]这里: https://github.com/ONLYOFFICE/Docker-CommunityServer/blob/master/docker-compose.workspace.yml#L81

[13]参考文档: https://helpcenter.onlyoffice.com/userguides/workspace-index.aspx

Github开源项目:https://github.com/ONLYOFFICE/Docker-CommunityServer/