本次采用开源免费的Nextcloud+OnlyOffice组合,支持文件存储、在线编辑、权限管控全功能,无需付费即可满足100人以内团队云办公需求。
首先准备1台2核4G、带宽5M以上的云服务器,操作系统选择Ubuntu22.04/CentOS7及以上版本,依次执行以下命令安装运行环境:
Ubuntu/Debian系统执行:
```bash sudo apt update && sudo apt install -y docker.io docker-compose-plugin sudo systemctl enable --now docker ```CentOS/RHEL系统执行:
```bash sudo dnf install -y docker docker-compose-plugin sudo systemctl enable --now docker ```执行以下命令创建工作目录:
```bash mkdir -p /opt/cloud-office/backup && cd /opt/cloud-office ```新建docker-compose.yml文件,将以下完整配置复制粘贴进去,务必修改三处标注的密码为自定义强密码(包含大小写+数字+特殊字符):
```yaml version: '3.8' services: nextcloud: image: nextcloud:27 ports: - "8080:80" volumes: - ./nextcloud/data:/var/www/html environment: - POSTGRES_HOST=postgres - POSTGRES_DB=nextcloud - POSTGRES_USER=nextcloud - POSTGRES_PASSWORD=Nextcloud@2024 修改为自定义密码 - REDIS_HOST=redis depends_on: - postgres - redis restart: always postgres: image: postgres:15 volumes: - ./postgres/data:/var/lib/postgresql/data environment: - POSTGRES_DB=nextcloud - POSTGRES_USER=nextcloud - POSTGRES_PASSWORD=Nextcloud@2024 和上方密码保持一致 restart: always redis: image: redis:7-alpine restart: always onlyoffice: image: onlyoffice/documentserver:7.5 ports: - "9980:80" environment: - JWT_SECRET=Onlyoffice@2024 修改为自定义密码 restart: always ```保存文件后执行启动命令,等待5分钟待服务完全启动:
```bash docker compose up -d ```访问http://你的服务器IP:8080,设置管理员账号密码,进入后台后依次点击:设置→ONLYOFFICE→文档服务地址,填入http://你的服务器IP:9980,点击保存,提示连接成功即部署完成。
新建user.csv文件,按以下格式填写员工信息,密码必须符合强密码规则,否则导入失败:
```csv username,displayname,email,password zhangsan,张三,zhangsan@company.com,Zhangsan@2024 lisi,李四,lisi@company.com,Lisi@2024 wangwu,王五,wangwu@company.com,Wangwu@2024 ```进入后台依次点击:用户管理→批量导入→上传CSV文件,即可一键创建所有员工账号,系统会自动发送激活邮件到员工邮箱。

按以下规则设置角色权限,避免越权操作:
操作路径:用户组→新建部门组→添加对应成员→设置组权限,禁止给普通员工开放公共文件写入权限,避免误删全公司资料。
在/opt/cloud-office目录下新建backup.sh文件,复制以下完整脚本内容:
```bash !/bin/bash cd /opt/cloud-office 开启维护模式避免备份过程数据不一致 docker compose exec -u www-data nextcloud php occ maintenance:mode --on 备份数据库 docker compose exec postgres pg_dump -U nextcloud nextcloud > ./backup/db_$(date +%Y%m%d).sql 备份用户文件 tar zcf ./backup/file_$(date +%Y%m%d).tar.gz ./nextcloud/data 关闭维护模式 docker compose exec -u www-data nextcloud php occ maintenance:mode --off 删除7天前的旧备份,节省磁盘空间 find ./backup -mtime +7 -delete ```执行以下命令设置定时执行:
```bash chmod +x backup.sh crontab -e 在打开的编辑页末尾添加一行,设置每天凌晨2点自动备份 0 2 /opt/cloud-office/backup.sh ```建议每周手动下载1次备份文件到本地存储,避免服务器故障丢失数据。
员工端可安装官方同步客户端实现本地文件自动同步,无需手动上传下载:
进入后台设置→共享→默认共享过期时间,设置共享文件30天自动过期,所有对外分享的文件必须设置密码,过期时间最长不超过7天,避免数据泄露。
执行以下命令设置登录防护,登录失败5次自动锁定账号15分钟:
```bash docker compose exec -u www-data nextcloud php occ config:system:set bruteforce_protection_threshold --value=5 docker compose exec -u www-data nextcloud php occ config:system:set bruteforce_protection_delay --value=900 ```进入后台设置→安全,启用两步验证,强制所有员工开启,避免账号被盗后数据泄露。
新建“人事”“财务”等敏感部门用户组,设置组内文件仅可内部共享,禁止创建对外分享链接,定期进入后台设置→日志查看文件操作记录,发现异常操作及时追溯处理。
下一篇: 线上云办公资源共享
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图