NextCloud+OnlyOffice 搭建云办公环境

清夏晚风

部署方案选择

单机部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
version: '3'

volumes:
nextcloud_volume:
db_volume:
redis_volume:
office_volume:

services:
db:
image: mariadb:10.11
volumes:
- nextcloud_volume:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=nextcloud@1234

redis:
image: redis:alpine
volumes:
- redis_volume:/data

app:
image: nextcloud:latest
ports:
- 9090:80
volumes:
- db_volume:/var/www/html
depends_on:
- db
- redis

onlyoffice:
image: onlyoffice/documentserver:latest
ports:
- 9443:443

高可用方案

  1. 使用K8s部署多副本NextCloud+OnlyOffice
  2. MySQL集群 + Redis主从
  3. 对象存储集成(MinIO/Ceph)

离线环境准备

镜像获取方案

1
2
3
4
5
6
7
8
9
10
11
12
# 镜像加速器配置(需外网)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.nju.edu.cn",
"https://mirror.baidubce.com"
]
}
EOF

# 或使用离线镜像包
链接: https://pan.baidu.com/s/1WKCywb4cKTFj9uDHSHe4Wg?pwd=24fc

关键配置

OnlyOffice HTTPS

1
2
3
4
# 生成自签名证书
openssl genrsa -out onlyoffice.key 2048
openssl req -new -key onlyoffice.key -out csr.csr
openssl x509 -req -days 3650 -in csr.csr -signkey onlyoffice.key -out onlyoffice.crt

NextCloud大文件支持

1
2
3
4
5
# .user.ini 配置
php_value upload_max_filesize 16G
php_value post_max_size 16G
php_value max_input_time 3600
php_value max_execution_time 3600

插件集成

OnlyOffice插件安装

  1. 下载插件包(版本需匹配)
  2. 解压到NextCloud插件目录:
1
tar xf onlyoffice.tar.gz -C /var/www/html/apps/

服务信任配置

1
2
3
4
5
6
// 修改OnlyOffice配置
{
"requestDefaults": {
"rejectUnauthorized": false
}
}

运维管理

服务监控

1
2
3
4
5
# 查看容器日志
docker logs -f nextcloud_app_1

# 性能监控
docker stats nextcloud_app_1 nextcloud_onlyoffice_1

数据备份

1
2
3
4
5
6
7
# 数据库备份
docker exec nextcloud_db_1 mysqldump -uroot -p nextcloud > nextcloud.sql

# 全量备份
tar -czvf nextcloud_backup.tar.gz \
/var/lib/docker/volumes/nextcloud_* \
nextcloud.sql

常见问题解决

问题现象 解决方案
证书不受信任 修改default.jsonrejectUnauthorized为false
文件上传失败 检查.user.ini配置及存储权限
文档预览异常 验证OnlyOffice服务端口连通性
共享链接失效 强制启用HTTPS访问

参考资源:
NextCloud官方文档
OnlyOffice集成指南
NextCloud+OnlyOffice 配置

权限设置

nextcloud 权限设置

1
2
3
4
5
# 进入nextcloud容器
docker exec -it nextcloud_app_1 bash
# 设置权限
chown -R www-data:www-data /var/www/html/config/
chmod -R 770 /var/www/html/config/

查看onlyoffice密钥

1
2
docker exec -it onlyoffice bash
cat /etc/onlyoffice/documentserver/local.json
  • Title: NextCloud+OnlyOffice 搭建云办公环境
  • Author: 清夏晚风
  • Created at : 2026-01-13 16:48:23
  • Updated at : 2026-01-13 16:48:23
  • Link: https://blog.kimikkorow.eu.org/云办公环境/NextCloud+OnlyOffice 搭建云办公环境/
  • License: This work is licensed under CC BY-NC-SA 4.0.