ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

如何给宝塔面板 v7.7.0 做内网离线安装:断网环境 5 步部署到位

如何给宝塔面板 v7.7.0 做内网离线安装:断网环境 5 步部署到位

如何给宝塔面板 v7.7.0 做内网离线安装:断网环境 5 步部署到位

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

你的 Linux 机器部署在隔离内网,但宝塔面板 v7.7.0 的标准安装命令要从外网拉取安装包,外网不通时安装会卡在下载环节。本文带你在完全断网的机器上完成宝塔面板 v7.7.0 的离线安装:准备哪些文件、怎么把下载源换成本地文件、每步做完怎么确认。

动手前的自检:系统要求与环境确认

安装脚本开头会做一系列硬性检查,不达标会直接退出。先确认环境,能省掉很多返工:

项目最低线建议值
操作系统CentOS 7/8、Ubuntu 18.04+、Debian 9+干净系统
架构64 位(x86_64)x86_64
内存1GB(低于 1GB 时脚本会自动建 1GB swap)2GB 以上
/ 目录剩余空间10GB20GB 以上
权限rootroot

三条命令快速核对:

getconf LONG_BIT # 应输出 64 free -h # 看内存 df -h / # 看剩余空间

另外注意:如果机器上已装有 Nginx、MySQL、PHP 等环境(非面板安装的),脚本会要求你输入 yes 强制安装,干净系统跑一遍最省心。

离线包清单核对:要往服务器上拷什么

安装脚本依赖网络的点,集中在一批文件下载和 yum/apt 系统包上。在一台能上网的机器上取齐这些文件,一次性拷进内网服务器:

文件用途
install_panel.sh安装主脚本
public.sh运行时下载节点选择脚本
bt7.init7.x 服务脚本,装到 /etc/init.d/bt
panel6.zip面板主程序包(约 8.4MB)
LinuxPanel-7.7.0.zip面板主程序包(约 5.4MB),升级场景使用
softList.conf一键软件清单(Nginx/MySQL/PHP 等)
pip_select.shpip 源选择脚本
pyenv-{系统}-{版本}-x{架构}.tar.gz预置好的 Python 3.7 运行环境,按系统命名,如 pyenv-el7-x64.tar.gz

前七个文件都来自仓库的 install/ 目录,主程序包在 install/src/ 子目录里。还要准备两样东西:

  • 系统依赖:脚本会用 yum/apt 装 gcc、make、openssl 等一串包,内网的本地软件源要提前备好(本地 yum 源或 deb 目录)。
  • pip 依赖:脚本会按 pip.txt 安装一批 Python 包。最省事的做法是在一台配置相近的机器上把完整 pyenv 装好后整个拷过来,其次才是备齐 wheel 文件。

建议统一平铺放到服务器 /root/offline 下。

把下载源换成本地文件:两种做法

做法 A:sed 替换下载行为本地拷贝

适合单台机器安装,不依赖任何网络服务。把 install/install_panel.sh 里的 6 条网络下载命令逐条改成本地拷贝:

cd /root/offline sed -i 's|^wget -O /etc/init.d/bt .*|cp /root/offline/bt7.init /etc/init.d/bt|' install_panel.sh sed -i 's|^wget -O /www/server/panel/init.sh .*|cp /root/offline/bt7.init /www/server/panel/init.sh|' install_panel.sh sed -i 's|^wget -O /www/server/panel/install/public.sh .*|cp /root/offline/public.sh /www/server/panel/install/public.sh|' install_panel.sh sed -i 's|^wget -O panel.zip .*|cp /root/offline/panel6.zip ~/panel.zip|' install_panel.sh sed -i 's|^wget -O /www/server/panel/data/softList.conf .*|cp /root/offline/softList.conf /www/server/panel/data/softList.conf|' install_panel.sh sed -i 's|^curl -Ss .*\|bash$|bash /root/offline/pip_select.sh|' install_panel.sh

第一条 sed 会同时命中脚本里两处wget -O /etc/init.d/bt(先下 bt6.init、后下 bt7.init),两行都换成 bt7.init,也就是脚本最终生效的那份,正好符合要求。

做法 B:/www/node.pl 指定内网文件服务器

脚本内置了“指定源”机制:只要存在 /www/node.pl,就按该文件内容取下载地址,不再探测外网节点。内网里有一台 nginx 文件服务器时,这是最干净的离线安装方式:

echo "http://10.0.0.10/bt" > /www/node.pl

文件服务器上的目录按官方结构摆放(install/src/、install/pyenv/ 等),脚本可完全不改。适合“一台文件服务器 + 多台装机”的批量部署。

无论哪种做法,都要先把 yum/apt 源指向内网镜像,否则系统依赖那一步就会卡住。

执行安装并逐步确认

  1. 启动安装,提示安装到 /www 目录时输入 y。这一步开始正式装系统包和面板程序。
bash /root/offline/install_panel.sh
  1. 观察终端输出中的三个标志:“Download node:”一行应显示你指定的本地源;系统包安装无报错;随后进入“Install python env...”或面板解压阶段。用现成 pyenv 时,Python 环境这步会被直接跳过。
  2. 完成后确认 Python 运行环境版本:
/www/server/panel/pyenv/bin/python3.7 -V

应输出 Python 3.7.8。 4. 确认面板主程序文件在位,这两个文件就是脚本自己判成功的依据:

ls /www/server/panel/tools.py /www/server/panel/BT-Panel
  1. 启动服务并验证本地端口:
/etc/init.d/bt start ps aux | grep 'BT-Panel' | grep -v grep curl -I 127.0.0.1:8888/login
  1. 记录账号。安装脚本最后会打印面板地址、随机用户名和 8 位密码,立刻写进运维文档,之后不会再显示第二次。

装完之后的三件事

  1. 验证内网可达。从另一台内网机器打开http://内网IP:8888/随机路径。端口和随机路径分别记录在 /www/server/panel/data/port.pl 和 admin_path.pl 里。
  2. 处理 swap。内存 ≤1GB 时脚本已自动创建 1GB 的 /www/swap,用free -h确认是否生效,再按运维规范决定保留还是清理。
  3. 收敛防火墙。脚本默认放行 20/21/22/80/8888/面板端口/SSH 及 39000-40000 一段端口,内网环境建议只留 SSH 和面板端口。

排错快查:三个高频故障

现象一:报错“下载宝塔运行环境失败”(红字)

  • 定位:ls -lh /www/pyenv.tar.gz,脚本对不足 700KB 的包会直接判为不完整
  • 处理:本地 pyenv 包不全或系统版本不对,重新拷贝对应文件(如 pyenv-el7-x64.tar.gz)后重跑脚本

现象二:安装走完但 8888 端口无响应、找不到 BT-Panel 进程

  • 定位:tail -n 50 /www/server/panel/logs/error.log
  • 处理:看报错是否指向 python 路径或 pip 缺包;服务脚本启动时会自动修正 shebang,先执行/etc/init.d/bt restart,再按日志逐项排查

现象三:本机 curl 通,其他内网机器打不开面板

  • 定位:先curl -I 127.0.0.1:8888/login确认本地正常
  • 处理:基本是网络放行问题,按服务器防火墙、交换机 ACL、云安全组顺序检查,确认面板端口和随机路径在内网可达

验收清单:确认面板真的能用

  • 进程在跑:ps aux | grep 'BT-Panel'有输出
  • 本地响应:curl -I 127.0.0.1:8888/login返回 HTTP 状态
  • 内网可达:另一台机器用 内网IP+端口+随机路径 能打开面板
  • 登录正常:生成的用户名和密码可登入并看到首页
  • 服务脚本正常:/etc/init.d/bt restart执行成功

五项全部勾完,这台机器就算部署完成:把内网面板地址和账号写进团队运维文档,下次装新机器直接照这套离线安装流程走。

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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进