You are on page 1of 10

Proxmox Provisioning Module

Fast Start Guide


th

May

(Change Log)

Proxmox Provisioning Module


v
. Description
a. Proxmox Module is intended for Selling KVM and OpenVZ VMs through
WHMCs, it handles Selling, buying, Managing and Administrating VMs
from WHMCS side.
b. Module use Proxmox API v
c. IF planning to use Auto IP for KVM, then SSH is used and so the proxmox
nodes need to be configured in WHMCS using a pam user login not pve.

. Considerations
a. First Make Sure Proxmox Hardware is up and Proxmox GUI is accessible,
confirm functionality by creating Dummy Users and VMs through GUI.
b. WHMCS need connectivity with the GUI cluster node over port
(SSL),
so make sure port is open, otherwise you can specify the custom port while
adding nodes in WHMCS > Proxmox Manager > auto detect/Add node area.
c. You need to decide environment Sizing and overbooking strategy to be able
to decide the type of Virtualization you will go with either OpenVZ, KVM
or both and the Max number of VMs you plan to sell on each node in cluster.
d. WHMCS will need to have access to ModulesFactory website to be able to
validate license key from time to time, the needed ports is port
and port
on:
modulesfactory.com

.Module Installation
a. Access your Client area, My Services Page on
https://modulesfactory.com/clientarea.php?action=products

b.
c.
d.
e.

Note down your License Key.


Download the Package from Product Page Downloads area and unzip it.
Copy content of uploadme folder to your WHMCS Root folder using FTP.
Access your WHMCS Admin area and head to :
. Top Menu > Setup > Addon Modules
. Find Proxmox Manager in list.
. Click Activate.
. Click Configure and Enter your License.
. Click Save Changes.

f. Head to Top Menu > Addons > Proxmox Manager


. If license error is shown, contact support
. As long as no License error then Installation is complete
and you can proceed with Configuration Step.
g. Module Languages:
a. Admin Area: language files can be found under
(/modules/addons/proxmox/pages/lang)
Language depend on: Setup > General Settings > Localization >
Default Language value.
Naming: main_<lang>.php, operations_<lang>.php
Lang bits: copy the content to new file and name file according to
Naming, then translate the right side of =>
b. Client are: Language Files can be found under:
(/modules/servers/proxmox/lang/)
Language depend on: Client chosen language
Naming: <lang>.php
Lang bits: copy the content to new file and name file according to
Naming, then translate the right side of =>

.Module Configuration:
a. Servers Setup (Nodes)
- With version
up, in Addon you will find Auto Discover and Add
node under Server setup Menu, to assist/automate adding importing
nodes into WHMCS, recommended to use auto discover
i. Note about server Parameter relation ( auto discover do this for you)
. Parameters:
NAME
HOSTNAME

: (whatever you would like to name it inside WHMCS).


: Proxmox Node Name as shown in Proxmox GUI.

Max no. of Accounts: Maximum VMs to host on this server


Type

: proxmox

IP Address
: Proxmox GUI IP-address, if custom port other than
then specify it using example:
similar provide
different ssh port
use this syntax
::
Username
: GUI login must have Administrator or PVEAdmin
role, for Auto IP for KVM, need to be a PAM user like root
Password

: GUI Password for the specified username.

AccessHash : Authentication Domain, ex pam,pve,ldap For OS


users like root pam else mostly will be pve, use PAM is
recommended for making use of SSH feature for openvz change
password, adding TAP/TUN adapter features and KVM auto ip.
. As per above, imagine if you have Proxmox cluster with nodes then
you will actually create servers on WHMCS with the same info except
for NAME and HOSTNAME which will be different based on node
name inside cluster.

ii. Module support WHMCS server load sharing configuration, as long as each
Server has a corresponding VM Template under:
WHMCS Admin > Addons > Proxmox Manager > Auto Provisioning
b. Automatic Provisioing >> VM Templates
WHMCS Admin > Addons > Proxmox Manager > Auto Provisioning
. For the Same server, you need to create a VM configuration for each type of
virtualization you want to sell, so if plan to host OpenVZ and KVM on one
server, then you will have to create two VM configuration one for OpenVZ and
one for KVM , you have option to limit template to certain products.
. While creating VM Templates you will have an option to choose server group,
and Limit to parameters, even though those are optional yet you need to
understand how it works, this is a powerful setting, if you specify a server
group in product then it will search for the vm Template which has server group
specified and follow Limit to, if fails to find it, then will fall to the vm Template
with server group set to any (general) and Limit To Product, if not then for VM
Template with group any and Limit to field empty, if still fails to find one then
function Fails
. Some Settings offer Fixed or Config Options, this allows you to sell the
setting using config options, you basically just head to Setup >
Products/services > Configurable Options, create the configurable option
then go back and specify its name, and make sure in Product setup in
configurable option tab to choose the group this setting belongs to.

c. Manual Provisioning:
With version
, manual provisioning was introduced to allow manual
assigning a ready-made VM to a pending service, this is also usefull for
migration and time to time maintenance.
Setup > Proxmox Manager > VM Setup > Manual provisioning.

d. Product Configuration
Setup > Products/Services > Product/Services
a. Modules auto insert a Welcome Email under name: Proxmox Account
Welcome Email, you can specify it in the Welcome Email setting.
b. You are ready now to create your product, add new product and configure
it normally, head to Modules setting ( rd tab) and choose Proxmox
from Module name dropdown.
c. If error message about License invalid or expired then mostly License
expired or domain/install folder verification failed, contact support.
d. The checkboxes controls what Client area can do, so basically you are
controlling your customers privileges, play with for a while to understand
your need.
e. You able to Limit Traffic usage per month by utilizing the Traffic
Limitation, whether fixed or using configoption to actually allow customer
to buy the needed traffic, this require the Daily cron in WHMCS to be
running.
f. Setting VM Type, choose your virtualization, referring to Module
configuration, you need to have already a vm configuration for this server
and this type of VM (KVM, KVMTEMPLATE or OpenVZ) created.

g. Setting Server Group, Make sure all Servers in this server group have a
VM Template for same server group or server grp in Template set to any.
h. CUSTOM FIELDS: starting version
, all fields are optional, if left
empty they are auto populated, For Openvz vps can auto use the rootpassword and Hostname field in VPS type products, also you can specify
them using custom field under names Root Password and Hostname.
Fields are:
. OS Template: Optional
a. Field Name : OS Template
b. Field Type: Text box
c. Show on Order Form
d. Apply to : OpenVZ
e. Usage: For Value check inProxmox Manager, Auto
provisioning, add/edit VM Template for openvz,
Template Tab
. Username: Optional
a. Field Name : Username
b. Field Type: Text box
c. Show on Order Form
. Root Password: Optional
a. Field Name : Root Password
b. Field Type: password
c. Apply to : OpenVZ
d. Usage: for pass over root password for OpenVZ.
Show on Order Form
. Password: Optional
a. Field Name : Password
b. Field Type: Password
c. Field Description: Minimum Length for this field is
d. Show on Order Form

. Confirm Password: Optional


a. Field Name : Confirm Password
b. Field Type: Password
c. Show on Order Form
. Hostname: Optional
a. Field Name : Hostname
b. Field Type: text box
c. Show on Order Form
i. Configurable Options: if in your VM configuration, you have specified any
setting to use a config option instead of Fixed, and then make sure to
choose the option group it belongs to in here.
e. Product Addons
Addons > Proxmox Manager > Product Addons
a. From here you can add Addon products so users can resize their VM,
Resize = Increase, currently module support Disk space and Memory
resize, more to be added in future.

.Module Management:
Admin Area
Addons > Proxmox Manage > VM Management
i. From here you can search and Operate, manage, Resize, Backup/restore VMs
Addons > Proxmox Manage > Node Management
ii. From here you can check resources usage on nodes and Services status.

Addons > Proxmox Manage > IP Pools


iii. From here you can create/manage your IP pools to be used/assigned in the VM
Templates.
Client Area
iv. Same like Admin area, the functionality in here depends on the settings you
enabled while creating the product; it can be enabled/disable anytime.
Create/Terminate/Suspend/Unsuspend.
Create will create a new VM using current VM configuration.
If client has more than on service and entered same username while
purchase then all is VMS are added under this username, on the other side if
he specify different names while purchasing then each VM is placed under
its username, if no username
Terminate will delete the VM and the assigned User.
Suspend, will delete the user on GUI and suspend the VM in case of KVM,
Stop VM in case of OpenVZ
Un-suspend, will add user on GUI again and resume VM in case of KVM,
start VM in case of OpenVZ
Rebuild/Reinstall
This works in different way than Terminate/create, as it will use same VMID
and will use the old VM configuration at time of VM purchase, so it will not
follow latest changes in VM configuration, for using latest changes, use
Terminate/Create

Backup / Restore
If backup is enabled in VM configuration, then Backup task will take place
on schedule, also if in Product setup, module settings Show Backups Page,
then client will be able to run manual backup, delete old images and run
restore.

Word from Developer


This Modules is under heavy development, Im investing lot of time and efforts in
developing and enhancing it over the coming year, so please feel free to forward to
me at admin@modulesfactory.com all the features that you feel is needed or would
like to have and I will come back to you to discuss it and if valid will put it in
development and provide ETA (Estimated time of Arrival).
Thanks you,
Mohamed Helmy
admin@modulesfactory.com
Modules Factory inc.

You might also like