
私有化部署项目管理软件这件事,安装本身通常只占整个工作量的一小部分。真正决定上线成败的是另外三件事:环境是否符合要求、上线前该做的配置是否补齐、出问题时有没有可用的回退路径。
不少团队的做法是先把软件装起来,能登录就算交付完成。等到实际使用才发现页面打不开、附件打不开、邮件发不出去、备份恢复不回来。这些现象的原因大多在部署阶段就已经埋下,只是当时没有验证。
下面按实际交付顺序,把私有化部署项目管理软件拆成六个阶段:确定部署形态与环境基线、准备安装包、安装并启动服务、完成初始化与上线配置、迁移历史数据、验收与回退。每个阶段都给出可观察的结果,你可以逐条核对。命令以禅道的官方安装文档为例,换成其他产品时命令不同,但判断顺序一致。
部署形态与环境基线要怎么定
三种部署方式分别适合什么情况
先选方式,再准备机器。顺序反过来,往往会重复搭一遍环境。
| 部署方式 | 适合情况 | 需要提前准备 | 主要限制 |
|---|---|---|---|
| 集成安装包 | 想尽快跑起来,团队没有专职运维 | 一台 Linux 服务器,/opt 分区有足够空间 | 运行环境随包固定,深度自定义空间小 |
| Docker / Kubernetes | 已有容器平台,希望交付与回滚标准化 | 容器运行时、镜像仓库或离线镜像文件 | 需要熟悉容器网络与存储挂载 |
| 源码安装 | 需要指定版本的 Web 服务器、PHP、数据库 | 自行搭好 Web 服务器、PHP、数据库 | 依赖排查与升级验证成本更高 |
官方文档对集成安装包的说明很直接:包内已包含 Apache、PHP、MySQL,不需要再单独安装。Docker 方式把这套运行环境打包进镜像,适合已经在用容器平台的团队。源码方式灵活,代价是要自己承担环境一致性。
服务器、操作系统与 CPU 架构
生产环境建议跑在 Linux 上。禅道官方 Docker 文档给出的示例环境是 1 核 CPU、1 GB 内存、10 GB 可用磁盘,推荐值提到 2 核 CPU、4 GB 内存、50 GB 以上磁盘,同时说明生产配置要按用户数和项目规模调整。这几个数字可以当作测试环境的起点,不是生产环境的建议值。
两个容易忽略的细节:
- 架构要对上。从 18.5 版本开始,官方 Linux 安装包分为 x86_64 和 arm64 两套,选错架构解压后无法启动。
- 目录要规划。程序、数据库、备份、附件日志尽量落在不同分区,避免数据库写满把整台服务器一起拖垮。备份和数据库放在同一块盘,等于没有异地保留能力。
如果走信创路线,先核对三件套:操作系统、数据库、中间件。禅道与统信 UOS、麒麟、达梦、鲲鹏等平台有可查的兼容性认证记录,具体组合以官方适配清单和当期认证证书为准,不要凭印象选型。
网络、端口与安全策略
这一段最容易被跳过,但它决定了后面会出现多少次「打不开」。
- 只对使用者开放 Web 端口,数据库端口不要暴露到公网。
- 云服务器要在安全组放行 Web 端口;内网服务器要确认本机防火墙和 SELinux 策略。
- 提前确定访问入口:直接用 IP 加端口,还是域名加 HTTPS。后者需要域名解析、证书和反向代理配置,属于上线前必须完成的工作。
- 约好变更窗口和责任人。部署过程通常需要停服或重启,写清谁执行、谁验证、出问题找谁。

第一步:准备安装包与运行环境
公网可达时
到禅道官网下载页面,按操作系统和 CPU 架构选择对应版本与安装包,同时确认这个版本与计划使用的功能范围匹配。不要只挑版本号最大的那个:跨大版本升级对运行环境有额外要求,例如 20.0 及之后版本不再支持 PHP 5.x,沿用旧版集成安装包升级会失败。
内网离线环境
离线环境的准备工作要在有网的地方完成,常见清单是这样:
- 安装包本体,以及官方文档列出的运行环境组件。
- 采用容器方式时,官方支持在线下载和离线导入两种获取镜像的方式:在有网机器上拉取镜像并导出为文件,再拷贝到内网导入。
- 校验文件完整性,比对外部提供的大小或校验值。传输中断造成的包损坏,报错信息通常看不出真实原因。
- 确认目标服务器 /opt 所在分区的剩余空间,并为备份预留额外空间。
第二步:安装、启动并确认服务可访问
Linux 集成安装包
官方推荐的做法是把安装包直接解压到 /opt:
cd /optwget https://www.zentao.net/dl/zentao/<版本>/ZenTaoPMS.<版本>.zbox_64.tar.gztar xvzf ZenTaoPMS.<版本>.zbox_64.tar.gz
两条注意事项都来自官方文档,而且都和权限有关:不要解压到别的目录再拷贝到 /opt,否则文件所有者和读写权限会改变;也不要解压后把整个目录设成 777。
启动与检查:
/opt/zbox/zbox start/opt/zbox/zbox status
官方文档列出的常用参数包括 start、stop、restart、status,以及 18.10 版本起支持的 check,用于按配置检查服务状态。如果默认端口被占用,可以在启动时改端口:
/opt/zbox/zbox --aport 8080 --mport 3307 start
成功信号很明确:命令回显启动成功,status 显示服务在运行,浏览器访问服务器 IP 加端口能看到登录页。
Docker 与容器方式
容器方式的重点在挂载与网络两处:
- 先建好数据目录,把程序目录和数据库目录分别挂载到宿主机,不要只依赖容器内部存储。
- 决定数据库用容器内实例还是外部实例。用外部实例时,连接参数(地址、端口、账号、密码、库名)通过环境变量传入。
- 绑定 Web 端口,确认宿主机端口没有被占用。
- 生产环境建议跑在 Linux 上,镜像同样区分 x86_64 与 arm64。
成功信号是容器状态为运行中、日志没有报错、页面可以打开。
打不开时先查这三处
按顺序查,比反复重装快得多:
- 端口是否被占用或没有监听。
- 本机防火墙、SELinux 是否拦截。
- 云服务器安全组是否放行。
官方文档在访问登录这一节也提示:网页无法访问时,先关闭防火墙和 SELinux 再刷新验证,云服务器注意在安全组开放 Web 端口。验证通过后,再按最小开放原则把策略收紧回来。
首次登录要立刻做的事
默认管理员账号是 admin、初始密码是 123456,这属于公开信息。装完第一件事就是改密码,并在团队开始使用前禁掉所有默认值。
第三步:完成初始化与管理端配置
安装只是让程序跑起来,这一步才让它变成你的系统。
- 确认数据库连接参数、数据目录、附件目录,并记入运维文档。
- 设置组织名称、语言和时区。时区设错会直接反映在时间记录和统计报表上,后期修改涉及历史数据,尽量一次设对。
- 指定备份目录并确认可写。备份目录不与其他高写入目录同盘更稳妥。
- 如果可以导入演示数据,正式环境不要导入,或者导入后清理干净。
- 确认这套系统覆盖的管理主线与团队实际流程一致。禅道的项目管理、需求、任务、测试用例与 Bug 在同一套数据结构里互相关联,流程梳理要在批量开通账号之前完成。
第四步:上线前要落实的几项配置
下面这几项没做完就把系统开放给团队,出问题的概率远高于预期。
| 配置项 | 为什么必须先做 | 完成信号 |
|---|---|---|
| 域名与 HTTPS | 明文传输会暴露会话与附件链接 | 域名可访问,证书有效,HTTP 能跳转到 HTTPS |
| 组织、角色与权限 | 权限过宽等于数据对所有人开放 | 用三类角色分别登录,可见范围符合预期 |
| 认证方式 | 与内部账号体系打通,人员离职即失效 | 域账号或单点登录可登录,临时账号可冻结 |
| 邮件与 IM 通知 | 通知发不出去,任务流转只能靠口头提醒 | 触发一次指派,接收人收到通知 |
| 定时任务 | 备份、提醒、图表统计都依赖计划任务 | 计划任务记录里出现新的执行条目 |
| 备份与恢复演练 | 没验证过的备份不能算备份 | 把一份备份恢复到测试环境并成功登录 |
域名与 HTTPS 有两种常见做法:直接改集成包里的 Apache 配置加载证书,或者在前端加一层 Nginx 反向代理。官方手册对 Linux 和 Windows 集成包各有一套配置说明,按你的部署方式选。用反向代理时注意保留原有的访问路径规则,否则容易出现登录后跳转异常。
备份要单独说一句。后台路径是「后台 - 系统设置 - 备份」,可以设置是否备份附件,也可以配置备份目录和保存时间;数据量较大的场景,官方建议改用命令行备份。备份文件要定期同步到另一台机器或对象存储,只留在同一台服务器上,服务器故障时备份会一起丢。
第五步:历史数据迁移与试运行
版本一致是前提
迁移的硬性前提是迁移前后版本保持一致。如果旧系统版本较低,官方给出的顺序是:先把旧服务器上的系统升级到目标版本,再在新服务器安装同版本,最后执行迁移。跨操作系统迁移(例如从 Windows 换到 Linux)还有一步容易漏:迁移完成后要在后台修改备份目录设置,改成对应操作系统的目录结构。
执行顺序
- 停服务,避免迁移过程中数据继续写入。
- 备份数据与附件。数据量较大时用命令行备份脚本,不要只依赖页面上的一次点击。
- 传输备份文件到新服务器,并核对文件完整性。
- 在新环境导入数据库,恢复附件。
- 用管理员账号登录,抽查项目、需求、任务、Bug、附件的数量和内容。
试运行与双轨期
切换前留一段双轨期更稳:老系统改为只读,指定一到两个真实项目在新系统里完整跑一个迭代,包括建任务、提交 Bug、走一次发布。这一步能提前暴露权限、通知、字段配置上的问题,代价比全员上线后再回退小得多。
上线验收:怎么判断部署真的成功
部署完成的判断标准不是「页面能打开」,而是下面这些可观察的结果。

- 服务自启:重启服务器后服务能自动启动。集成安装包需要把启动命令加入开机自启,容器方式一般通过重启策略实现。
- 访问入口:域名加 HTTPS 可以访问,外部网络与办公网内表现一致。
- 数据完整性:迁移前后的项目、需求、任务、Bug、附件数量对得上,抽查若干条记录,评论和附件可以正常打开。
- 权限正确:抽查管理员、项目负责人、普通成员三类角色,可见范围与操作权限符合设计。
- 通知可达:指派任务、提交 Bug、评论等动作能触发邮件或 IM 通知。
- 备份可恢复:至少完成一次真实的恢复演练。
- 性能可接受:常用页面在高峰期响应正常,附件上传下载不超时。
- 应急信息归档:管理员账号、数据库账号与端口、备份路径与周期、厂商支持渠道,集中记录在一处。
常见故障与回退方案
| 现象 | 常见原因 | 处理与回退 |
|---|---|---|
| 页面打不开 | 端口未监听或被占用、防火墙或 SELinux 拦截、安全组未放行 | 依次排查端口、本机策略、安全组,确认后再按最小开放原则收紧 |
| 数据库服务启动失败 | 端口冲突、磁盘写满、数据目录权限异常 | 检查端口与剩余空间,确认数据目录属主;必要时从备份恢复 |
| 升级后报错或白屏 | 跨大版本升级、运行环境版本不匹配 | 停止继续操作,按官方升级说明处理;无法定位时回退到升级前的数据库与附件备份 |
| 附件打不开或丢失 | 备份时未勾选附件,或只备份了数据库 | 从包含附件的备份中恢复;后续把附件纳入备份范围 |
| 邮件或 IM 通知发不出 | 邮件服务器参数错误、出站端口被拦 | 检查 SMTP 参数与出站策略,用测试发送定位问题 |
回退原则可以概括为三条:数据库和附件放在同一份备份里;升级或迁移前必须做一次完整备份;恢复步骤要提前演练过。出问题时先恢复服务,再分析原因,不要在故障状态下边查边改。
结语
私有化部署项目管理软件的难点不在命令本身,而在环境基线、上线配置和回退路径这三处。把过程拆成定形态、装环境、起服务、配到位、迁数据、做验收六个阶段,每个阶段留一个可验证的结果,上线过程基本可控。
部署完成之后,工作会转到另一条线上:备份是否按期执行、版本升级如何评估、使用人数增长后容量是否需要扩容。这些日常运维节奏,才是本地部署长期可靠的来源。如果还在评估要不要从 SaaS 转到本地部署,可以先看一份从 SaaS 转向私有化部署的实践复盘,里面有迁移动因和取舍过程。
本文涉及的命令、路径与版本范围以禅道官方使用手册为准,可对照以下页面核验:
- Linux 一键安装包与安装部署总览:https://www.zentao.net/book/zentaopms/458.html
- Docker 方式部署禅道:https://www.zentao.net/book/zentaopmshelp/405.html
- 备份禅道:https://www.zentao.net/book/zentaopms/42.html
- 一键安装包迁移与更新:https://www.zentao.net/book/zentaopms/1428.html
文章标题 :私有化部署项目管理软件怎么部署?从环境准备到上线的完整步骤 ,发布者 :项目管理研究院





























