Personal tools
Namespaces

Variants
Actions

Hosting Quota Notifications 1.X For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
(Configuration of Server)
 
(69 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<meta name="keywords" content="openstack vps for whmcs, openstack vps configuration, whmcs openstack vps management, whmcs openstack vps installation, whmcs openstack vps common problems, about whmcs openstack vps, whmcs openstack vps documentation, whmcs openstack vps faq, whmcs openstack vps help, whmcs openstack vps guide, whmcs openstack vps wiki, whmcs openstack vps tutorial, whmcs openstack vps tips, whmcs openstack vps wiki"></meta>
+
<meta name="keywords" content="hosting quota notifications for whmcs, hosting quota notifications configuration, whmcs hosting quota notifications management, whmcs hosting quota notifications installation, whmcs hosting quota notifications common problems, about whmcs hosting quota notifications, whmcs hosting quota notifications documentation, whmcs hosting quota notifications faq, whmcs hosting quota notifications help, whmcs hosting quota notifications guide, whmcs hosting quota notifications wiki, whmcs hosting quota notifications tutorial, whmcs hosting quota notifications tips, whmcs hosting quota notifications wiki"></meta>
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The OpenStack VPS For WHMCS Module."></meta>
+
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Hosting Quota Notifications For WHMCS Module."></meta>
  
=About [https://www.modulesgarden.com/products/whmcs/openstack-vps OpenStack VPS For WHMCS]=
+
=About [https://www.modulesgarden.com/products/whmcs/hosting-quota-notifications Hosting Quota Notifications For WHMCS]=
 
{|
 
{|
|style="padding: 10px 0px 10px 0px;"|'''OpenStack VPS For WHMCS''' is a module which allows you to automatically provision virtual servers to your customers.<br/>
+
|style="padding: 10px 0px 10px 0px;"|'''Hosting Quota Notifications For WHMCS''' allows you to send automatic notifications to your clients whenever they exceed previously set bandwidth or disk usage.
The great advantage of this module is the fact that customers can order and manage virtual servers, backups and many more in your own WHMCS client area.<br/>
+
Notifications can be sent in two ways: upon exceeding given resource tier or after exceeding given resource limit in a specified time period.<br />
Additionally, it allows you to conveniently overview and manage all the customers' servers.
+
You can also define email templates and view details of each sent notification owing to logs.
 
|}
 
|}
 
<!--a comment maybe? -->
 
<!--a comment maybe? -->
 
*'''Admin Area Features:'''
 
*'''Admin Area Features:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Create/Suspend/Unsuspend/Terminate Server
+
|style="padding: 10px 0px 0px 30px;"|✔ Automatically Notify Your Clients Upon Exceeding Defined Limits Of Bandwidth And Disk Usage
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Change Package - Supports Configurable Options
+
|style="padding: 0px 0px 0px 30px;"|✔ Configure Notification Groups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Change Password - Xen Virtualization Only
+
|style="padding: 0px 0px 0px 30px;"|✔ Choose Between Two Types Of Group Counting:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Rescue/Unrescue Server
+
|style="padding: 0px 0px 0px 45px;"|✔ Tiered - Define Tiers Of Usage
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Server Status And Details
+
|style="padding: 0px 0px 0px 45px;"|✔ Fixed - Define Usage Grow Over Time
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Interface Details
+
|style="padding: 0px 0px 0px 30px;"|✔ Assign Multiple Products To Single Notification Group
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View List Of Scheduled Tasks
+
|style="padding: 0px 0px 0px 30px;"|✔ Assign Email Templates Per Notification Group
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Configure Client Area Features Per Product
+
|style="padding: 0px 0px 0px 30px;"|✔ Enable/Disable Notification Groups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Define Backup Quantity Limit
+
|style="padding: 0px 0px 10px 30px;"|✔ View Logs Of Sent Notifications
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Set Security Groups
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Enable Backups Routing
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Execute Custom Scripts On Boot
+
|}
+
{|
+
|style="padding: 0px 0px 10px 30px;"|✔ Run Extended Connection Test
+
|}
+
*'''Client Area Features:'''
+
{|
+
|style="padding: 10px 0px 0px 30px;"|✔ View Server Status And Details
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Start/Stop/Pause/Unpause/Resume/Rebuild Server
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Reboot Server - Soft/Hard
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Reset Network
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Rescue/Unrescue Server
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Change Password For Xen Virtualization
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Access noVNC VNC, RDP, SPICE Or Serial Console
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Create/Restore/Delete Backups
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Download Public & Private SSH Keys
+
|}
+
{|
+
|style="padding: 0px 0px 10px 30px;"|✔ View List Of Scheduled Tasks
+
|}
+
 
+
*'''Configurable Options:'''
+
{|
+
|style="padding: 10px 0px 0px 30px;"|✔ Flavor
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ VM Image
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ IP Addresses
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Backups Files Limit
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Disk
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ RAM
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ VCPUs
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Region
+
|}
+
{|
+
|style="padding: 0px 0px 10px 30px;"|✔ Custom Script Files
+
|}
+
*'''Required Components:'''
+
{|
+
|style="padding: 10px 0px 0px 30px;"|✔ Keystone
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Glance
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Nova
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Neutron
+
|}
+
{|
+
|style="padding: 0px 0px 10px 30px;"|✔ Ceilometer (Required For Advanced Billing For WHMCS)
+
 
|}
 
|}
 
*'''General Info:'''
 
*'''General Info:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Automated Generation Of SSH Keys - Public SSH Key Is Injected To VM Automatically
+
|style="padding: 10px 0px 0px 30px;"|✔ Multi-Language Support
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>Advanced Billing For WHMCS</u> v3.2.2 And Later - Actual Server Resource Usage Billing [http://www.modulesgarden.com/products/whmcs/advanced-billing#features (read more)]
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>Server Allocator For WHMCS</u> - Automatic Assignment Of Specified Servers To Products [http://www.modulesgarden.com/products/whmcs/server-allocator#features (read more)]
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Multi-Language Support
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports Cloud-Init Scripts
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports OpenStack Pike and Earlier
+
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports OpenStack Gnocchi
+
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 5.6 Up To PHP 7.2
 
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 5.6 Up To PHP 7.2
|}
 
{|
 
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Template Six
 
 
|}
 
|}
 
{|
 
{|
Line 157: Line 48:
 
|}
 
|}
  
=Installation and Configuration=
+
=Installation=
 
{|
 
{|
|style="padding: 10px 0px 30px 0px;"|'''This tutorial will show you how to successfully install and configure OpenStack VPS For WHMCS.''' <br />
+
|style="padding: 10px 0px 30px 15px;"|'''This tutorial will show you how to successfully install and configure Hosting Quota Notifications For WHMCS.''' <br />
 
We will guide you step by step through the whole installation and configuration process.
 
We will guide you step by step through the whole installation and configuration process.
 
|}
 
|}
Line 167: Line 58:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:OSV1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:HQN_1.png]]
 
|}
 
|}
 
{|
 
{|
Line 181: Line 72:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:hjghjh.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:drfere.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. When you install OpenStack VPS For WHMCS for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''4. When you install Hosting Quota Notifications For WHMCS for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br />
File is located in '' 'modules/servers/OpenStackVPS/license_RENAME.php' ''. Rename it from '' 'license_RENAME.php' '' to '' 'license.php' ''.
+
File is located in '' 'modules/addons/hosting_quota_notifications/license_RENAME.php' '' . Rename it from '' 'license_RENAME.php' '' to '' 'license.php' '' .
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:OSV3.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:HQN_3.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit the previously renamed '' 'license.php' '' file.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit a previously renamed '' 'license.php' '' file.'''<br />
Enter your license key between quotation marks as presented on the following screen.<br />
+
Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area'' 'My Products' ''.  
You can find your license key in our client area '' 'My Products' ''.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:OSV4.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:HQN_4.png]]
|}
+
{|
+
|style="padding: 0px 0px 30px 15px;"|'''6. The last step is setting up a cron job (each 5 minutes suggested).'''<br />
+
Use cron job below but switch '' 'your_whmcs' '' with your root WHMCS path.<br />
+
php -q /your_whmcs/modules/servers/OpenStackVPS/cron/cron.php
+
 
|}
 
|}
  
==Configuration of Server==
+
==Configuration of Addon==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''7. Now, we will show you how to configure a new product.'''<br />
+
|style="padding: 10px 0px 15px 15px;"|'''6. Now you have to activate the module in your WHMCS system.'''<br />
Go to the '' 'Setup' '' → '' 'Products/Services' '' '' 'Servers' '' and press '' 'Add New Server' ''.
+
Log in to your WHMCS admin area. Go to '' 'Setup' '' → '' 'Addon Modules' ''. Afterwards, find '' 'Hosting Quota Notifications' '' and press '' 'Activate' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:OSV5.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:HQN_5.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''8. Next, enter your server name and connection details.<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''7. In the next step you need to permit access to this module.'''<br />
*Provide your IP address/hostname with or without the endpoint name (you can find it in the Openstack '' 'Authentication URL' '' field). <br/>
+
To do so click on '' 'Configure' '' button, tick '' 'Access Control' '' near required admin role groups and press '' 'Save Changes' ''.
*Do not forget to select which API version you want tu use ('' 'Default', 'V2' '' or '' 'V3' '').<br>
+
*Next choose '' 'OpenStackVPS' '' from the '' 'Type' '' dropdown menu and provide the '' 'Username', 'Password' '' and admin '' 'Tenant ID.' ''<br />'' '''Note:''' To find your ''' 'Tenant ID' ''' log in to your OpenStack panel and go to the 'Indentity' → 'Projects' menu. <br />There identify the row which corresponds to your project. The 'Tenant ID' is located in the 'Project ID' column for the identified project.''<br/>
+
*Optionally provide your OpenStack custom domain or leave this field as '' 'Default' ''.<br/>
+
*If your OpenStack use https or any custom port you can provide the revelant configuration in '' 'Secure' '' and '' 'Port'' ' fields.<br/>
+
Finally press '' 'Save Changes' ''.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:OSV6.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:HQN_6.png]]
 
|}
 
|}
{|
 
|style="padding: 0px 0px 15px 15px;"|'''9. After you configure your server correctly, you can check the connection with the OpenStack server.'''<br />
 
Simply edit the previously created server and press '' 'Test Connection' '' as shown on the screen below.<br />
 
During the test, connection with all releated endpoints will be checked.<br/>
 
Additionally you can change the endpoint addresses to make sure that all services have been connected successfully or select '' 'Don't use' '' if any is not applicable to your OpenStack.<br/>
 
  
For more information about connections, visit the [http://www.docs.modulesgarden.com/OpenStack_VPS_For_WHMCS#Common_Problems Common Problems] and [https://www.docs.modulesgarden.com/OpenStack_VPS_For_WHMCS#Tips Tips] sections.
 
|}
 
{|
 
|style="padding: 0px 0px 20px 25px;"|[[File:OSV7.png]]
 
|}
 
{|
 
|style="padding: 0px 0px 20px 15px;"|'''10. It is time to create a server group. To do so, click on '' 'Create Server Group' ''.'''
 
|}
 
{|
 
|style="padding: 0px 0px 20px 25px;"|[[File:OSV8.png]]
 
|}
 
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''11. Enter a name, click on your previously created server, press '' 'Add' '' and afterward '' 'Save Changes' ''.'''
+
|style="padding: 0px 0px 15px 15px;"|'''8. You have just successfully installed Hosting Quota Notifications For WHMCS!'''<br />
 +
You can access your module in '' 'Addons' '' '' 'Hosting Quota Notifications' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:OSV9.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:HQN_7.png]]
 
|}
 
|}
  
==Configuration of Product==
+
=Configuration and Management=
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''12. In order to create and configure a product, go to the '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' ''.'''<br />
+
|style="padding: 10px 0px 30px 15px;"|'''In this section we will show you how to properly set up and use Hosting Quota Notifications For WHMCS.'''
Click on '' 'Create a New Group' ''.
+
 
|}
 
|}
 +
==Configuration==
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:OSV10.png]]
+
|style="padding: 10px 0px 15px 15px;"|In '' 'Configuration' '' page you can find the list of configured notification groups.<br />
 +
You can enable/disable any of them, as well as alter or completely remove them.<br />
 +
Press '' 'Create New Group' '' to proceed.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''13. Enter product group name and press '' 'Save Changes' ''.'''
+
|style="padding: 0px 0px 20px 25px;"|[[File:HQN_9.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:OSV11.png]]
+
|style="padding: 0px 0px 15px 15px;"|Now, you can define all products related to this configuration and email template which will be used to notify your clients.<br />
 +
You can choose between two types of resource usage counting:<br />
 +
*Fixed - define amount of resources over specific time period. If client usage growth has exceeded the given limit in specified time, a notification will be sent.
 +
*Tiered - defines amount of resources. If client exceeds given limit, a notification will be sent.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''14. When you have a product group, you can create your product.'''<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:HQN_10.png]]
To create a product click on '' 'Create a New Product' ''.  
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:OSV12.png]]
+
|style="padding: 0px 0px 15px 15px;"|For example, shown below module uses fixed counting type.<br />
 +
As you can see, we have defined limits for both bandwidth and disk.<br />
 +
Settings shown below result in sending notification to client upon:
 +
*bandwidth usage growth by 5GB during 21 days.
 +
*disk usage growth by 100GB over period of 14 days.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''15. Afterward, choose your product group and type from the dropdown menus, enter your product name and press '' 'Continue'. '' '''<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:HQN_11.png]]
'' 'Product Type' '' should be set to '' 'Hosting Account'. ''
+
 
|}
 
|}
 +
==Logs==
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:OSV13.png]]
+
|style="padding: 10px 0px 15px 15px;"|Under '' 'Logs' '' page you can view information about sent notifications.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''16. Now, go to the '' 'Module Settings' '' section, choose both '' 'OpenStackVPS' '' and your previously created server group from the dropdown menus.'''<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:HQN_12.png]]
Module should automatically save and reload settings. If not, click on '' 'Save Changes' '' manually.'''
+
 
|}
 
|}
 +
==Notifications==
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:OSV14.png]]
+
|style="padding: 10px 0px 15px 15px;"|You can create as many notifications as you wish.<br />
 +
The only requirement is their type being set to '' 'Product/Service' ''.<br />
 +
Additionally, you can use {if} statement, as shown below:
 +
{if $bw_over} Your bandwidth usage is over {$bw_over}MB{if $bw_current} (current: {$bw_current}MB){/if}.{/if}
 +
{if $disk_over}Your disks usage is over {$disk_over}MB{if $disk_current} (current: {$disk_current}MB){/if}.{/if}
 +
It will allow you to use this email template for bandwidth and disk notifications at the same time.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''17. Start from selecting a '' 'Default Tenant' ''.'''<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:HQN_13.png]]
'' 'Check access' '' will return '' 'OK' '' if you set up permissions correctly.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV15.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|'''18. Afterward, set up a network. Choose '' 'Fixed Network' '', '' 'Floating Network' '' and '' 'Default Number Of IP Addresses' ''.'''<br />
+
You can set up network in two ways. You can find more information about the configuration [http://www.docs.modulesgarden.com/OpenStack_VPS_For_WHMCS#Network_Configuration_Cases here].<br />
+
We will set up the network without a floating IP address as presented on the following screen.<br />
+
Additionally, choose a quantity of IP addresses assigned to a product by typing it into '' 'Default Number Of IP Addresses' ''.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV16.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|'''19. At this step you can set up backups.'''<br />
+
Mark the '' 'Backups Routing' '' checkbox if you want to replace oldest backup with newest one when backups file limit is reached.<br />
+
Afterward, enter a limit of backup files into '' 'Default Backups Files Limit' ''.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV17.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|'''20. Mark a security group from '' 'Use Security Groups' '' and select '' 'Console Type' ''.'''<br />
+
If you wish to use SSH keys, leave '' 'Inject SSH Key' '' marked (virtualization has to support the '' 'Inject File' '' feature).<br />
+
In order to use passwords for your VM, leave '' 'Password Management' '' marked (virtualization has to support the '' 'Set Admin Pass' '' feature).<br />
+
Please make sure, that virtualization used by you supports mentioned actions.<br />
+
Full list of supported  features can be found [https://wiki.openstack.org/wiki/HypervisorSupportMatrix here].<br />
+
'''Important:''' It is recommended to leave '' 'Delete SSH Private Key' '' marked.<br/>
+
The following types of console can be chosen: '' 'VNC', 'RDP', 'SPICE' '' and '' 'Serial' ''.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV17_1.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|'''21. You can also take advantage of the dedicated Volume and set it as the location of your Virtual Machine Disk''',
+
To do so, make sure to tick the ''Use Volumes'' checkbox and enter the desired number into the ''Default Volume Size'' field.<br />
+
Note that once this option is enabled, your clients will no longer have access to the ''Backup'' and ''Rescue'' functions, so you may as well leave the respective fields empty.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV17_2.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|'''22. Finish through selecting features available at the client area.'''<br />
+
Mark the checkbox next to a feature in order to enable it. Press '' 'Save Changes' '' when you are done.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV18.png]]
+
|}
+
 
+
==VPS With Predefined Resources==
+
{|
+
|style="padding: 10px 0px 15px 15px;"|Our module allows you to offer OpenStack VPS to your clients in two ways, with either predefined or configurable resources.<br />
+
In this section we will show you configuration of VPS with predefined resources.<br />
+
Detailed information about configuration of VPS with resources chosen by a client can be found [http://www.docs.modulesgarden.com/OpenStack_VPS_For_WHMCS#VPS_With_Configurable_Resources here].
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|'''23. Select a '' 'Default Flavor' '' and '' 'Default VM Image' ''.'''<br />
+
'' 'Default Flavour' '' defined resources assigned to a VM while '' 'Default VM Image' '' allows you to choose the VM image used to create a new VM.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV19.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 30px 15px;"|'''Congratulations! You have just finished the installation and configuration of the module with predefined resources.'''
+
|}
+
 
+
==VPS With Configurable Resources==
+
{|
+
|style="padding: 10px 0px 15px 15px;"|'''24. Preparing VPS with configurable options consists of pressing '' 'Generate default' '' as shown on the following screen.'''<br />
+
It will prepare default configurable options which can be afterward easily edited as described in [http://www.docs.modulesgarden.com/General#How_To_Use_Configurable_Options this article].<br />
+
'''Important''' Configurable option '' 'flavor|Flavor' '' will be overwritten by '' 'disc|Disc' '', '' 'ram|RAM' '' and '' 'vcpus|VCPUs' ''.<br />
+
Therefore, you can solve this in three ways:
+
*Remove '' 'disc|Disc' '', '' 'ram|RAM' '' and '' 'vcpus|VCPUs' '' configurable option and rely completely on '' 'flavor|Flavor' ''.
+
*Remove '' 'disc|Disc' '' and '' 'vcpus|VCPUs' '', and allow '' 'flavor|Flavor' '' being overwritten by '' 'ram|RAM' '' (multiple combinations allowed here).
+
*Remove '' 'flavor|Flavor' '' and rely completely on '' 'disc|Disc' '', '' 'ram|RAM' '' and '' 'vcpus|VCPUs' ''.
+
''Note: The second and the third options results in creation of a new flavor on your server each time a new order is made.''
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV20.png]]
+
|}
+
 
+
==Custom Config Scripts==
+
{|
+
|style="padding: 10px 0px 15px 15px;"|'''25. In this area, you can write a custom script using [https://raymii.org/s/tutorials/Automating_Openstack_with_Cloud_init_run_a_script_on_VMs_first_boot.html Cloud-Init] and arrange it to be executed on newly created VMs.'''<br />
+
This way you can automate your work instead of making all kinds of specific images for specific tasks manually. <br /><br />
+
'''Important notes:'''
+
*Scripts can be written in standards like '''Bash''' or '''[http://www.yaml.org/about.html YAML]'''.
+
*Initial scripts have to be supported by VPS operating system to be executed properly.
+
*Scripts should be used only by advanced users. The incorrect usage of the scripts may damage your system!
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV44.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|On the example below, we will show an examplary script responsible for setting the password to '' 'newpass01' '' for the Ubuntu root user.<br />
+
You can achieve it by writing:
+
chpasswd:
+
  list: |
+
  ubuntu:newpass01
+
  expire:False
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV45.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|You can configure scripts in the same format, but for clients' individual choice when ordering the product.<br />
+
All you need to do is add a new configurable option and assign it to the OpenStack VPS product.<br />
+
''Note: these scripts are executed regardless of the script specified in the module settings.''<br />
+
The easiest way is through the edition of existing 'Configurable options for the OpenStack VPS' group, and adding the new configurable option there.<br />
+
For example, if you want to offer the pre-installed PHP version depending on a client's choice, you can add a new option named '''script_PHP|PHP version''' and then define multiple options, like on the screenshot below:
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV46.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|Afterward, your clients can choose during the ordering process:
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV47.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 30px 15px;"|
+
Using this method, you can perform assorted actions on newly created machines, e.g.: modifying files, preinstalling & preconfiguring software, executing any statements that would normally be executed via the terminal.<br /><br />
+
The general rule is that configurable option names should begin with '''script_prefix''' to be recognized as containing a custom script.<br />
+
Then, choices under the option have their own names which are matched with a name of existing file with the corresponding script under the
+
'''yourWHMCS/modules/servers/OpenStackVPS/scripts''' path.<br />
+
Note that files with scripts have to have '''exactly''' extension corresponding to the given entries in the configurable options.<br /><br />
+
In the example above, there are two options: '''php5.yml''' and '''php7.yml''', therefore it makes the module read corresponding files:<br />
+
*modules/servers/OpenStackVPS/scripts/php5.yml
+
or
+
*modules/servers/OpenStackVPS/scripts/php7.yml
+
You can add many scripts in the exact way.
+
|}
+
 
+
=Management=
+
{|
+
|style="padding: 10px 0px 15px 15px;"|''' OpenStack VPS For WHMCS allows your customers to manage their OpenStack VPS via the client area in your WHMCS system.'''<br />
+
You can monitor and manage each product from your WHMCS admin area.<br />
+
1. Configurable options which enables you to view current VPS resources and change VPS specifications through changing configurable options and pressing '' 'Change Package' ''.<br />
+
2. Module commands enables you to manage VPS status.<br />
+
3. Here you can find VPS details and refresh them through pressing the '' 'Refresh Details' '' icon.<br />
+
4. Scheduled tasks status can be found in this table.<br />
+
5. In marked custom fields you can find IDs of VM and private flavor.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV24.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|If you decided to select the ''Use Volumes'' feature, you will see an additional section named ''Volumes''.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV24_1.png]]
+
|}
+
==Ordering==
+
{|
+
|style="padding: 10px 0px 15px 15px;"|Owing to configurable options, you are able to offer a product which your clients can tailor according to their needs.<br />
+
Additionally, you are able to set up pricing for each configurable option, which make your offer even more competitive.<br />
+
'''Important: VPS is not created immediately after ordering '' 'Create' ''. Therefore, it is wise to inform your clients about the delay.'''
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV25.png]]
+
|}
+
 
+
==Client Area==
+
{|
+
|style="padding: 10px 0px 15px 15px;"|Client area interface of OpenStack VPS should look like the one on the screen below. As you can see, the control panel contains useful options needed for managing a VPS.<br />
+
Module allows your customers to easily start/stop, pause/unpause, resume, soft reboot, hard reboot and reset network of their servers through pressing the specific button.<br />
+
Clients can also rebuild the server, access noVNC console, create a backup and view scheduled tasks.<br />
+
At '' 'Tasks' '' your customers can view all requested tasks that was not yet completed.<br />
+
Each task has additional information bounded to them, like a type of task, attempts to perform tasks or a last returned response.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV26.png]]
+
|}
+
===Volumes===
+
{|
+
|style="padding: 10px 0px 15px 15px;"|In case your OpenStack VPS is running with the ''Use Volumes'' option, the client area may look a bit different. It will now include an additional section named ''Volumes''
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV26_1.png]]
+
|}
+
 
+
===Rebuild===
+
{|
+
|style="padding: 10px 0px 15px 15px;"|The rebuild feature allows your clients to change a server image.<br />
+
Press the '' 'Rebuild' '' button as shown on the following screen in order to move to the rebuild page.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV27.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|To reinstall your server, choose an image and confirm through clicking on '' 'Rebuild' ''.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV28.png]]
+
|}
+
 
+
===Rescue Mode===
+
{|
+
|style="padding: 10px 0px 15px 15px;"|The rescue mode provides a mechanism for a VM access even in case the VM's image renders the instance inaccessible - e.g. if instance's filesystem becomes corrupted. <br />
+
The rescue VM will be launched to permit the user to fix their VM.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV48.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|
+
Before you continue please note that the rescue VM will be set up with the same network configuration as the real VM. <br />
+
Moreover, a new root password will be generated and the VM status will change to 'RESCUE'.<br />
+
The new VM will also have a rescue image as the primary filesystem and the secondary filesystem would be the original VM's primary filesystem.'' <br />
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV49.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|When you want to disable the rescue mode, click the 'Unrescue' buton. TheVM status will then also return to 'ACTIVE'.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV50.png]]
+
|}
+
 
+
===Backups===
+
{|
+
|style="padding: 10px 0px 20px 15px;"|Your customers can also create a backup of VPS. To do so, press the '' 'Backups' '' button.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV31.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|Now, choose a backup name and click '' 'Backup Now' ''.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV32.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|To restore a VPS from backup, simply press the '' 'Restore' '' button next to it.<br />
+
As you may notice on the following screen, presented earlier the '' 'First Backup' '' backup was replaced with the '' 'New Backup' ''.<br />
+
It was caused by a backup routing feature which was triggered by reaching the backups file limit.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV33.png]]
+
|}
+
 
+
===noVNC Console===
+
{|
+
|style="padding: 10px 0px 15px 15px;"|One of the most interesting functionality is a noVNC console where your clients can remotely manage their server.<br />
+
To access it, simply click on the '' 'Console' '' button.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV29.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|noVNC is a browser based VNC client. It was implemented using HTML5 Canvas and WebSockets.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV30.png]]
+
|}
+
 
+
==SSH Keys==
+
{|
+
|style="padding: 10px 0px 15px 15px;"|Due to a limitation in WHMCS product create process, OpenStack VPS For WHMCS generates SSH key pair automatically.<br />
+
The public SSH key is automatically injected into a VM while the private key can be downloaded from the client area.<br />
+
In order to download Unix private SSH key press '' 'Download Private Key' ''.<br />
+
You can easily convert your private Unix key(.rsa) to a private PuTTY key(.ppk) using '' 'PuTTYgen' ''.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV34.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|Public SSH key in other hand, can be downloaded as many times as your client will need it.<br />
+
Press '' 'Download Public Key' '' as shown on the following screen to save it on your disk.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV35.png]]
+
|}
+
 
+
==Network Configuration Cases==
+
{|
+
|style="padding: 10px 0px 15px 15px;"|OpenStack VPS For WHMCS allows you to set up two types of network.<br />
+
The first one is a network without a floating IP address.<br />
+
To set up this type of network, choose '' 'Public' '' as '' 'Fixed Network' '' and '' 'Disabled' '' as '' 'Floating Network' ''.<br />
+
On the following screen you can view an exemplary topology of such network.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV36.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|The second type of network is the network with a floating IP address.<br />
+
Select '' 'Shared Network' '' as '' 'Fixed Network' '' and '' 'Public' '' as '' 'Floating Network' ''.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV37.png]]
+
|}
+
 
+
==Configurable Options==
+
{|
+
|style="padding: 10px 0px 15px 15px;"|In case that standard configuration is not fitting your needs, you can adjust it through configurable options.<br />
+
To do so, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Configurable Option' '' and press the edit button next to a configurable option used by your product.<br />
+
Its name is '' 'Configurable options for your_product_name' ''.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV38.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|Here you can view the products that this configurable option group is assigned to.<br />
+
Now we will show you how to edit options. Let's say that you want to add an option to order VPS with 8GB (8192 MB) RAM.<br />
+
To do so, edit '' 'ram|RAM' '' by pressing the edit button as shown on the screen below.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV39.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|You will see a popup window, so make sure that your browser will not block it.<br />
+
To add a new option, enter it in a textbox under all other options. If you want to replace it with an option you currently have, simply edit its text box.<br />
+
Next, press '' 'Save Changes' ''.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV40.png]]
+
|}
+
 
+
==Management of Billing==
+
{|
+
|style="padding: 10px 0px 15px 15px;"|When you combine OpenStack VPS For WHMCS with [http://www.docs.modulesgarden.com/Advanced_Billing_For_WHMCS Advanced Billing For WHMCS], you will be able to set up additional billing options.<br />
+
Module allows you to charge your customers based on the server resources used by them.<br />
+
''Note: Advanced Billing currently supports only API prior V3 (OpenStack Ocata). A new compatibility will be added soon.''
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV42.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|With Advanced Billing module, you can also display your customers the current server resource usage, their cost, usage history and charts.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV43.png]]
+
 
|}
 
|}
  
 
=Tips=
 
=Tips=
 
{|
 
{|
|style="padding: 10px 0px 5px 15px;"|1. Due to some requests may take time to be completed, we implemented '' 'Scheduled Tasks' ''.<br />
+
|style="padding: 10px 0px 30px 15px;"|
Tasks visible at '' 'Scheduled Tasks' '' are subsequently performed by a cron job.<br />
+
Full list of tasks supported by '' 'Scheduled Tasks' '' are: create, terminate, change package, remove IP address and remove backup.
+
|}
+
{|
+
|style="padding: 0px 0px 5px 15px;"|2. '''Important:''' module has to use admin endpoints instead of public endpoints.<br />
+
In properly configured OpenStack server, wget from WHMCS server should be able to get any data from any '''admin''' endpoint.<br />
+
Sample successfull requests:
+
wget openstack:9292
+
--2014-03-31 09:35:24-- http://openstack:9292/
+
Resolving openstack(openstack)... 192.168.1.222
+
Connecting to openstack(openstack)|192.168.1.222|:9292... connected.
+
HTTP request sent, awaiting response... 300 Multiple Choices
+
Length: 520 [application/json]
+
Saving to: `index.html'
+
+
100%[==========================================================>] 520 --.-K/s in 0s
+
+
2014-03-31 09:35:24 (118 MB/s) - `index.html' saved [520/520]
+
 
+
 
+
wget openstack:8777
+
--2014-03-31 09:41:05-- http://openstack:8777/
+
Resolving openstack(openstack)... 192.168.1.222
+
Connecting to openstack(openstack)|192.168.1.222|:8777... connected.
+
HTTP request sent, awaiting response... 401 Unauthorized
+
Authorization failed.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 15px;"|3. A primary IP address is always assigned by OpenStack server when a VM is created Therefore, if you decide to order 2 IP addresses, then 3 addresses will be assigned.<br> The primary one and the two additionally ordered. If you wish only one IP address to be assigned to a single product, please set the filed '' 'Default Number Of IP Addresses' '' to '0'<br/> or leave it empty in the product's '' 'Module Settings'. ''
+
 
|}
 
|}
  
Line 664: Line 178:
 
=Common Problems=
 
=Common Problems=
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
+
|style="padding: 10px 0px 30px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
|}
+
{|
+
|style="padding: 0px 0px 30px 15px;"|2. In case of persisting connection problems, please make sure you have the following ports open:
+
8774, 35357, 9292, 5000, 8777, 9696, 8776
+
 
|}
 
|}

Latest revision as of 12:02, 13 September 2018

Contents

[edit] About Hosting Quota Notifications For WHMCS

Hosting Quota Notifications For WHMCS allows you to send automatic notifications to your clients whenever they exceed previously set bandwidth or disk usage.

Notifications can be sent in two ways: upon exceeding given resource tier or after exceeding given resource limit in a specified time period.
You can also define email templates and view details of each sent notification owing to logs.

  • Admin Area Features:
✔ Automatically Notify Your Clients Upon Exceeding Defined Limits Of Bandwidth And Disk Usage
✔ Configure Notification Groups
✔ Choose Between Two Types Of Group Counting:
✔ Tiered - Define Tiers Of Usage
✔ Fixed - Define Usage Grow Over Time
✔ Assign Multiple Products To Single Notification Group
✔ Assign Email Templates Per Notification Group
✔ Enable/Disable Notification Groups
✔ View Logs Of Sent Notifications
  • General Info:
✔ Multi-Language Support
✔ Supports PHP 5.6 Up To PHP 7.2
✔ Supports WHMCS V7

[edit] Installation

This tutorial will show you how to successfully install and configure Hosting Quota Notifications For WHMCS.

We will guide you step by step through the whole installation and configuration process.

[edit] Installation

1. Log in to our client area and download the module.
HQN 1.png
2. In the downloaded file you will find two packages that support different PHP versions.
As presented on the screen below, the first one is dedicated to PHP 5.6 up to PHP 7.0, while the second one is aimed at PHP 7.1 up to PHP 7.2.
It does not apply to open source versions.

Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' › 'System' › 'PHP Info'.

PHP56 72.png
3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.

The content of PHP version files should look like this.

Drfere.png
4. When you install Hosting Quota Notifications For WHMCS for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/addons/hosting_quota_notifications/license_RENAME.php' . Rename it from 'license_RENAME.php' to 'license.php' .

HQN 3.png
5. In order to configure your license key, you have to edit a previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products' .

HQN 4.png

[edit] Configuration of Addon

6. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Go to 'Setup' 'Addon Modules' . Afterwards, find 'Hosting Quota Notifications' and press 'Activate' button.

HQN 5.png
7. In the next step you need to permit access to this module.

To do so click on 'Configure' button, tick 'Access Control' near required admin role groups and press 'Save Changes' .

HQN 6.png
8. You have just successfully installed Hosting Quota Notifications For WHMCS!

You can access your module in 'Addons' 'Hosting Quota Notifications' .

HQN 7.png

[edit] Configuration and Management

In this section we will show you how to properly set up and use Hosting Quota Notifications For WHMCS.

[edit] Configuration

In 'Configuration' page you can find the list of configured notification groups.

You can enable/disable any of them, as well as alter or completely remove them.
Press 'Create New Group' to proceed.

HQN 9.png
Now, you can define all products related to this configuration and email template which will be used to notify your clients.

You can choose between two types of resource usage counting:

  • Fixed - define amount of resources over specific time period. If client usage growth has exceeded the given limit in specified time, a notification will be sent.
  • Tiered - defines amount of resources. If client exceeds given limit, a notification will be sent.
HQN 10.png
For example, shown below module uses fixed counting type.

As you can see, we have defined limits for both bandwidth and disk.
Settings shown below result in sending notification to client upon:

  • bandwidth usage growth by 5GB during 21 days.
  • disk usage growth by 100GB over period of 14 days.
HQN 11.png

[edit] Logs

Under 'Logs' page you can view information about sent notifications.
HQN 12.png

[edit] Notifications

You can create as many notifications as you wish.

The only requirement is their type being set to 'Product/Service' .
Additionally, you can use {if} statement, as shown below:

{if $bw_over} Your bandwidth usage is over {$bw_over}MB{if $bw_current} (current: {$bw_current}MB){/if}.{/if}
{if $disk_over}Your disks usage is over {$disk_over}MB{if $disk_current} (current: {$disk_current}MB){/if}.{/if}

It will allow you to use this email template for bandwidth and disk notifications at the same time.

HQN 13.png

[edit] Tips

[edit] Update Instructions

Essential guidance through the process of updating the module is offered here.

Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!
To take advantage of it, simply use the License Upgrade button located on the product's page and a discounted invoice will be generated automatically.

[edit] Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community