第三方模块
市面上有一些商业模块,专门做 WHMCS 与 OpenStack 对接,常见功能包括:
- 自动创建虚拟机(Nova API)
- 配置镜像/网络/Flavor/密钥对
- 自动挂载卷(Cinder API)
- 管理浮动 IP(Neutron API)
- 重装系统 / 重启 / 关机 / 开机
这边使用的模块是OpenStack VPS & Cloud For WHMCS
,首年授权费用为 $499.95 USD,续费为 $374.96 USD。
下载的插件名为 openstack_vps_and_cloud_2.2.3_whmcs.zip,适配我当前 WHMCS 8.11.2 版本。
WHMCS Compatibility: V8.12 back to V8.9
PHP Compatibility: PHP 8.2 back to PHP 8.1
安装模块
解压后的文件目录结构:
WHMCS/
├── includes/
│ └── hooks/
│ └── server_OpenStackVpsCloud.php # WHMCS Hooks 文件,扩展功能
│
└── modules/
└── servers/
└── OpenStackVpsCloud/
├── app/ # 模块核心应用逻辑
├── commands/ # CLI 命令(artisan 风格)
├── core/ # 核心库与框架封装
├── cron/ # 定时任务相关
├── langs/ # 多语言文件
├── packages/ # 附加包/扩展
├── storage/ # 存储目录(缓存、日志、session)
├── templates/ # 前端模板(客户端操作面板)
├── vendor/ # Composer 依赖
│
├── composer.json # Composer 配置文件
├── hooks.php # 模块专用 hooks
├── license.php # 授权文件
├── logo.png # 模块图标
├── modulesgarden.json # ModulesGarden 元数据
├── moduleVersion.php # 模块版本信息
├── OpenStackVpsCloud.php # 模块入口文件(WHMCS 调用)
└── whmcs.json # WHMCS 模块定义文件
我这里的 WHMCS 的安装目录是/data/www/default/whmcs
,所以需要将 hooks 放置到 /data/www/default/whmcs/includes 路径,将 OpenStackVpsCloud 放置到 /data/www/default/whmcs/modules/servers 即可。
chown www-data:www-data -R /data/www/default/whmcs/includes/hooks
chown www-data:www-data -R /data/www/default/whmcs/modules/servers/OpenStackVpsCloud
授权方面,OpenStackVpsCloud 目录下有个 license_RENAME.php 文件,需要先重命名为 license.php 并填入你购买的授权码:
<?php
/*
* LICENSE:
* Please provide your OpenStack VPS And Cloud Module For WHMCS license below
*/
$openstack_vps_and_cloud_licensekey="ModulesGarden_OpenStackVPS_571b1afcf671ae";
还需要给 storage 目录赋予写入权限。
chmod 777 -R /data/www/default/whmcs/modules/servers/OpenStackVpsCloud/storage
最后需要添加一条定时任务:
cat << EOF >> /etc/crontab
*/5 * * * * root php -q /data/www/default/whmcs/modules/servers/OpenStackVpsCloud/cron/cron.php queue
EOF
以上就已经安装好了该插件,后续的配置需要在 WHMCS 管理面板按照官方文档进行操作。
评论区