WHMCS — биллинговая система для продажи услуг различных типов. С помощью WHMCS вы сможете продавать виртуальные серверы клиентам в автоматическом режиме. Основные возможности биллинговой системы:

  • регистрация клиентов и учёт их финансовых средств;
  • создание тарифов на услуги;
  • приём платежей от клиентов;
  • автоматическое управление услугами: открытие, остановка, продление.

Настройка интеграции происходит на стороне WHMCS. В статье подробно описан этот процесс.

Для работы модуля интеграции требуется WHMCS версии 8.

Работа модуля протестирована с WHMCS версии 8.8.0.

Установка модуля


Для установки модуля интеграции с VMmanager перейдите в корневой каталог установки WHMCS. Скачайте и распакуйте файлы модуля интеграции:

cd /var/www/html/whmcs/
curl -O https://download.ispsystem.com/extras/whmcs/7/vmmanager6.tar.gz
tar -xzvf vmmanager6.tar.gz
CODE

После распаковки файлов перейдите в интерфейс WHMCS и активируйте загруженный модуль:

  • для WHMCS 7 — SetupAddon Modules → модуль ISPsystem global module → Activate;
  • для WHMCS 8 — System settingsApps & Integrations → модуль ISPsystem global moduleActivate.

Настройка интеграции


Для подключения к VMmanager нажмите System SettingServersAdd New Server.

Укажите настройки подключения к VMmanager:

  • Module — тип сервера. Укажите "VMmanager 6";
  • Hostname or IP address — доменное имя или IP-адрес сервера с платформой; 

    Если используете стандартную конфигурацию, то не указывайте порт для подключения. 

  • Username — email администратора. Используйте учётную запись первого администратора, созданного после установки VMmanager. От имени указанной учётной записи WHMCS будет управлять серверами в VMmanager;
  • Password — пароль администратора. 

Если виртуальные машины будут создаваться в кластере с двумя интерфейсами (с основной и дополнительной сетью), для бриджей на обоих интерфейсах должна быть включена опция Сделать бриджем по умолчанию для создания VM. Подробнее см. в статье Настройки сети на узле кластера.

Настройка тарифного плана


Для настройки тарифа нажмите System SettingsProduct/ServicesProduct/ServicesCreate a New Product.

Основные настройки

Укажите следующие параметры:

  • Product type — выберите Server/VPS;
  • Product Name — произвольное название тарифа;
  • Module — выберите "VMmanager 6".

Нажмите Continue, чтобы создать тариф и перейти к его расширенной настройке. 

Вкладка Module Settings


Укажите следующие параметры:

  • Module Name — используемый модуль интеграции. Выберите VMmanager 6;
  • Server Group — группа серверов услуг;
  • Cluster ID — ID кластера. Отображается на вкладке Кластеры в VMmanager;
  • Source type — тип источника в VMmanager: шаблон операционной системы (ОС) или подготовленный образ диска виртуальной машины (ВМ);
  • Source ID — ID источника:
    • ID образов отображается в VMmanager в разделе Шаблоны → Пользовательские образы;
    • ID шаблонов ОС отображается в VMmanager в разделе ШаблоныОперационные системы;

  • vCPU count — количество процессоров для ВМ;
  • RAM — количество оперативной памяти для ВМ в МиБ;
  • Disk size — размер жёсткого диска в МиБ;
  • Network bandwith — ограничение пропускной способности сетевого интерфейса ВМ в Мбит/с;
  • IP pool ID — ID пула IP-адресов, из которого будет выделен адрес для ВМ. Отображается в VMmanager на вкладке Сети → Пулы IP-адресов;
  • Recipe ID — ID рецепта или скрипта, который будет запущен после установки ОС. Отображается в VMmanager на вкладке Скрипты;
  • Dont wait the OS install — опция активирует услугу до окончания установки ОС;
  • User email verifying option check — опция отключает управление услугой для пользователей с неподтверждённым email. С этой опцией будет запрещено автоматическое создание аккаунтов по запросу из биллинга;
  • Show statistic — опция разрешает просматривать статистику потребления ресурсов ВМ в интерфейсе биллинга;
  • Allow change PTR — опция разрешает изменять доменное имя ВМ;
  • It is VxLAN count — опция переводит тариф в режим обработки заказа виртуальных сетей (VxLAN);
  • Metric Billing — опция включает учёт трафика, потребляемого ВМ.

Настраиваемые опции

Опции тарифного плана в WHMCS — дополнительные ресурсы, которые клиент может заказать за отдельную плату. Биллинг этих ресурсов выполняется отдельно от основной услуги. Количество дополнительных ресурсов клиент определяет самостоятельно на форме заказа услуги.

Настраиваемые опции тарифа объединяются в группы. Каждая группа опций может быть подключена к нескольким продуктам. Рекомендуем для каждого подключения к платформе VMmanager использовать отдельную группу опций.

Для управления группами опций перейдите в раздел System SettingsProduct/ServicesProduct/ServicesConfigurable Options. Вы можете добавить в тарифный план на виртуальные серверы следующие опции:

  • cluster — имя кластера. Должна иметь вид: id_кластера|Название_кластера_отображаемое_пользователю. Например, 1|Cluster 111. id кластеров отображаются в VMmanager на вкладке Кластеры. Тип опции: Dropdown;
  • os — cписок шаблонов ОС, доступных для установки. Должна иметь вид: id_шаблона|Название_шаблона_отображаемое_пользователю. Например, 1|CentOS 7. id шаблонов отображаются в VMmanager на вкладке Шаблоны → Операционные системы. Тип опции: Dropdown;
  • recipe — скрипт, запускаемый после установки ОС. Должна иметь вид: id_скрипта|Название_скрипта_отображаемое_пользователю. Например, 1|LAMP. Чтобы добавить вариант "Без скрипта", укажите id — 0. Например, 0|None. id шаблонов отображаются в VMmanager на вкладке СкриптыДля виртуальных машин. Тип опции: Dropdown;
  • cpu_number — минимальное и максимальное количество процессоров для ВМ. Тип опции: Quantily;
  • ram_mib — минимальное и максимальное количество оперативной памяти для ВМ в МиБ. Тип опции: Quantily;
  • hdd_mib — минимальное и максимальное количество дискового пространства в МиБ. Тип опции: Quantily;
  • ipv4_number — минимальное и максимальное количество IP-адресов для ВМ. Тип опции: Quantily;
  • ipv6_enabled — IPv6-подсеть. Должна включать одну опцию с произвольным именем. Например, on. Тип опции: Yes/No;
  • ipv6_prefix — префикс, выделяемый для IPv6-подсети. Тип опции: Dropdown;
  • network_bandwidth_mbitps — минимальное и максимальное значение пропускной способности сетевого интерфейса ВМ в Мбит/с. Тип опции: Quantily;
  • vxlan_count — количество доступных виртуальных сетей. Тип опции: Quantily.

Подробнее о создании опций см. в официальной документации WHMCS.

Настройка опций тарифного плана

Настройка тарифа для VxLAN

Чтобы создать тариф для продажи виртуальных сетей (VxLAN):

  1. На вкладке Module Settings включите опцию It is VxLAN count.
  2. Настройте количество VxLAN, доступных в тарифе: System SettingsProduct/ServicesProduct/ServicesConfigurable Options → создайте опцию vxlan_count.

Логирование


Чтобы посмотреть лог-файл модуля интеграции, в интерфейсе WHMCS перейдите в UtilitiesLogsModule Log.

Если в лог-файле встречаются ошибки вида "Module Create Failed", проверьте активирован ли модуль интеграции.