⚡ 快速开始
📋 安装要求
| 配置项 | 最低要求 | 推荐配置 | 说明 |
|---|---|---|---|
| CPU | 2核 | 4核+ | 需支持 VT-x/AMD-V 虚拟化 |
| 内存 | 4GB | 8GB+ | KVM虚拟机运行需要充足内存 |
| 磁盘 | 50GB | 200GB+ | 虚拟机镜像存储空间 |
| 架构 | x86_64 | x86_64 | 暂不支持 ARM 架构 |
| 操作系统 | 版本要求 | 支持状态 | 说明 |
|---|---|---|---|
| Ubuntu(推荐) | 24.04 LTS | ✅ 必须使用 | 官方推荐,经过完整测试 |
| Ubuntu | 20.04 / 22.04 | ❌ 不支持 | 存在兼容性问题,请勿使用 |
| Debian | 11 / 12 | ❌ 不支持 | 仅支持 Ubuntu 24.04 |
| CentOS | 7 / 8 / Stream 9 | ❌ 不支持 | 仅支持 Ubuntu 24.04 |
| Fedora | 最新版 | ❌ 不支持 | 仅支持 Ubuntu 24.04 |
| 端口 | 默认值 | 用途 | 备注 |
|---|---|---|---|
| Web端口 | 80 | Web控制台访问 | 可自定义 |
| Websockify | 6080 | noVNC代理 | VNC Web访问必需 |
| SSH | 22 | 远程管理 | 节点连接必需 |
| VNC范围 | 5900-6000 | 虚拟机控制台 | 可自定义范围 |
| Libvirt | 16509 | Libvirt远程连接 | 可选 |
proc_open、exec、shell_exec、passthru 函数用于 WebSSH 终端和 KVM 虚拟机管理。安装脚本会自动解除这些函数的禁用,手动部署时请务必检查。
必需 PHP 扩展
| 扩展名 | 包名(Debian/Ubuntu) | 包名(CentOS/RHEL) | 用途 |
|---|---|---|---|
| mysqli / mysqlnd | php-mysql | php-mysqlnd | MySQL 数据库连接 |
| curl | php-curl | php-curl | HTTP 请求、API 调用、支付回调 |
| gd | php-gd | php-gd | 图片处理、验证码生成 |
| xml | php-xml | php-xml | XML 解析、数据交换 |
| mbstring | php-mbstring | php-mbstring | 多字节字符串处理(中文支持) |
| openssl | php-openssl | php-openssl | HTTPS、加密、签名验证 |
| zip | php-zip | php-zip | 文件压缩/解压 |
| fileinfo | php-fileinfo | php-fileinfo | 文件类型检测 |
宝塔面板 PHP 扩展安装
| 扩展名 | 用途 |
|---|---|
| fileinfo | 文件上传类型检测(PHP 自带,需启用) |
| xload | xload 解密扩展,用于解密 xload 加密脚本 |
必须删除的禁用函数(关键)
| 函数名 | 用途 | 删除后影响功能 |
|---|---|---|
proc_open |
WebSSH 终端进程管道 | WebSSH 无法建立终端连接 |
exec |
virsh / qemu-img 等 KVM 管理命令执行 | 无法创建/管理虚拟机 |
shell_exec |
SSH 远程命令、系统命令调用 | 节点连接、远程命令执行失败 |
passthru |
原始输出命令执行 | 命令实时输出无法显示 |
操作步骤(宝塔面板)
进入 PHP 设置
宝塔面板 → 软件商店 → 找到已安装的 PHP 版本 → 点击「设置」。
打开禁用函数列表
在 PHP 设置面板左侧菜单中,点击「禁用函数」。
删除 4 个函数
在禁用函数列表中找到并删除:proc_open、exec、shell_exec、passthru。点击「保存」。
重启 PHP-FPM
返回 PHP 设置面板,点击「重启」按钮,或执行命令:systemctl restart php-fpm(PHP 7.4 为 systemctl restart php7.4-fpm)。
验证函数可用
在网站根目录创建 test.php,内容为 <?php echo function_exists('proc_open') ? 'OK' : 'FAIL';,访问该页面,显示 OK 即为成功,验证后请删除该文件。
PHP 配置参数(生产环境推荐)
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| memory_limit | 256M | 脚本内存限制,KVM 操作需要较大内存 |
| max_execution_time | 300 | 最大执行时间(秒),ISO 转换等操作耗时较长 |
| max_input_time | 300 | 输入解析最大时间 |
| upload_max_filesize | 100M | 上传文件大小限制 |
| post_max_size | 100M | POST 数据大小限制 |
| display_errors | Off | 生产环境关闭错误显示 |
| opcache.enable | 1 | 开启 OPcache 加速 |
| opcache.memory_consumption | 128 | OPcache 内存大小(MB) |
| opcache.max_accelerated_files | 10000 | 最大缓存文件数 |
PHP-FPM 进程池优化(8核/16GB 服务器)
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| pm | static | 进程管理模式,高并发推荐 static |
| pm.max_children | 24 | 最大子进程数 = CPU核数 × 2~4 |
| pm.start_servers | 16 | 启动时进程数 |
| pm.max_requests | 1000 | 单进程最大请求数,防止内存泄漏 |
| request_terminate_timeout | 60 | 请求超时时间(秒) |
Web 运行环境
| 软件 | 版本要求 | 用途 |
|---|---|---|
| Nginx | 1.18+ | Web 服务器、反向代理 |
| PHP(必须) | 7.4(仅此版本) | 后端运行环境(不支持 PHP 8.x) |
| PHP-FPM | PHP 7.4 版本 | FastCGI 进程管理器 |
| MySQL / MariaDB | 5.7+ / 8.0+ / 10.3+ | 数据库存储 |
KVM 虚拟化环境
| 软件 | 包名 | 用途 |
|---|---|---|
| QEMU-KVM | qemu-kvm | KVM 虚拟化核心 |
| Libvirt | libvirt / libvirt-daemon-system | 虚拟机管理接口 |
| Bridge Utils | bridge-utils | 网桥配置 |
| Virt Manager | virt-manager / virt-install | 虚拟机管理工具 |
| Libguestfs | libguestfs-tools | 虚拟机磁盘操作 |
| genisoimage / mkisofs | genisoimage / mkisofs | Cloud-init ISO 生成(密码设置必需) |
| TigerVNC | tigervnc-standalone-server / tigervnc-server | VNC 远程控制台 |
| websockify | pip3 install websockify | noVNC Web 代理 |
系统工具与网络
| 软件 | 包名 | 用途 |
|---|---|---|
| OpenSSH Server | openssh-server | SSH 远程管理、节点连接 |
| sshpass | sshpass | SSH 免交互密码登录 |
| Python3 + pip | python3-pip | websockify 等工具安装 |
| Git | git | 代码版本管理 |
| Wget / cURL | wget | 文件下载 |
| Net Tools | net-tools | 网络诊断工具(ifconfig 等) |
| Unzip | unzip | 压缩包解压 |
| iptables | iptables-persistent / iptables-services | 防火墙规则持久化 |
系统性能优化(脚本自动配置)
🔧 四种安装模式
单控制台安装
仅安装Web管理面板,需搭配其他KVM节点使用。适合集中管理多台服务器的场景。
KVM计算节点安装
仅安装KVM虚拟化运行环境,不含Web控制台。适合作为被管理的计算节点。
全量安装
控制台 + KVM 完整功能。适合单机部署、测试环境或小规模使用。
仅KVM+VNC后端服务
安装所有后端服务(KVM/VNC/websockify/frpc),不含Nginx/MySQL。保留服务器正常访问,防火墙仅追加端口。
📖 各模式详细说明
适用场景
适合已有KVM计算节点,需要一个集中管理控制台的场景。例如:多台服务器分布在不同机房,统一管理。
安装内容
交互配置项
| 配置项 | 默认值 | 说明 |
|---|---|---|
| Web端口 | 80 | 控制台监听端口 |
| MySQL root密码 | 交互输入 | 数据库管理员密码 |
| 管理员用户名 | admin | 后台登录账号 |
| 管理员密码 | admin123 | 后台登录密码 |
适用场景
适合作为KVM计算节点,由远程控制台管理。不安装Web控制台,节省资源。
安装内容
交互配置项
| 配置项 | 默认值 | 说明 |
|---|---|---|
| 存储路径 | /guojici/kvm-storage | 虚拟机磁盘存储位置 |
| Websockify端口 | 6080 | noVNC代理端口 |
| VNC起始端口 | 5900 | VNC端口范围起始 |
| VNC结束端口 | 6000 | VNC端口范围结束 |
适用场景
单机完整部署,包含控制台和KVM虚拟化。适合测试环境、个人学习或小规模生产环境。
安装内容
适用场景
需要在已有Web服务的服务器上部署KVM后端,或希望保留服务器现有环境不变。防火墙仅追加端口,不影响现有服务。
安装内容
交互配置项
| 配置项 | 默认值 | 说明 |
|---|---|---|
| 存储路径 | /guojici/kvm-storage | 虚拟机磁盘存储位置 |
| Websockify端口 | 6080 | noVNC代理端口 |
| VNC端口范围 | 5900-6000 | 虚拟机控制台端口 |
| SSH端口 | 22 | 远程管理端口 |
| FRP服务器配置 | 交互配置 | 可选,用于NAT穿透 |
🐳 Docker 扩展组件
系统基于 Docker 提供以下扩展组件,可根据实际需求选择安装。
frpc 内网穿透
用于将内网服务器映射到公网,支持远程访问控制台和虚拟机。无公网 IP 的服务器必须安装。
trwebocr 验证码识别
用于验证码自动识别服务,验证码生成和校验依赖此组件,系统正常运行必须安装。
Ollama AI 引擎
AI 智能管理功能的本地大模型引擎。需要 AI 相关功能时安装,不使用 AI 可跳过。
安装 Docker 环境
docker -v 检查,有版本输出则跳过。
安装 frpc(必装)
安装 trwebocr(必装)
安装 Ollama(AI 功能需要)
🎯 安装后操作
检查服务状态
安装完成后,脚本会自动验证各项服务。如需手动检查,可执行 systemctl status nginx php-fpm mysql libvirtd。
访问管理后台
打开浏览器访问 http://服务器IP/admin/login.php,使用安装时设置的管理员账号登录。
添加KVM节点(控制台模式)
如果是模式1安装,需要在其他服务器安装KVM节点后,在管理后台「多机管理」中添加节点信息。
配置存储池ISO
在存储池目录(如 /guojici/kvm-storage/iso)上传系统ISO镜像,用于创建虚拟机。
🛠️ Ubuntu 24 KVM 环境配置教程
步骤 1:安装必要工具
步骤 2:genisoimage 替代方案(如安装失败)
genisoimage 可能被 xorriso 替代。如果安装失败,请使用以下替代方案。
步骤 3:检查 libvirt 服务状态
步骤 4:检查存储池
步骤 5:创建 ISO 目录并上传镜像
步骤 6:在管理后台配置镜像路径
- 镜像文件路径:
/var/lib/libvirt/images/iso/ubuntu-22.04.iso - 预装镜像路径(可选):
/var/lib/libvirt/images/ubuntu2204-preinstalled.qcow2
📥 资源下载
❓ 常见问题
核验码验证失败怎么办?
请确保核验码正确且未过期。如果是新设备,系统会自动创建激活记录。验证失败超过5次将中止安装,请检查网络连接或联系管理员获取新核验码。
安装后无法访问Web界面?
1. 检查防火墙/安全组是否开放Web端口(默认80)
2. 检查Nginx服务状态:systemctl status nginx
3. 查看Nginx错误日志:tail -f /var/log/nginx/error.log
如何切换域名访问?
系统支持域名自动验证切换。当检测到新域名访问时,会自动触发远程验证并更新域名绑定,无需重新激活。
模式4和模式2有什么区别?
模式4包含frpc客户端安装,支持NAT穿透,防火墙采用"仅追加"策略保留正常访问。模式2不安装frpc,防火墙会重置规则。两者都不安装Nginx/MySQL。