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

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

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

Обратите внимание!

Работа модуля интеграции не тестировалась с WHMCS версии 7.8.3 и выше.

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


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

cd /var/www/html/whmcs/
curl -O http://download.ispsystem.com/extras/whmcs/7/whmcs_isp_vm.tar.gz
tar -xzvf whmcs_isp_vm.tar.gz
DIFF

После распаковки файлов перейдите в интерфейс WHMCS и активируйте загруженный модуль: Setup → Addon Modules модуль ISPsystem global module кнопка Activate

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


Для подключения к VMmanager нажмите Setup → Products/Services → Servers кнопка Add New Server.

Блок Servers

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

  • Name — имя подключения к VMmanager; 
  • Hostname — доменное имя сервера с VMmanager; 
  • IP addres — адрес для подключения к серверу. 

Блок Server Details

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

  • Type — тип сервера. Укажите "VMmanager"; 
  • Username — имя пользователя в подключаемом VMmanager. Для интеграции используется учётная запись с уровнем доступа "Администратор". От имени указанной учётной записи WHMCS будет управлять серверами в VMmanager; 
  • Password — пароль учётной записи. 

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


Для настройки тарифа нажмите Setup → Product/Services → Product/Services кнопка Create a New Product

Вкладка Details

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

  • Product Type — тип продаваемого продукта. Выбранное значение влияет на способ обработки услуги. Укажите "Dedicated/VPS Server"; 
  • Product Group — группа услуг, в которой будет находиться тариф на форме заказа; 
  • Product Name — имя продукта. 

Вкладка Module Setting

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

  • Module Name — используемый модуль интеграции. Выберите VMmanager
  • Server Group — группа серверов услуг; 
  • Package Name — наименование шаблона виртуальной машины в VMmanager. Отображаются в разделе Шаблоны виртуальных машин
  • Operation System — идентификатор шаблона операционной системы из VMmanager. Для просмотра списка доступных шаблонов используйте функцию <Домен или IP панели управления>/vmmgr?func=osmgr&out=xml; 
  • Disk quota — размер жёсткого диска; 
  • Memory quota — количество оперативной памяти для виртуальной машины; 
  • CPU — количество процессоров для виртуальной машины; 
  • CPU weight — приоритет (вес) использования процессора; 
  • Main IP address type — тип адреса, который будет выделен виртуальной машине. Если поле не заполнено, то используется значение из шаблона виртуальной машины; 
  • SSH public key — публичный SSH-ключ; 
  • Recipe Name — имя файла рецепта, который будет запущен после установки операционной системы (ОС). Для локальных рецептов укажите имя вида #local__<имя рецепта>, файлы локальных рецептов расположены на сервере с VMmanager в директории /usr/local/mgr5/etc/recipes/local/. Для рецептов из репозитория укажите имя вида <имя репозитория>__<имя рецепта>, файлы рецептов из репозитория расположены на сервере с VMmanager в директории /usr/local/mgr5/etc/recipes/repo/<имя репозитория>/
  • Dont wait the OS install — опция отключения ожидания установки ОС для активации заказа; 
  • Domain template — шаблон, по которому формируется доменное имя, если клиент не указал его при заказе услуги. 

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

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

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

Для управления группами опций перейдите в раздел Setup → Products/Services → Configurable Options. Добавьте в тарифный план на выделенные серверы опции:

  • Операционная система. В поле Option Name укажите "OS", "os" или "ostemplate". Другие имена опций не поддерживаются; 
  • Предустановленное ПО (рецепты). В поле Option Name укажите "recipe". Другие имена опций не поддерживаются; 
  • IP-адреса. В поле Option Name укажите "IP" для IPv4-адресов и "IPv6" для IPv6-адресов. Другие имена опций не поддерживаются.