深浅色
离线安装(不能联网的服务器)
这一篇是干什么的:服务器不能上外网时怎么装。做法是:先在一台能上网的机器上打好一个"安装包",拷进服务器,再安装。

整件事分三步
- 在能上网的机器上,导出离线包
- 把包拷进离线服务器,校验文件完整
- 在服务器上执行安装
开始之前
| 要准备的 | 说明 |
|---|---|
| 离线服务器 | 已装好 Docker Engine 和 Docker Compose v2。这两个没法从包里带,要提前装 |
| 一台"打包机" | 能上网、能跑 Docker 的 Linux 机器,用来导出安装包 |
| 验签公钥文件 | 发行方随包提供,校验安装包真伪用 |
第一步:在打包机上导出离线包
bash
./scripts/export-offline.sh 1.2.0把 1.2.0 换成要导出的版本号。
导出前,这台机器上要有签名好的发布制品(发布清单、SBOM、checksum 和签名),缺一样都会导出失败——这是为了确保打出来的包是正式版本。
跑完生成两个文件:
offline/enterprise-scrm-1.2.0.tar.gz— 离线包本体offline/enterprise-scrm-1.2.0.tar.gz.sha256— 指纹文件
离线包里装着什么:
| 内容 | 说明 |
|---|---|
| 程序镜像 | 后端、网关,加 MySQL、Redis 和一个小工具镜像 |
| 安装材料 | Compose 配置、空数据库结构、安装和灾备脚本 |
| 不含什么 | 任何运行密钥、任何业务数据 |
第二步:拷进离线服务器并校验
用 U 盘、内网文件服务器都行,把两个文件拷到离线服务器上。
拷完先核对指纹,确认文件在传输中没有损坏:
bash
sha256sum -c enterprise-scrm-1.2.0.tar.gz.sha256看到 OK 才算完整。
第三步:解压并安装
bash
tar -xzf enterprise-scrm-1.2.0.tar.gz
cd enterprise-scrm-1.2.0
chmod +x scripts/*.sh
SCRM_INSTALL_PUBLIC_URL=https://你的域名 COSIGN_PUBLIC_KEY_FILE=/path/to/release-public-key.pem ./scripts/install-offline.sh .命令里两处要换成你自己的:
SCRM_INSTALL_PUBLIC_URL:系统对外的网址,填你的域名。COSIGN_PUBLIC_KEY_FILE:验签公钥文件的路径。
末尾那个 . 表示"就在当前文件夹里安装",照抄即可。

安装脚本会按顺序做这些检查,任何一步不过都会停下来:
- 校验发布清单和数字签名(确认这个包是官方出的、没被改过)
- 校验包内每个文件的指纹
- 把程序镜像导入本机 Docker
- 走标准安装流程(和在线安装一样)
第四步:等自检通过
安装脚本最后会等一个叫 /readyz 的自检——它会确认数据库和缓存都就绪才放行。看到安装完成提示、拿到一次性管理员密码,就装好了。
"活着"和"能干活"是两回事
系统有两个体检指标:/healthz 只说明程序活着;/readyz 才说明数据库和缓存都就绪、能接活。安装、升级、回滚看的都是 /readyz。
第五步:配 HTTPS、接企业微信
和在线安装完全一样:
出错了怎么办
| 屏幕上显示 | 什么意思 | 怎么办 |
|---|---|---|
COSIGN_PUBLIC_KEY_FILE is required | 没填验签公钥 | 找到发行方给的公钥文件,把路径填上 |
signed release manifest is missing | 包里缺发布清单 | 包不完整,找发行方重新获取 |
images.tar not found | 没在解压出来的文件夹里执行 | 先 cd 进解压出来的目录再跑 |
| 校验不通过(checksum 错误) | 文件在传输中损坏 | 重新拷一遍;还不行就重新导出 |
常见问题
Q:离线包里会不会带着别人的数据?
不会。包里只有程序,没有任何密钥,也没有任何业务数据。装出来是一个干净的空系统。
Q:以后升级也要离线操作吗?
是。拿到新版本的镜像包后,用升级脚本的离线模式。见升级与回滚。
Q:打包机用什么系统?
用装好 Docker 的 Linux 机器最稳妥。导出脚本本身也要用到 Docker。
Q:离线服务器能不能先装一半、以后联网了再补?
不建议。在线和离线只是获取安装材料的渠道不同,装完的系统是一样的,没必要换来换去。
相关页面
- 安装前准备 — 要提前准备什么
- 在线安装(一步一步) — 服务器能上网时用这篇
- 升级与回滚 — 离线环境的升级方式
- 企业微信接入 — 装完的下一步