前言:本文基于禅道官方一键安装包实战记录,迁移分两步完成:旧服务器 → 新服务器默认目录→ 新服务器默认目录 → LVM独立分区。全程使用Linux标准真实路径,不使用自定义占位符,命令可直接复制执行,内网环境优先保证业务稳定与权限兼容。
环境与路径说明
- 禅道官方默认安装目录:
/opt/zbox - 旧服务器源目录:
/opt/zbox - 新服务器临时目录:
/opt/zbox - LVM独立分区目标目录:
/opt/zbox_lvm - 运行环境:内网Linux服务器、禅道一键安装包
- 权限策略:保留官方默认权限,内网环境稳定优先
一、整体迁移流程
- 旧服务器:停止服务 → 全量打包备份
- 备份包传输至新服务器 → 解压至官方默认目录
/opt/zbox - 新服务器:停止服务 → 全量同步至LVM分区
/opt/zbox_lvm - 权限对齐配置 → 启动服务 → 问题排查解决
- 业务功能全量验证
二、阶段一:跨服务器全量迁移
1. 旧服务器(源端)操作
bash
# 进入禅道官方默认安装目录
cd /opt/zbox
# 停止Apache、MySQL、Redis所有服务
./zbox stop
# 全量打包(保留权限、属主、软链接,无数据丢失)
tar -zcpvf zentao_full_backup.tar.gz .
2. 备份包传输至新服务器
bash
scp zentao_full_backup.tar.gz root@新服务器IP:/opt/
3. 新服务器(目标端)解压恢复
bash
# 创建官方默认安装目录
mkdir -p /opt/zbox
# 进入目录并解压全量备份包
cd /opt/zbox
tar -zxpvf /opt/zentao_full_backup.tar.gz -C ./
4. 临时启动验证(可选)
bash
./zbox start
./zbox status
所有服务显示running,跨服务器基础迁移完成。
三、阶段二:禅道迁移至LVM独立分区
1. 迁移前准备(停止服务)
bash
cd /opt/zbox
./zbox stop
2. 创建LVM分区目标目录
bash
mkdir -p /opt/zbox_lvm
3. 全量数据同步(1:1复刻)
bash
rsync -av /opt/zbox/ /opt/zbox_lvm/
4. 权限配置(与官方/旧环境完全一致)
内网环境保留官方777权限,仅优化属主提升安全性,不改动业务权限:
bash
# 进入LVM分区禅道目录
cd /opt/zbox_lvm
# 核心目录权限配置
chmod 777 tmp/
chmod 777 app/zentao/www/data/
chmod 755 data/mysql/
# 属主属组配置
chown -R nobody:nobody tmp/
chown -R nobody:nogroup app/zentao/www/data/
chown -R nobody:nogroup data/mysql/
5. 启动LVM分区禅道服务
bash
cd /opt/zbox_lvm
./zbox start
./zbox status
服务全部正常运行,LVM分区迁移完成。
四、迁移核心问题:用户密码全部失效解决
问题现象
迁移后admin及所有用户密码无法登录,数据库直接修改MD5密码不生效。
问题原因
禅道密码加密规则:MD5(明文密码 + 配置文件salt),迁移后salt不匹配导致验证失败。
官方最简解决方案
bash
# 进入LVM分区禅道对应目录
cd /opt/zbox_lvm/app/zentao
# 创建重置标记文件
touch tmp/reset_admin.txt
浏览器访问重置地址:
http://你的禅道访问地址/reset.php
按页面提示直接重置admin密码,100%生效。
五、关键问题说明
1. 为何保留777权限不修改?
- 禅道一键安装包官方默认权限就是777
- 服务器为内网环境,无公网暴露风险
- 修改为755易导致附件上传、缓存生成、文件写入失败
2. admin重置后可在UI改其他用户密码吗?
完全可以
admin登录 → 后台 → 用户 → 选择用户 → 编辑 → 直接设置新密码,权限完整不受迁移影响。
六、最终业务验证标准
✅ Web页面正常访问
✅ 历史数据完整无丢失
✅ 任务、需求、附件上传/下载正常
✅ admin可正常管理所有用户
✅ 服务稳定无报错
✅ 数据实际存储在LVM分区/opt/zbox_lvm
七、迁移总结
- 禅道一键安装包官方默认路径固定为
/opt/zbox,通用且标准; - 跨服务器迁移:
tar -zcpvf全量打包是最优方案,不丢文件、不丢权限; - LVM分区迁移:
rsync -av1:1同步,保证数据完全一致; - 迁移密码失效:优先使用官方
reset.php方案,不推荐直接修改数据库; - 内网生产环境:权限保持原厂配置,稳定优先于安全合规的激进调整。
本次迁移无业务中断、数据完整、权限兼容,可作为禅道一键包迁移标准化方案参考。
