宝塔面板离线安装:零外网依赖的内网部署三步路径
【免费下载链接】btpanel-v7.7.0宝塔v7.7.0官方原版备份项目地址: https://gitcode.com/GitHub_Trending/btp/btpanel-v7.7.0
某政务机房在交付一批新服务器的当天上午,网络与外网完全隔离,只保留一个内网网段,要求当天内把面板装好交给业务组。安装过程无法下载任何包,这正是宝塔面板离线安装的典型场景:资源提前备齐、安装逻辑本地化,全程在内网完成。下文以宝塔 v7.7.0 为例,给出无网络环境部署的可执行路径。
离线资源清单:安装流程的三类网络依赖
动手之前,先通读一遍 install/install_panel.sh,会发现所有外网访问可归为三类:
- 系统编译依赖:脚本中 yumPacks/debPacks 列出的约三十个包(gcc、openssl-devel、libxml2、pcre、lsof、cron 等),断网环境的第一前提是本地 yum/apt 源;
- Python 运行时:脚本优先下载与系统匹配的预编译 pyenv 包(如 pyenv-el7-x64.tar.gz),匹配不到才从源码编译 Python 3.7.8,再按 pip.txt 安装 psutil、gevent 等 pip 依赖;
- 面板主程序:服务脚本 bt6.init/bt7.init、public.sh、panel6.zip、softList.conf 共四类文件,本仓库 install/ 目录下全部具备。
两类情况可以不管:脚本中的时间同步、外网 IP 查询(Get_Ip_Address)、安装统计上报在断网时都会失败,但不影响安装结果,面板地址会改用内网 IP 输出;系统要求为 64 位、CentOS 7/8、Ubuntu 18+、Debian 9+,内存小于等于 1G 时脚本会自动创建 1G swap,建议提前留好空间。
实操路径
资源准备:联网机制作离线安装包
- 在联网机上收集完整的 install/ 目录:install_panel.sh、src/ 下的主程序包(panel6.zip、bt6.init、bt7.init)、public.sh、conf/softList.conf;
- 按目标系统的版本与架构下载对应预编译 pyenv 包及 pip.txt,再用
pip download -r pip.txt拉全依赖,组成本地 wheel 库; - 按脚本内 yumPacks/debPacks 清单同步一份 RPM/DEB 本地源目录;
- 拷贝后逐文件校验 md5sum,脚本对下载产物有内置大小校验,文件截断会直接报错退出。
脚本本地化:把网络访问改指向本地目录
- 资源包放入目标机 /root/bt-offline,保留相对目录结构(install/pyenv/、src/、conf/);
- 修改 install_panel.sh:将 get_node_url 函数整体替换为一行本地目录指向,wget/curl 均支持 file:// 协议读取本地文件;
- 把写死指向远程地址的几行下载语句(bt6.init、bt7.init、public.sh、panel6.zip、pip_select.sh)替换为本地 cp 或注释;
- ⚠️ 若 /www 下已有站点,脚本会要求输入 yes 强制继续,务必先备份数据再执行。
# 将 install_panel.sh 中 get_node_url() 函数体替换为: download_Url="file:///root/bt-offline"执行安装:从安装命令到启动验证
- 运行安装脚本,提示处输入 y 装到 /www,脚本自动完成 Python 环境、面板部署与系统防火墙策略;
- 安装结束会打印内网面板地址与随机账号密码,先抄录下来,断网环境没有第二次获取的机会。
bash install_panel.sh启动后验证服务与端口:
/etc/init.d/bt status curl -s -o /dev/null -w '%{http_code}\n' 127.0.0.1:8888/login落地确认:断网环境的三个验证点
- status 显示 running,curl 返回 200;
- 用内网机器访问
http://<内网IP>:8888/<随机路径>,能正常登录面板; - 面板基本信息里查不到外网 IP、部分云功能不可用属于正常现象,本地安装已完成,不影响日常管理。
8888 不通时,原因多在防火墙策略——脚本只操作本机 iptables/firewalld/ufw,机房统一安全策略需要单独放行,别怀疑面板本身。
后续操作
- 软件商店里的运行时(nginx/php/mysql 等)同样走下载节点逻辑,断网部署前先确认需求清单并预置对应离线包;
- 把面板随机路径、账号密码、8888 放行策略写进机房资产文档,避免人员交接后无从找起。
装完后的第一件实事:改掉默认密码,并把 /www/server/panel/data 目录备份到机房 NAS;计划批量铺开时,先在一台测试机上完整跑一遍「离线安装 → 装一套运行时」的流程,确认本地源无误再推全机房。
【免费下载链接】btpanel-v7.7.0宝塔v7.7.0官方原版备份项目地址: https://gitcode.com/GitHub_Trending/btp/btpanel-v7.7.0
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考