15%

全场主机优惠15%

测试技能,享折扣

使用代码:

Skills
开始使用
10.11.2023

如何在 Ubuntu 和 Debian VPS 上安装 CloudPanel

CloudPanel 是一款免费的开源服务器控制面板,专为高性能 VPS 环境而设计。与 cPanel 或 Plesk 等重量级面板不同,它基于轻量级技术栈构建——Nginx、PHP-FPM 以及 MySQL 8.0 或 MariaDB——旨在最大限度地减少资源开销,同时提供企业级服务器管理能力。

本指南将带您完整了解在 Ubuntu 22.04 或 Debian 11 上安装适用于生产环境的 CloudPanel 的全过程,涵盖系统要求、数据库引擎选择、SHA-256 校验和验证以及安装后的访问配置。

什么是 CloudPanel,为何在 VPS 上使用它

CloudPanel(CE——社区版)是一款完全运行在您自有服务器基础设施上的现代控制面板。它不是 SaaS 产品,这意味着没有按站点收取的许可费用,没有供应商锁定,也不依赖第三方平台的正常运行时间。

其核心架构围绕三大支柱构建:

  • Web 服务器管理:原生支持 Nginx,并提供针对 WordPress、Node.js、Python 和静态站点优化的预配置虚拟主机模板。
  • 数据库管理:集成 GUI,用于创建、修改和删除 MySQL 或 MariaDB 数据库、管理用户及调整权限——无需直接访问 CLI。
  • 用户与权限隔离:每个站点在其独立的系统用户下运行,具有隔离的文件权限,从而降低单个被攻破应用程序的影响范围。

其他功能包括 Let’s Encrypt SSL 自动化、按站点切换 PHP 版本(从 PHP 7.1 到 8.3)、SSH/SFTP 访问管理、Varnish Cache 集成、Redis 和 Memcached 支持,以及由 UFW 驱动的内置防火墙管理器。

CloudPanel 与其他控制面板的对比

在选定任何控制面板之前,有必要了解 CloudPanel 在自管理 VPS 领域中相对于最常见替代方案的定位。

功能CloudPanelcPanel/WHMPleskWebmin/Virtualmin
许可费用免费(CE)付费(约 $20/月起)付费(约 $12/月起)免费
最低 RAM2 GB1 GB(推荐 4 GB)1 GB(推荐 2 GB)512 MB
Web 服务器Nginx(主要)Apache(主要)Apache 或 NginxApache(主要)
PHP 版本切换按站点,GUI按账户,GUI按域名,GUI手动/CLI
Let’s Encrypt内置,自动化内置内置基于插件
Node.js / Python 应用原生支持有限支持基于扩展手动
多服务器管理是(WHM)是(Plesk Obsidian)
资源占用极低中等
目标用户开发者、系统管理员共享主机提供商代理商、经销商高级 Linux 用户

CloudPanel 最强的竞争优势在于零成本许可与真正现代化的技术栈相结合。在配备 2–4 GB RAM 的 VPS 托管方案上,它运行高效,不会仅为维持面板本身的运行就消耗大部分可用内存——这在入门级服务器上使用 cPanel 时是一个真实存在的问题。

系统要求

CloudPanel v2 官方支持以下发行版:

  • Ubuntu 22.04 LTS(推荐用于大多数生产部署)
  • Debian 11(Bullseye)

最低硬件要求:

  • vCPU:1 核心(生产工作负载推荐 2 核心以上)
  • RAM:最低 2 GB(如果运行多个站点或 Node.js/Python 应用,推荐 4 GB)
  • 磁盘:最低 10 GB(强烈推荐 SSD;I/O 密集型数据库推荐 NVMe)
  • 网络:静态公网 IP 地址

重要提示:CloudPanel 必须安装在全新、刚完成配置的服务器上。在已安装 Apache、Nginx、MySQL 或其他控制面板的系统上运行安装程序将导致端口冲突和安装失败。请始终从最小化 OS 镜像开始。

如果您使用的是受限的入门级方案,请在继续操作之前验证您的资源分配。在全新安装的情况下,面板的 PHP-FPM 池、Nginx 工作进程和数据库引擎在空闲时合计消耗约 400–600 MB RAM。

第 1 步:通过 SSH 登录您的 VPS

以 root 用户身份连接到您的服务器。如果您的服务器使用密码验证:

ssh root@yourIpAddress

如果您已配置基于 SSH 密钥的身份验证(强烈推荐用于任何生产服务器),命令为:

ssh -i /path/to/your/private_key root@yourIpAddress

yourIpAddress 替换为您服务器的实际公网 IPv4 地址。登录后,验证您运行的是正确的 OS 版本:

lsb_release -a

第 2 步:更新系统并安装必要组件

在运行任何安装脚本之前,请将系统完全更新,并确保所需的工具已安装:

apt update && apt -y upgrade && apt -y install curl wget sudo

此步骤不可省略。CloudPanel 安装程序从外部存储库拉取软件包,需要 curl 进行下载,wget 作为备用获取工具,以及 sudo 用于安装脚本内的权限提升。在过时的系统上运行安装程序可能导致依赖冲突,尤其是 Debian 11 上的 libssl 版本问题。

专业提示:升级完成后,如果应用了内核更新,请在继续操作之前重启服务器:

reboot

大约 60 秒后通过 SSH 重新连接。

第 3 步:选择您的数据库引擎

CloudPanel 支持三种数据库后端。您在此处的选择在本次安装的整个生命周期内是永久性的——安装后在数据库引擎之间迁移需要完整重装和数据迁移。请慎重选择。

MySQL 8.0

MySQL 8.0 是默认选项,也是支持最广泛的选项。它提供卓越的 JSON 支持、窗口函数和改进的 InnoDB 性能。对于 WordPress、Laravel 和大多数 PHP 应用程序,这是推荐的选择。

MariaDB 10.11

MariaDB 10.11 是一个长期支持(LTS)版本,具有强大的 Galera Cluster 兼容性,在某些写入密集型工作负载上性能略好。如果您计划运行 Galera 复制,或者您的应用程序栈明确需要 MariaDB,这是首选。

MariaDB 10.6

MariaDB 10.6 是较旧的 LTS 版本。如果您正在从已运行 MariaDB 10.6 的旧版环境迁移现有应用程序,并且需要避免迁移过程中的架构兼容性问题,则适合使用此版本。

第 4 步:运行 CloudPanel 安装程序

所有三个安装命令使用相同的脚本文件。在执行之前会验证 SHA-256 校验和——这是一个关键的安全步骤,确保下载的脚本在传输过程中未被篡改或损坏。

使用 MySQL 8.0 安装

curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh; 
echo "3c30168958264ced81ca9b58dbc55b4d28585d9066b9da085f2b130ae91c50f6 install.sh" | 
sha256sum -c && sudo bash install.sh

使用 MariaDB 10.11 安装

curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh; 
echo "3c30168958264ced81ca9b58dbc55b4d28585d9066b9da085f2b130ae91c50f6 install.sh" | 
sha256sum -c && sudo DB_ENGINE=MARIADB_10.11 bash install.sh

使用 MariaDB 10.6 安装

curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh; 
echo "3c30168958264ced81ca9b58dbc55b4d28585d9066b9da085f2b130ae91c50f6 install.sh" | 
sha256sum -c && sudo DB_ENGINE=MARIADB_10.6 bash install.sh

了解校验和验证:sha256sum -c 命令计算已下载的 install.sh 文件的 SHA-256 哈希值,并将其与内联提供的预期值进行比较。如果哈希值不匹配,命令链将停止,安装程序永远不会执行。这可防止中间人攻击和损坏的下载。如果您看到来自 sha256sumFAILED 消息,请勿继续——重新下载脚本并验证您的网络连接。

安装过程大约需要 10–20 分钟,具体取决于您服务器的 CPU 速度、RAM 以及到软件包存储库的网络吞吐量。安装程序将:

  1. 为 Nginx、PHP 和所选数据库引擎配置 APT 存储库
  2. 安装并配置所有必需的系统软件包
  3. 为面板配置设置 CloudPanel 的内部 SQLite 数据库
  4. 配置 UFW 防火墙规则(端口 22、80、443、8443)
  5. 为面板管理界面生成自签名 TLS 证书
  6. 启动所有必需的系统服务

第 5 步:访问 CloudPanel Web 界面

安装程序成功完成后,通过浏览器使用 HTTPS 在端口 8443 上访问面板:

https://yourIpAddress:8443

您的浏览器将显示 TLS 证书警告,因为面板默认使用自签名证书。这是预期行为。跳过警告继续(在 Chrome 中:点击”高级”>”继续前往 yourIpAddress”)。

首次设置:系统将提示您创建初始管理员账户。请提供:

  • 用户名(避免使用 adminroot——选择不易猜测的名称)
  • 有效的电子邮件地址
  • 强密码(至少 16 个字符,包含大小写字母、数字和符号)
  • 接受许可条款和隐私政策

完成此表单后,您将被重定向到 CloudPanel 控制台。

安装后:关键配置步骤

安装程序使 CloudPanel 运行起来,但生产就绪的服务器还需要几个额外的加固和配置步骤。

替换自签名证书

端口 8443 上的管理界面使用自签名证书。要将其替换为受信任的证书,请添加一个指向您服务器 IP 的域名,在 CloudPanel 中为该域名创建一个站点,为其签发 Let’s Encrypt 证书,然后在管理区域 > SSL/TLS 下配置 CloudPanel 将该证书用于面板界面。

对于托管在面板后面的站点,CloudPanel 会按站点自动签发 Let’s Encrypt 证书。如果您需要扩展验证或组织验证证书,请考虑专用的 SSL 证书解决方案。

配置防火墙

CloudPanel 的内置防火墙管理器(UFW 封装)可在管理区域 > 安全下访问。默认情况下,它开放端口 22(SSH)、80(HTTP)、443(HTTPS)和 8443(CloudPanel UI)。使用 IP 白名单规则将端口 8443 限制为您的办公室或家庭 IP 地址——这是减少管理界面攻击面最有效的步骤之一。

设置自动备份

CloudPanel 在管理区域 > 备份下包含备份配置部分。为站点文件和数据库配置远程备份目标(AWS S3、Wasabi 或任何兼容 S3 的存储)。不要仅依赖本地备份——磁盘故障或意外的 rm -rf 将同时销毁您的数据和备份。

加固 SSH

如果尚未禁用基于密码的 SSH 身份验证,请立即禁用:

sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd

在执行此命令之前,请确保您的 SSH 公钥已在 /root/.ssh/authorized_keys 中。

常见安装错误及解决方法

错误:sha256sum: WARNING: 1 computed checksum did NOT match

下载的脚本已损坏,或文档中的校验和已更新。重新运行 curl 命令以重新下载脚本,并在继续操作之前对照官方 CloudPanel 文档验证预期校验和。

错误:安装后端口 8443 无法访问

检查 UFW 是否阻止了该端口:ufw status。如果 UFW 处于非活动状态,则防火墙不是问题所在——检查 CloudPanel 服务是否正在运行:systemctl status clp。同时验证您的托管提供商的外部防火墙或安全组(如适用)是否允许 TCP 8443 上的入站流量。

错误:E: Package 'nginx' has no installation candidate'

这通常发生在系统的 APT 缓存过时或 OS 版本不受支持时。使用 lsb_release -a 确认您运行的是 Ubuntu 22.04 或 Debian 11,并在安装程序之前重新运行 apt update

错误:安装程序因 MySQL/MariaDB 冲突而退出

当服务器上存在之前的 MySQL 或 MariaDB 安装时会发生这种情况。CloudPanel 的安装程序不支持升级或与现有数据库安装共存。请配置全新的服务器。

超越单个 CloudPanel 实例的扩展

CloudPanel 被设计为单服务器控制面板。它不原生支持多服务器管理或水平扩展。对于超出单个 VPS 容量的团队,典型的发展路径是:

  • 垂直扩展:升级到更大的 VPS,或迁移到独立服务器方案,以获得完整的硬件隔离、可预测的 I/O 性能,以及无嘈杂邻居影响。
  • 数据库分离:将 MySQL/MariaDB 实例迁移到专用数据库服务器,并将 CloudPanel 的站点指向远程主机。CloudPanel 的站点配置原生支持此功能。
  • 对象存储卸载:将静态资产和媒体上传卸载到兼容 S3 的对象存储,以减少本地磁盘 I/O 并简化备份范围。
  • GPU 工作负载:如果您的应用程序栈包含机器学习推理、图像处理或视频转码,GPU 托管环境可处理这些工作负载,而不会给 Web 服务器带来负担。

对于管理多个客户站点的团队,CloudPanel 的多用户系统允许您为每个客户创建隔离的用户账户,每个账户只能访问自己的站点和数据库——这是在共享虚拟主机平台上支付经销商托管层费用的实用替代方案。

如果您特别需要带有 cPanel 的面板环境——为了与现有客户工作流程兼容或从其他主机迁移——带 cPanel 的 VPS 是一个独立的、专门构建的配置,负责处理 cPanel 许可和集成。

上线前的决策清单

使用此清单确认您的 CloudPanel 安装已准备好投入生产:

  • [ ] OS 是 Ubuntu 22.04 或 Debian 11,基于全新的最小化镜像
  • [ ] 运行安装程序之前已更新所有系统软件包
  • [ ] 脚本执行前已成功验证 SHA-256 校验和
  • [ ] 根据应用程序要求(而非默认假设)选择了数据库引擎
  • [ ] 管理员账户使用不易猜测的用户名和强密码
  • [ ] 通过 CloudPanel 防火墙规则将端口 8443 限制为受信任的 IP 地址
  • [ ] SSH 密码身份验证已禁用;已确认基于密钥的身份验证正常工作
  • [ ] 已为所有托管域名签发 Let’s Encrypt 证书
  • [ ] 已配置远程备份目标并验证了第一次备份
  • [ ] 已配置监控或正常运行时间告警(例如 UptimeRobot、Netdata 或 Prometheus)

常见问题解答

CloudPanel 是否完全免费,包括商业用途?

是的。CloudPanel 社区版基于 MIT 许可证发布,可免费用于个人和商业用途,无按站点或按域名收取的费用。没有付费层——CE 版本是唯一的版本。

我可以在已有网站运行的现有服务器上安装 CloudPanel 吗?

不可以。安装程序需要全新的 OS 环境。在已安装 Nginx、Apache、MySQL 或 PHP 的服务器上安装 CloudPanel 将导致冲突。请将您的站点迁移到专门为 CloudPanel 配置的新服务器。

如果 SHA-256 校验和验证失败会怎样?

安装命令中的 && 运算符确保 bash install.sh 命令仅在 sha256sum -c 以成功代码退出时才执行。校验和不匹配将在安装程序运行之前停止执行。重新下载脚本,并与官方 CloudPanel GitHub 存储库交叉核对预期哈希值。

CloudPanel 是否支持电子邮件托管?

CloudPanel 不包含内置邮件服务器。对于生产电子邮件,请使用专用的电子邮件托管服务,或在不同的服务器或 IP 地址上部署独立的邮件栈(Postfix + Dovecot + Rspamd),以避免因共享 IP 声誉导致的送达率问题。

安装后如何更新 CloudPanel?

CloudPanel 可以通过管理区域 > CloudPanel > 更新下的管理区域 UI 进行更新,也可以通过 CLI 使用 clpctl cloudpanel:update 进行更新。在生产环境中更新之前,请务必查看更新日志,并立即提前进行完整的服务器快照或备份。

15%

全场主机优惠15%

测试技能,享折扣

使用代码:

Skills
开始使用