宝塔面板 v7.7.0 离线安装指南:断网服务器 4 步装完
宝塔面板 v7.7.0 离线安装指南:断网服务器 4 步装完
【免费下载链接】btpanel-v7.7.0宝塔v7.7.0官方原版备份项目地址: https://gitcode.com/GitHub_Trending/btp/btpanel-v7.7.0
btpanel-v7.7.0 保存了宝塔面板 v7.7.0 官方原版安装文件。本文给出宝塔面板 v7.7.0 的离线安装方法:把安装包搬进一台没有公网出口的内网服务器,改 8 处脚本读本地文件,装完能用。适合完全隔离的内网环境。
先说清楚
官方装法在断网机器上走不通:install_panel.sh 运行时会到公网节点拉 Python 3.7 环境、面板程序、启动脚本和配置,机器卡几十秒在 "Selected download node...",随后报 "ERROR: Download python env fielded." 或 "下载宝塔失败",直接红字退出。本文只动这一件事:把这些远程下载全部改成读本机磁盘。装依赖、解压、起服务、生成账号,其余流程一律原样跑。
全局一眼看
整个离线部署分 4 个环节,共 6 个操作步:
- 备包:把 7 项文件传进内网机
- 预装:在联网机上把 Python 环境带过来
- 改脚本:8 处网络请求改成读本地
- 跑装验收:执行安装并确认服务在线
一台联网机、一台内网目标机、一个离线文件包,就齐了。
📋 动手之前
文件清单
脚本要拿到的东西一共 7 项,少一项都会在对应环节报错。前 6 项在 install/ 目录里直接取:
| 文件 | 用途 |
|---|---|
| install_panel.sh | 主安装脚本,本文的修改对象 |
| bt7.init | 服务脚本,装成 /etc/init.d/bt |
| panel6.zip | 面板主程序包 |
| softList.conf | 软件列表配置 |
| public.sh | 面板公共脚本 |
| pip_select.sh | Python 环境缺失时的兜底脚本,步骤 3 里注释掉 |
| pyenv 目录 | Python 3.7 环境,步骤 2 在联网机上生成 |
说明:install_panel.sh 的 7 处wget里,实际下载目标是 bt6.init 和 panel6.zip 这组文件,LinuxPanel-7.7.0.zip只被 update 系列脚本使用,离线部署用不到。
机器条件
install_panel.sh 开头有几道硬检查,不满足会直接退出,先对一下:
| 项目 | 要求 |
|---|---|
| 系统 | CentOS 7/8、Ubuntu 16.04 及以上、Debian 9 及以上;CentOS 6 和 Ubuntu 14 会被脚本直接拒绝 |
| 架构 | 64 位,32 位直接报错 |
| 内存 | 低于 1GB 时脚本自动建 1GB 的 /www/swap 交换文件,需要磁盘余量 |
| 磁盘 | 安装目录固定在 /www,至少留 10GB 可用空间 |
| 账号 | root 执行 |
🔧 按顺序做
前 4 步做准备,后 2 步正式安装。每步都有预期输出,不对就停在这一步。
1. 把离线文件包放进目标机
目的:给后续所有本地读取留一个固定位置。
操作:建目录,把 7 项文件通过 U 盘、光盘或内网文件服务器传进去:
mkdir -p /root/btpanel-offline ls -lh /root/btpanel-offline预期:7 项文件都在,大小与联网机上一致,排除 U 盘传输中断的半截文件。
2. 在同版本联网机上预装 Python 环境
目的:这一步最容易被忽略。脚本会依次找 /www/server/panel/pyenv 现成环境、下载 pyenv 压缩包、最后拿 Python 3.7.8 源码现场编译,离线机上后两条路都断,只能走第一条。
操作:
curl -sSO https://raw.githubusercontent.com/8838/btpanel-v7.7.0/main/install/install_panel.sh && bash install_panel.sh tar czf pyenv.tar.gz -C /www/server/panel pyenv # pyenv.tar.gz 拷入 /root/btpanel-offline,离线机上: mkdir -p /www/server/panel tar xzf /root/btpanel-offline/pyenv.tar.gz -C /www/server/panel /www/server/panel/pyenv/bin/python3.7 -V预期:联网机装完能正常登录面板;离线机上最后一条命令打印 Python 3.7.x,说明环境带完整了。联网机与内网机系统版本一致,环境兼容性最好。
3. 把远程下载改成读本地文件
目的:8 处联网点是全部失败源头,逐个换成读本地。
操作:先备份,再改,别跳过备份:
cp /root/btpanel-offline/install_panel.sh /root/install_panel.sh.bak sed -i 's#^wget -O /etc/init.d/bt .*$#cp /root/btpanel-offline/bt7.init /etc/init.d/bt#' /root/btpanel-offline/install_panel.sh sed -i 's#^wget -O /www/server/panel/init.sh .*$#cp /root/btpanel-offline/bt7.init /www/server/panel/init.sh#' /root/btpanel-offline/install_panel.sh sed -i 's#^wget -O panel.zip .*$#cp /root/btpanel-offline/panel6.zip panel.zip#' /root/btpanel-offline/install_panel.sh sed -i 's#^wget -O /www/server/panel/data/softList.conf .*$#cp /root/btpanel-offline/softList.conf /www/server/panel/data/softList.conf#' /root/btpanel-offline/install_panel.sh sed -i '358s#^#\# #' /root/btpanel-offline/install_panel.sh grep -n "raw.githubusercontent\|wget -O" /root/btpanel-offline/install_panel.sh预期:最后一条 grep 无输出,或只剩已注释的行。改完再复查一遍,确认没有遗漏的远程地址;367、403、433、451、452 行 5 处wget由步骤 2 的现成环境绕过,注释与否不影响。
4. 写本地节点文件跳过测速
目的:离线机测 8 个公网节点必然全超时,提前写文件让脚本直接跳过这一段。
操作:
mkdir -p /www echo "http://127.0.0.1" > /www/node.pl预期:安装日志直接打印 "Download node: http://127.0.0.1",不再出现 "Selected download node..."。
5. 运行安装脚本
目的:跑完全部安装流程。
操作:
cd /root/btpanel-offline bash install_panel.sh预期:提示安装到 /www 时输入 y。过程中若检测到已有 Web 或 mysql 环境,会要求输入 yes 强制安装。结尾打印 面板地址、username、password 三行,当场抄下来,默认密码只在这里出现一次,后面登录全靠它。
6. 启动服务并注册开机自启
目的:确认服务在线、自启已注册。
操作:
/etc/init.d/bt start ps aux | grep BT-Panel | grep -v grep chkconfig --list bt预期:能看到 BT-Panel 进程;chkconfig 输出含 bt 的自启项(Ubuntu 用ls /etc/rc3.d | grep bt代替最后一条)。
✅ 怎么算装好了
3 条命令逐条过,预期都写好了:
/etc/init.d/bt status:返回运行中状态。curl -sI http://127.0.0.1:8888/login | head -1:返回 HTTP/1.1 200 OK。ps aux | grep BT-Panel | grep -v grep:能看到面板进程。
三条都符合预期,再用内网电脑浏览器访问安装时抄下的地址,能打开登录页就算装完。
⚠️ 出问题先看这里
只收高频故障,先对现象再动手:
| 现象 | 原因方向 | 处理动作 |
|---|---|---|
| 卡在 "Selected download node..." 不动 | /www/node.pl 没写或写错 | 按步骤 4 重写本地节点文件 |
| 装 curl、unzip 等依赖时报错 | 内网机没有可用的包源 | 提前给 yum/apt 配好内网本地仓库 |
| 报 "ERROR: Download python env fielded." | pyenv 没带全,脚本退回下载路线 | 按步骤 2 重新拷贝 pyenv 目录 |
| 8888 端口打不开 | 服务没起来或资源不足 | /etc/init.d/bt restart,看 /www/server/panel/logs/error.log,用 free -h、df -h 确认内存磁盘 |
收尾
装完的第一件事:登录面板改掉默认密码,随机密码只该存在于安装输出的那几行里。防火墙和安全组按最小原则走,只放行面板需要的端口。第二台机器照做时,/root/btpanel-offline 整个目录原样复用,前提是系统版本一致。
【免费下载链接】btpanel-v7.7.0宝塔v7.7.0官方原版备份项目地址: https://gitcode.com/GitHub_Trending/btp/btpanel-v7.7.0
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考