侧边栏壁纸
博主头像
liveJQ博主等级

沒有乐趣,何来开始

  • 累计撰写 189 篇文章
  • 累计创建 69 个标签
  • 累计收到 2 条评论

WHMCS 对接 OpenStack 实现 VPS 自动化

liveJQ
2024-11-18 / 0 评论 / 0 点赞 / 1 阅读 / 1,714 字

第三方模块

市面上有一些商业模块,专门做 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 管理面板按照官方文档进行操作。

相关资料

  1. 插件购买地址
  2. 配置文档
  3. 官网
0

评论区