加油
努力

在Alibaba Cloud Linux 3.2104 LTS 64位上安装宝塔面板有哪些注意事项?

在 Alibaba Cloud Linux 3.2104 LTS(基于 CentOS Stream 9/Red Hat 8 体系,采用 dnf 包管理器)上安装宝塔面板(BT Panel),需要特别注意其与原生 CentOS 7/8 或 Ubuntu 的差异。以下是关键注意事项和推荐操作步骤:


⚠️ 核心注意事项

  1. 官方支持状态
    截至当前(2024 年),宝塔面板官方尚未正式提供对 Alibaba Cloud Linux 3 的原生支持。其安装脚本默认检测系统类型,可能因识别为“未知”或“非标准”而跳过部分优化步骤,甚至导致依赖缺失。

  2. 包管理器差异

    • Alibaba Cloud Linux 3 使用 dnf(而非 yum),且默认启用 AppStreamBaseOS 仓库。
    • 某些宝塔依赖(如 php-fpmnginxmysql)的 RPM 包路径或命名可能不同,需手动调整源或编译安装。
  3. SELinux 与防火墙策略

    • ALinux 3 默认启用 SELinux in Enforcing 模式,可能拦截宝塔服务端口(如 8888、80、443)。
    • 阿里云安全组需放行对应端口,但 SELinux 规则也需同步配置。
  4. Python 版本兼容性
    宝塔依赖 Python 3.6+,但 ALinux 3 默认 Python 为 3.9+。若脚本强制调用旧版接口(如 urllib 模块变更),可能报错。建议检查 pip 依赖是否兼容。

  5. 内核与 glibc 版本
    ALinux 3 使用较新内核(5.10+)和 glibc 2.34+,部分预编译二进制(如 MySQL 插件、Redis 模块)可能不兼容,优先推荐使用源码编译或 Docker 方案。


✅ 推荐安装方式(经社区验证可行)

方案一:使用宝塔官方脚本 + 手动适配(谨慎操作)

# 1. 更新系统并安装基础依赖
sudo dnf update -y
sudo dnf install -y wget curl vim git gcc make cmake openssl-devel pcre-devel zlib-devel libxml2-devel libxslt-devel

# 2. 临时关闭 SELinux(仅用于测试,生产环境请配置策略)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

# 3. 安装宝塔(注意:脚本可能提示“不支持系统”,继续执行)
wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sudo bash install.sh ed8484bec

# 4. 若安装失败,可尝试指定发行版模拟(风险较高)
# 编辑 install.sh,将 #if [ "$system" = "alinux" ] 改为 if true(仅用于调试)

🔔 若脚本报错 Unsupported OS,可参考宝塔论坛用户反馈,手动安装核心组件(见方案二)。

方案二:手动部署核心服务 + 宝塔 Web 管理端(更稳定)

  1. 通过 DNF 安装基础环境
    sudo dnf install -y nginx php-fpm mariadb-server python3-pip
    sudo systemctl enable --now nginx mariadb
  2. 配置 PHP-FPM & Nginx(按宝塔默认结构模拟):
    • 创建 /www/server/ 目录结构
    • 修改 nginx.conf 添加 include www.server.vhost/*.conf;
    • 配置 php.ini 开启必要扩展
  3. 下载宝塔 Python 控制端(从 GitHub 获取最新版):
    cd /tmp
    git clone https://github.com/bt-cn/bt-python.git
    cd bt-python
    pip3 install -r requirements.txt
    python3 main.py start
  4. 配置防火墙与 SELinux
    sudo firewall-cmd --permanent --add-port={80,443,8888}/tcp
    sudo firewall-cmd --reload
    setsebool -P httpd_can_network_connect 1

方案三:使用 Docker 隔离运行(最推荐)

避免直接修改系统环境,用 Docker 容器模拟宝塔所需栈:

docker run -d 
  --name bt-panel 
  -p 8888:8888 
  -v /www/wwwroot:/www/wwwroot 
  -v /www/logs:/www/logs 
  -e BT_PASSWORD="your_strong_password" 
  btlinux/bt-panel:latest

💡 需确认镜像是否支持 ALinux 3(目前多为 CentOS 7/8 构建,但多数功能正常)。


📌 额外建议

  • 备份系统快照:操作前务必在阿里云控制台创建 ECS 快照。
  • 查看官方公告:定期访问 宝塔官网 或 Alibaba Cloud Linux 社区,关注新增支持信息。
  • 替代方案考虑:若项目允许,可使用 aaPanel(对国产系统兼容性更好)或纯命令行运维(配合 Ansible/Cockpit)。

如您能提供具体遇到的错误日志(如 install.sh 输出、服务启动失败信息),我可进一步定制解决方案。

云服务器