Docker 多 PHP 自动 SSL 安全加固

EasyPanel Heavy
开箱即用的虚拟主机控制面板

把虚拟主机控制面板装进容器,一行命令搞定。

一条命令安装

在一台干净的 Linux 服务器上,复制下面的命令执行即可。

bash
bash <(curl -fsSL https://raw.githubusercontent.com/kanglesoft/EasyPanel/main/install.sh)

提示:命令会自动从 GitHub 拉取安装脚本,在干净 Linux 服务器上以 root 运行即可。

bash
git clone https://github.com/kanglesoft/EasyPanel.git && cd EasyPanel && sudo ./install.sh

提示:克隆后进入 EasyPanel 目录运行安装脚本。

root 权限 · 建议使用干净的 Linux 服务器 · 推荐配置 2 核 4G 以上。

卸载与升级

提供干净的卸载脚本与一键升级脚本,业务数据均保存在 ./data,操作安全可控。

卸载(uninstall.sh)

停止并移除容器、清理自定义网络与本地构建镜像;卸载前默认备份 ./data 下全部业务数据。--delete-data 才真正删除持久化数据,外部基础镜像默认保留。

bash
./uninstall.sh                      # 交互式:备份 / 询问是否删数据
./uninstall.sh --yes                # 非交互(仍须 --delete-data 才删数据)
./uninstall.sh --delete-data        # 真正删除 ./data 下所有持久化数据
./uninstall.sh --no-backup          # 跳过卸载前备份
./uninstall.sh --purge-images       # 同时删除外部基础镜像
./uninstall.sh --keep-images        # 连本地构建镜像也保留
./uninstall.sh --purge-docker       # 同时卸载 Docker Engine(高危)

升级(upgrade.sh)

数据安全升级(不停机拉取 → 停机备份 → 重建 → 健康检查):自动 stash 本地未提交改动、fetch + ff-only 合并上拉新版本;停机后先全量备份业务数据再重建容器;端口 3311 / 3312 / 80 与 MySQL 连通健康检查,任一环节失败自动回滚到升级前提交;./data 全程 bind 挂载不受影响,.env 密码保持不变。

bash
./upgrade.sh                          # 交互式升级(本地有未提交改动时询问处理方式)
./upgrade.sh --yes                    # 非交互:自动 stash 本地改动并升级
./upgrade.sh --no-backup              # 跳过升级前备份(不推荐)
./upgrade.sh --no-pull                # 跳过代码拉取,仅备份 + 重建(本地改码后使用)
./upgrade.sh --skip-health-check      # 跳过升级后健康检查(不推荐)
./upgrade.sh --help                   # 查看帮助(-h 亦可)

核心特性

围绕容器化部署的真实能力,开箱即用。

容器化部署

面板、数据库与多版本 PHP 统一由 Docker Compose 编排管理,环境一致、易于迁移。

多 PHP 版本

默认内置 PHP 7.4,可通过 add_php.sh 快速接入 PHP 8.x 独立容器,按需扩展。

自动安装 Docker

在支持的发行版上,安装脚本自动检测并安装 Docker Engine 与 Compose 插件,无需手动预装。

SSL 支持

集成 acme.sh,可在容器内申请并自动续期 Let's Encrypt 证书,HTTPS 开箱即用;证书签发后自动部署到虚拟主机并登记,形成「申请—部署」闭环,续期任务默认注册到容器 crontab。

数据持久化

所有业务数据通过 bind 挂载保存在 ./data 目录,容器重建不丢失。

交互 / 无人值守

可交互设置密码,也支持 --auto 全自动模式,适配自动化批量部署。

Docker 容器管理

在面板内直接查看容器列表,并对容器执行启动、停止、重启操作,便于在现场快速处置服务状态,无需频繁登录宿主机。

专业 HTTP 错误页

重设计全套 14 个 HTTP 状态码错误页,并对默认站点首页去品牌化、移除第三方外链,访问体验更干净、更可控。

核心优势

在开源基础上做的那些改进。

全新现代化界面

重新设计的轻量玻璃拟态控制台,操作更直观、移动端更友好。

可选启用 BBR

一行参数开启 TCP BBR 拥塞控制,显著提升网络吞吐。

超级方便的多版本 PHP

内置 PHP 7.4,配合 add_php.sh 一键拉起 PHP 8.x 独立容器。

自动化 SSL 申请

集成 acme.sh,证书自动申请与续期,HTTPS 开箱即用。

新系统无缝支持

适配 Debian 12 / Ubuntu 24.04 / AlmaLinux / Rocky 等最新发行版。

大量细小 BUG 修复

修复十余处后台/用户面板 HTTP 500(缓存管理、系统设置、节点编辑、域名记录、产品列表等),并修正虚拟主机管理按钮无响应、左侧菜单误链、SSL 菜单误指向等交互问题,同时清理前端模板残留标签与 UI 回归。

支持系统

以下发行版已验证可用于 EasyPanel Heavy 部署。

Debian

Debian 12 Debian 11

Ubuntu

Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04

CentOS

CentOS 7 CentOS 8 CentOS Stream 10 CentOS Stream 9

AlmaLinux

AlmaLinux 10 AlmaLinux 9 AlmaLinux 8

Rocky Linux

Rocky Linux 10 Rocky Linux 9 Rocky Linux 8

内置安全加固

引入全局 CSRF 令牌与敏感操作重新认证机制,并修复开放重定向、登录失败锁定窗口与备份流名等已知安全缺陷;安装期一并强化登录校验、软件源与参数转义等处理。

安装参数说明

通过 install.sh 的参数自定义部署行为(支持组合使用)。

参数 说明
--auto 全自动模式:随机生成密码,不安装额外 PHP 版本,无需交互。
--kangle-pass=XXX 指定面板管理员密码(替换 XXX)。
--mysql-pass=YYY 指定 MySQL root 密码(替换 YYY)。
--php-versions=8.2,8.5 非交互安装额外的 PHP 版本,逗号分隔多个版本号。
--enable-bbr 非交互模式下启用 TCP BBR 拥塞控制,提升网络吞吐。
--force-recreate 强制干净重建:移除旧容器与卷后重新部署。

更新日志

以下变更均来自本项目主分支的真实提交记录。

2026-08 / 09 · 安全复审与收口

  • 安全复审:修正 3 处安全缺陷——开放重定向(M3)、登录失败锁定窗口(H3)、备份流名处理(M6)。
  • 完成安全加固任务,清理体验相关死代码,并新增 Docker 容器管理 能力,可在面板内查看容器并启停重启。

2026-07-25 · 错误页与品牌清理

  • 彻底重设计全套 14 个 HTTP 状态码错误页,并对默认站点首页去品牌化、移除第三方外链。

2026-07-24 · SSL 与交互修复

  • SSL:修复 acme.sh ECC 证书文件名、HTTP-01 webroot 路径,证书签发后自动部署并登记,形成签发闭环。
  • 修复虚拟主机管理按钮无响应、左侧菜单误链、SSL 菜单误指向等交互问题。

2026-07-23 · 安装与稳定性

  • 修复安装脚本(密码注入、local 关键字、网络名称固定为 kangle_net、卸载清理同步)。
  • 修复十余处后台/用户面板 HTTP 500 与死链导航,清理前端残留的 Smarty 标签。