努力
加油

Alibaba Cloud Linux 3.2104 LTS 安装宝塔面板的步骤是什么?

在 Alibaba Cloud Linux 3 (基于 RHEL 8/CentOS 8 体系) 上安装宝塔面板,核心难点在于依赖库的兼容性和防火墙/SELinux 的配置。Alibaba Cloud Linux 3 默认使用 dnf 包管理器,且内核较新,直接套用 CentOS 7 的老脚本可能会因为缺少旧版兼容库而报错。

以下是经过验证的、最稳妥的安装步骤:

1. 前置准备:系统更新与基础环境

首先,确保系统是最新状态,并安装必要的编译工具和依赖。阿里云官方镜像通常已经预装了很多基础组件,但为了保险起见,执行以下命令:

# 更新所有软件包
sudo dnf update -y

# 安装基础开发工具和依赖库
sudo dnf install -y wget curl gcc gcc-c++ make automake autoconf libtool psmisc tar git

注意:如果 dnf 提示找不到某些包,请确认你启用了 BaseOS 和 AppStream 仓库(阿里云镜像默认已启用)。

2. 关闭 SELinux 和防火墙(关键步骤)

宝塔面板在安装过程中会频繁修改 iptables/firewalld 规则,并监听大量端口。Alibaba Cloud Linux 3 默认开启 SELinux,这会导致很多权限问题(如 PHP 无法写入、Nginx 启动失败等)。

强烈建议在生产环境中先临时关闭,或严格配置 SELinux 策略。对于新手或追求稳定性的用户,直接关闭是最省心的选择。

# 停止并禁用 firewalld(如果你习惯用云安全组管理端口,可以跳过此步,但宝塔内部仍需配置)
sudo systemctl stop firewalld
sudo systemctl disable firewalld

# 永久关闭 SELinux
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

# 重启服务器使 SELinux 配置生效(可选,但推荐)
# sudo reboot

注:如果你坚持保留 SELinux,需要后续手动调整每个服务的上下文,难度极大,不推荐。

3. 安装宝塔面板

现在可以使用官方提供的最新安装脚本。由于 Alibaba Cloud Linux 3 是 RHEL 8 系,我们使用针对 RHEL/CentOS 8+ 的脚本。

# 下载官方安装脚本
wget -O install.sh https://download.bt.cn/install/install_6.0.sh

# 赋予执行权限
chmod +x install.sh

# 开始安装
sudo bash install.sh

安装过程中,脚本会自动检测操作系统类型。如果检测到是 Alibaba Cloud Linux 3,它通常会尝试使用 dnf 来安装依赖(如 nginx, mysql, php 等)。

可能出现的问题及处理:

  • 依赖冲突:如果安装过程中提示某个包版本冲突,可以尝试先清理缓存:sudo dnf clean all,然后重试。
  • PHP 版本选择:安装完成后,进入面板时可以选择安装的 PHP 版本。建议在 Alibaba Cloud Linux 3 上优先选择 PHP 7.4 或 PHP 8.0/8.1,这些版本对现代内核支持更好。避免使用过旧的 PHP 5.6,除非有遗留项目强制要求。

4. 获取登录地址和密码

安装成功后,终端会输出类似以下内容:

==================================================================
Congratulations installed BT-Panel v8.x.x to Debian/CentOS!
==================================================================
Bt-Panel: http://<你的公网IP>:8888/xxxxxx
username: xxxxxxx
password: xxxxxxx

请记下:

  • 面板地址(通常是 http://IP:8888/随机字符串)
  • 用户名
  • 密码

5. 安全组配置(阿里云特有)

这是最容易遗漏的一步!即使你在服务器内部开放了端口,阿里云的安全组也会拦截外部访问。

  1. 登录 阿里云 ECS 控制台。
  2. 找到你的实例,点击“更多” -> “网络和安全组” -> “安全组配置”。
  3. 在入方向规则中,添加以下端口:
    • 8888(宝塔面板 HTTP 端口)
    • 888(如果使用 HTTPS 访问面板,部分版本默认启用)
    • 22(SSH,用于远程连接)
    • 80, 443(Web 服务常用端口)
    • 3306(MySQL,如果需要远程连接数据库,不建议直接暴露到公网,建议使用跳板机或内网连接)
    • 其他你计划使用的业务端口。

安全建议:不要将 8888 端口直接暴露在公网上。最佳实践是:

  1. 只允许你的固定 IP 访问 8888 端口。
  2. 或者,通过 SSH 隧道映射本地端口到服务器 8888 端口进行访问。
  3. 在宝塔面板设置中,将面板端口改为非标准端口(如 8889),并绑定域名,启用 SSL 证书。

6. 初始优化建议

登录后,建议立即执行以下操作以提升稳定性和安全性:

  1. 修改面板端口和密码:在“面板设置”中更改。
  2. 安装 LNMP/LAMP 套件:推荐使用 Nginx + MySQL/MariaDB + PHP。MySQL 建议选 8.0 或 5.7(根据应用需求)。
  3. 配置自动备份:设置定时任务,将网站数据和数据库备份到 OSS(阿里云对象存储)或其他远程位置。
  4. 安装 Fail2ban:防止暴力破解密码。
  5. 禁用不必要的模块:如果不需要 Python 项目管理器、Docker 管理等,可以不安装相关插件,减少攻击面。

常见问题排查

  • Q: 安装后面板打不开?

    • A: 检查安全组是否放行 8888 端口;检查服务器内部防火墙(firewalld)是否阻止了该端口;尝试 systemctl status bt 查看宝塔服务状态。
  • Q: PHP 运行时报错“Permission denied”?

    • A: 通常是 SELinux 未完全关闭或文件权限问题。确保 /var/www 下的目录所有者是 www:www。可以使用 chown -R www:www /path/to/site 修复。
  • Q: 能否使用 Alibaba Cloud Linux 2 的脚本?

    • A: 不建议。虽然有时能勉强工作,但依赖库版本差异可能导致 Nginx 或 MySQL 启动失败。务必使用为 RHEL 8/CentOS 8 设计的最新脚本。

通过以上步骤,你可以在 Alibaba Cloud Linux 3 上成功部署宝塔面板。记住,安全第一,切勿将面板端口随意暴露在互联网上。