ChrisKim
Do not go gentle into that good night.
颢天

宝塔面板 7.9.2 降级 7.7.0 方法

宝塔面板是一个国内非常不错的服务器运维面板,目前极大提高了我的服务器操作效率。不过近几个版本宝塔面板变本加厉往面板内塞自家企业版的广告,而且随着版本更新,广告情况越来越糟,现在几乎大多数页面都能找到企业版的广告了。

由于从宝塔切换到其他面板又要折腾,估计还要学习半天使用方法,因此就先从简单的降级开始吧。由于宝塔面板还有收集用户信息的问题,因此我换掉宝塔是迟早的事了。

一些闲话

(不想看可跳过)

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 强制卸载,不会影响面板其他功能。

本文链接:https://www.zouht.com/2906.html
本文使用:CC BY-NC-SA 4.0 许可
# # #
首页      教程      宝塔面板 7.9.2 降级 7.7.0 方法

发表回复

textsms
account_circle
email

  • Kevin's Blog

    感谢分享,已更新。更新后看到这玩意儿应该是哪个hostcli的开心版,不晓得有没有后门。。。。。我又一次用的7.6的开心版装在do的服务器上,后来网站全被感染了

    1 年前 回复
  • err

    博主我按你的教程弄好后,发现在使用网站ssl时候,会弹出报错,报错如下。
    出错了,面板运行时发生错误!
    AttributeError: module ‘OpenSSL’ has no attribute ‘crypto’

    Traceback (most recent call last):
    File “/www/server/panel/pyenv/lib/python3.7/site-packages/flask/app.py”, line 2077, in wsgi_app
    response = self.full_dispatch_request()
    File “/www/server/panel/pyenv/lib/python3.7/site-packages/flask/app.py”, line 1525, in full_dispatch_request
    rv = self.handle_user_exception(e)
    File “/www/server/panel/pyenv/lib/python3.7/site-packages/flask/app.py”, line 1523, in full_dispatch_request
    rv = self.dispatch_request()
    File “/www/server/panel/pyenv/lib/python3.7/site-packages/flask/app.py”, line 1509, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
    File “/www/server/panel/BTPanel/__init__.py”, line 412, in acme
    import acme_v2
    File “class/acme_v2.py”, line 43, in
    class acme_v2:
    File “class/acme_v2.py”, line 1224, in acme_v2
    def create_key(self, key_type=OpenSSL.crypto.TYPE_RSA):
    AttributeError: module ‘OpenSSL’ has no attribute ‘crypto’

    6 月前 回复
    • ChrisKim博主

      @err: 依赖重装了没?

      6 月前 回复
      • err

        @ChrisKim: 重装了,并且又试了pip install -r requirements.txt –force-reinstall,后来有使用了btpip装了一遍还是这样,两台服务器都是最新的宝塔降级7.7.0

        6 月前 回复

颢天

宝塔面板 7.9.2 降级 7.7.0 方法
宝塔面板是一个国内非常不错的服务器运维面板,目前极大提高了我的服务器操作效率。不过近几个版本宝塔面板变本加厉往面板内塞自家企业版的广告,而且随着版本更新,广告情况越来越糟,现…
扫描二维码继续阅读
2022-06-08