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
|
高可用方案
- 使用K8s部署多副本NextCloud+OnlyOffice
- MySQL集群 + Redis主从
- 对象存储集成(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
| 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插件安装
- 下载插件包(版本需匹配)
- 解压到NextCloud插件目录:
1
| tar xf onlyoffice.tar.gz -C /var/www/html/apps/
|
服务信任配置
1 2 3 4 5 6
| { "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.json中rejectUnauthorized为false |
| 文件上传失败 |
检查.user.ini配置及存储权限 |
| 文档预览异常 |
验证OnlyOffice服务端口连通性 |
| 共享链接失效 |
强制启用HTTPS访问 |
参考资源:
NextCloud官方文档
OnlyOffice集成指南
NextCloud+OnlyOffice 配置
权限设置
nextcloud 权限设置
1 2 3 4 5
| 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
|