☰
宝塔面板离线安装:零外网依赖的内网部署三步路径
2026/10/26 10:13:33 网站建设 项目流程

宝塔面板离线安装:零外网依赖的内网部署三步路径

【免费下载链接】btpanel-v7.7.0宝塔v7.7.0官方原版备份项目地址: https://gitcode.com/GitHub_Trending/btp/btpanel-v7.7.0

某政务机房在交付一批新服务器的当天上午,网络与外网完全隔离,只保留一个内网网段,要求当天内把面板装好交给业务组。安装过程无法下载任何包,这正是宝塔面板离线安装的典型场景:资源提前备齐、安装逻辑本地化,全程在内网完成。下文以宝塔 v7.7.0 为例,给出无网络环境部署的可执行路径。

离线资源清单:安装流程的三类网络依赖

动手之前,先通读一遍 install/install_panel.sh,会发现所有外网访问可归为三类:

  1. 系统编译依赖:脚本中 yumPacks/debPacks 列出的约三十个包(gcc、openssl-devel、libxml2、pcre、lsof、cron 等),断网环境的第一前提是本地 yum/apt 源;
  2. Python 运行时:脚本优先下载与系统匹配的预编译 pyenv 包(如 pyenv-el7-x64.tar.gz),匹配不到才从源码编译 Python 3.7.8,再按 pip.txt 安装 psutil、gevent 等 pip 依赖;
  3. 面板主程序:服务脚本 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,建议提前留好空间。

实操路径

资源准备:联网机制作离线安装包

  1. 在联网机上收集完整的 install/ 目录:install_panel.sh、src/ 下的主程序包(panel6.zip、bt6.init、bt7.init)、public.sh、conf/softList.conf;
  2. 按目标系统的版本与架构下载对应预编译 pyenv 包及 pip.txt,再用pip download -r pip.txt拉全依赖,组成本地 wheel 库;
  3. 按脚本内 yumPacks/debPacks 清单同步一份 RPM/DEB 本地源目录;
  4. 拷贝后逐文件校验 md5sum,脚本对下载产物有内置大小校验,文件截断会直接报错退出。

脚本本地化:把网络访问改指向本地目录

  1. 资源包放入目标机 /root/bt-offline,保留相对目录结构(install/pyenv/、src/、conf/);
  2. 修改 install_panel.sh:将 get_node_url 函数整体替换为一行本地目录指向,wget/curl 均支持 file:// 协议读取本地文件;
  3. 把写死指向远程地址的几行下载语句(bt6.init、bt7.init、public.sh、panel6.zip、pip_select.sh)替换为本地 cp 或注释;
  4. ⚠️ 若 /www 下已有站点,脚本会要求输入 yes 强制继续,务必先备份数据再执行。
# 将 install_panel.sh 中 get_node_url() 函数体替换为: download_Url="file:///root/bt-offline"

执行安装:从安装命令到启动验证

  1. 运行安装脚本,提示处输入 y 装到 /www,脚本自动完成 Python 环境、面板部署与系统防火墙策略;
  2. 安装结束会打印内网面板地址与随机账号密码,先抄录下来,断网环境没有第二次获取的机会。
bash install_panel.sh

启动后验证服务与端口:

/etc/init.d/bt status curl -s -o /dev/null -w '%{http_code}\n' 127.0.0.1:8888/login

落地确认:断网环境的三个验证点

  1. status 显示 running,curl 返回 200;
  2. 用内网机器访问http://<内网IP>:8888/<随机路径>,能正常登录面板;
  3. 面板基本信息里查不到外网 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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询