宝塔面板是一个国内非常不错的服务器运维面板,目前极大提高了我的服务器操作效率。不过近几个版本宝塔面板变本加厉往面板内塞自家企业版的广告,而且随着版本更新,广告情况越来越糟,现在几乎大多数页面都能找到企业版的广告了。
由于从宝塔切换到其他面板又要折腾,估计还要学习半天使用方法,因此就先从简单的降级开始吧。由于宝塔面板还有收集用户信息的问题,因此我换掉宝塔是迟早的事了。
一些闲话
(不想看可跳过)
wget http://download.bt.cn/install/update/LinuxPanel-7.7.0.zip
网上教程都是用的宝塔官方的链接,而我最近发现官方已经暗改了他们的 7.7.0 升级包,现在下载官方的来降级是没有用的了,怎么降都还是 7.9.2.
不过我在 GitHub 找到了由用户创建的历史版本归档仓库,这个才能成功降级。至于代码安全性,我看这个仓库是用 GitHub Actions 自动与宝塔官方同步的,不存在私自修改代码的情况,应该没有安全问题。
我也上传到了我的云盘:https://run.sh.cn/bt770,也可以从我的云盘下载了再传到服务器
操作方法
记得先切到 root 用户下进行操作
下载 7.7.0 版本更新包
wget https://github.com/wei/baota/releases/download/7.7.0/LinuxPanel-7.7.0.zip
解压
unzip LinuxPanel-7.7.0.zip
压缩包应该会解压得到一个 panel
文件夹,如果不是的话,说明你下载的包不对。
进入文件夹
cd panel/
运行更新脚本降级
bash update.sh
更新脚本执行的覆盖操作,所以可以用来降级。
开启离线模式
前往“面板设置”页面,在上面开启“离线模式”,这样可以防止面板自动更新(不知道宝塔会不会有强制更新,如果有那也太过分了吧)
修复依赖
由于宝塔新版和旧版使用的 Python 软件包版本不同,直接从新版覆盖安装到旧版可能会出现兼容问题。所以要手动重装 Python 软件包到合适的版本。
我自己服务器就一直用的 7.7 版本,运行一切正常,下面是我的面板依赖版本:https://run.sh.cn/bt770
要修复依赖,首先下载上面的 requirements.txt
文件备用,然后 root 执行以下操作。
进入面板 Python 环境
source /www/server/panel/pyenv/bin/activate
备份当前包版本
pip freeze > modules.txt
卸载当前的所有包
该操作将会导致面板暂时异常
pip uninstall -r modules.txt -y
(推荐)更新 pip
pip install --upgrade pip
安装兼容的包
Cython 单独拎出来提前安装是因为有些包需要有 Cython 才能正常安装。
pip install Cython==0.29.21 pip install -r requirements.txt
重启面板
bt 1
退出环境
deactivate
经过上面一顿操作之后,理论上面板就能顺畅得运行了,不会出现奇怪的兼容性问题。如果发现面板反而开不了了,说明环境装的有问题。可以多试几次,或者指定强制重装让 pip 全部再重装一遍:
pip install -r requirements.txt --force-reinstall
Docker 商用模块
宝塔新版本有个 Docker 商用模块,回到旧版本还在并且卸载不掉。可以删除 /www/server/panel/class/projectModel/bt_docker
强制卸载,不会影响面板其他功能。
发表回复