Personal tools
Namespaces

Variants
Actions

Hosting Quota Notifications 1.X For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
<meta name="keywords" content="emoji for whmcs, whmcs emoji configuration, whmcs emoji management, whmcs emoji installation, whmcs emoji common problems, about whmcs emoji, whmcs emoji documentation, whmcs emoji faq, whmcs emoji help, whmcs emoji guide, whmcs emoji wiki, whmcs emoji tutorial, whmcs emoji tips, whmcs emoji wiki, emoticons for whmcs, whmcs emoticons configuration, whmcs emoticons management, whmcs emoticons installation, whmcs emoticons common problems, about whmcs emoticons, whmcs emoticons documentation, whmcs emoticons faq, whmcs emoticons help, whmcs emoticons guide, whmcs emoticons wiki, whmcs emoticons tutorial, whmcs emoticons tips, whmcs emoticons wiki"></meta>
+
<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="description" content="ModulesGarden Wiki Contains All The Information You Need About The Emoji Picker For WHMCS Module."></meta>
+
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The OpenStack VPS For WHMCS Module."></meta>
  
=About [https://www.modulesgarden.com/products/whmcs/emoji-picker Emoji Picker For WHMCS]=
+
=About [https://www.modulesgarden.com/products/whmcs/openstack-vps OpenStack VPS For WHMCS]=
 
{|
 
{|
|style="padding: 10px 0px 5px 0px;"|'''Emoji Picker For WHMCS''' will let both your clients and support teams add emojis to ticket conversations.<br />
+
|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/>
You will be empowered to choose support departments that should display emojis and decide whether these symbols shall be visible in the admin area.<br />  
+
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/>
The module also provides support for emoji domains, allowing conversion of your clients' domain names from a Punycode format to emoji artworks.
+
Additionally, it allows you to conveniently overview and manage all the customers' servers.
 +
|}
 +
<!--a comment maybe? -->
 +
*'''Admin Area Features:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ Create/Suspend/Unsuspend/Terminate Server
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Change Package - Supports Configurable Options
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Change Password - Xen Virtualization Only
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Rescue/Unrescue Server
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ View Server Status And Details
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ View Interface Details
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ View List Of Scheduled Tasks
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Configure Client Area Features Per Product
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Backup Quantity Limit
 +
|}
 +
{|
 +
|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:'''
 
*'''Client Area Features:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Use Emoji In Tickets By:
+
|style="padding: 10px 0px 0px 30px;"|✔ View Server Status And Details
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Typing Emoji Code
+
|style="padding: 0px 0px 0px 30px;"|✔ Start/Stop/Pause/Unpause/Resume/Rebuild Server
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Using Emoji Search Picker
+
|style="padding: 0px 0px 0px 30px;"|✔ Reboot Server - Soft/Hard
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Display Emoji In Ticket-Related Email Notifications
+
|style="padding: 0px 0px 0px 30px;"|✔ Reset Network
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Replace Punycode With Emoji Domains On:
+
|style="padding: 0px 0px 0px 30px;"|✔ Rescue/Unrescue Server
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Domains List And Domain Details
+
|style="padding: 0px 0px 0px 30px;"|✔ Change Password For Xen Virtualization
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Services List And Service Details
+
|style="padding: 0px 0px 0px 30px;"|✔ Access noVNC VNC, RDP, SPICE Or Serial Console
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ HTML Invoice
+
|style="padding: 0px 0px 0px 30px;"|✔ Create/Restore/Delete Backups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 45px;"|✔ Specific Email Notifications
+
|style="padding: 0px 0px 0px 30px;"|✔ Download Public & Private SSH Keys
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ View List Of Scheduled Tasks
 
|}
 
|}
  
*'''Admin Area Features:'''
+
*'''Configurable Options:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Toggle Emoji Availability For Each Support Department
+
|style="padding: 10px 0px 0px 30px;"|✔ Flavor
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Define Emoji Visibility In Admin Area
+
|style="padding: 0px 0px 0px 30px;"|✔ VM Image
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Use Emoji In Tickets By:
+
|style="padding: 0px 0px 0px 30px;"|✔ IP Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Typing Emoji Code
+
|style="padding: 0px 0px 0px 30px;"|✔ Backups Files Limit
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Using Emoji Search Picker
+
|style="padding: 0px 0px 0px 30px;"|✔ Disk
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Toggle Converting Of Punycode To Emoji Domains
+
|style="padding: 0px 0px 0px 30px;"|✔ RAM
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ View And Delete Logs
+
|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;"|✔ Supports Emoji Artworks Provided By [https://www.emojione.com/ EmojiOne]
+
|style="padding: 10px 0px 0px 30px;"|✔ Automated Generation Of SSH Keys - Public SSH Key Is Injected To VM Automatically
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Custom Templates 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;"|✔ 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
 
|}
 
|}
 
{|
 
{|
Line 77: Line 154:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 30px;"|✔ Supports WHMCS V7.2 And Later
+
|style="padding: 0px 0px 30px 30px;"|✔ Supports WHMCS V7
 
|}
 
|}
  
 
=Installation and Configuration=
 
=Installation and Configuration=
 
{|
 
{|
|style="padding: 10px 0px 0px 0px;"|'''This tutorial will show you how to successfully install and configure Emoji Picker For WHMCS.''' <br />
+
|style="padding: 10px 0px 30px 0px;"|'''This tutorial will show you how to successfully install and configure OpenStack VPS 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.
 
|}
 
|}
 
==Installation==
 
==Installation==
Line 90: Line 167:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''2. In the downloaded file you will find two packages that support different PHP versions.'''<br/>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.<br/>It does not apply to open source versions.<br/>
+
|style="padding: 0px 0px 10px 15px;"|'''2. In the downloaded file you will find two packages that support different PHP versions.'''<br/>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.<br/>It does not apply to open source versions.<br/>
'' '''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' 'System' 'PHP Info'.'''
+
'' '''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' 'System' 'PHP Info'.'''
 
|}
 
|}
 
{|
 
{|
Line 101: Line 178:
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|'''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.'''<br />
 
|style="padding: 0px 0px 15px 15px;"|'''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.'''<br />
The content of your PHP version files should look like this.  
+
The content of PHP version files should look like this.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:hjghjh.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. When you install Emoji Picker For WHMCS for the first time, you have to rename the '' 'license_RENAME.php' '' file.'''<br />
+
|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 />
This file is located in '' 'yourWHMCS/modules/addons/Emoji/license_RENAME.php'.'' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
+
File is located in '' 'modules/servers/OpenStackVPS/license_RENAME.php' ''. Rename it from '' 'license_RENAME.php' '' to '' 'license.php' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_3.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV3.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 the previously renamed '' 'license.php' '' file.'''<br />
Enter your license key between the quotation marks as presented on the following screen. You can find your license key in our client area → '' 'My Products'. ''  
+
Enter your license key between quotation marks as presented on the following screen.<br />
 +
You can find your license key in our client area → '' 'My Products' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_4.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV4.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''6. Now, set up the '' 'storage' '' folder as recursively writable.'''<br />
+
|style="padding: 0px 0px 30px 15px;"|'''6. The last step is setting up a cron job (each 5 minutes suggested).'''<br />
This folder is available at '' 'yourWHMCS/modules/addons/Emoji/' ''.
+
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==
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|'''7. Now, we will show you how to configure a new product.'''<br />
 +
Go to the '' 'Setup' '' → '' 'Products/Services' '' → '' 'Servers' '' and press '' 'Add New Server' ''.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:OSV5.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''8. Next, enter your server name, IP address/hostname (which may required API version at the end of the address), username, password and admin tenant ID.'''<br />
 +
Choose '' 'OpenStackVPS' '' from the dropdown menu and press '' 'Save Changes' ''.'''<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.''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:OSV6.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 required endpoints will be checked. 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/Working_Area_2#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 30px 25px;"|[[File:EM_5.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV9.png]]
 
|}
 
|}
  
==Activation==
+
==Configuration of Product==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''7. Now, you have to activate the module in your WHMCS system.'''<br />
+
|style="padding: 10px 0px 15px 15px;"|'''12. In order to create and configure a product, go to the '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' ''.'''<br />
Log in to your WHMCS admin area and proceed to '' 'Setup' '' → '' 'Addon Modules'. ''<br />
+
Click on '' 'Create a New Group' ''.
Afterward, find '' 'Emoji Picker' '' and press the '' 'Activate' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_6.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV10.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''8. In the next step you need to permit access to this module.'''<br />
+
|style="padding: 0px 0px 20px 15px;"|'''13. Enter product group name and press '' 'Save Changes' ''.'''
To do so, click on the '' 'Configure' '' button and tick the checkboxes to assign desired admin roles.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_7.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV11.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|'''9. Congratulations, you have just successfully installed Emoji Picker For WHMCS!'''
+
|style="padding: 0px 0px 15px 15px;"|'''14. When you have a product group, you can create your product.'''<br />
 +
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;"|'''15. Afterward, choose your product group and type from the dropdown menus, enter your product name and press '' 'Continue'. '' '''<br />
 +
'' 'Product Type' '' should be set to '' 'Hosting Account'. ''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:OSV13.png]]
 +
|}
 +
{|
 +
|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 />
 +
Module should automatically save and reload settings. If not, click on '' 'Save Changes' '' manually.'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:OSV14.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''17. Start from selecting a '' 'Default Tenant' ''.'''<br />
 +
'' '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]]
 
|}
 
|}
  
==Configuration==
+
==VPS With Predefined Resources==
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''Now you need to configure your newly installed module.'''<br/>
+
|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].
 
|}
 
|}
===Settings===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Proceed to '' 'Addons' 'Emoji' 'Settings' '' to configure the following options:
+
|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.'''
 +
|}
  
* '''Support Department Settings''' - choose which of your support departments will display emojis.<br/> Your clients will be able to use emojis while creating or replying in tickets, as well as view emojis in email notifications.<br/>''Note that you can change the status of multiple departments at once by using mass actions.''
+
==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]]
 +
|}
  
* '''Emoji Search Picker In Text Area''' - if enabled, the emoji popup will be displayed when entering the emoji code in the ticket.
+
==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.
 +
|}
  
* '''Emoji Search Picker In Toolbar ''' - if enabled, the button with emoji search picker will be displayed in the ticket editor toolbar.
+
=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]]
 +
|}
  
* '''Emoji In Admin Area''' - toggle on if you want the administrators to view and use emojis when creating and replying in tickets.<br/>If disabled, they will be visible in the admin area only in the form of emoji codes.<br/>''Note that your support can still type remembered emoji codes which will continue to be visible as artworks for your clients.
+
==Client Area==
 
+
{|
* '''Replace Domains With Emoji''' - toggle on if you want to have support for [https://en.wikipedia.org/wiki/Emoji_domain emoji domains].<br/>This will allow your clients to view already provided domains in [https://en.wikipedia.org/wiki/Punycode Punycode] format (''for example www.xn--qei8618mfvb.tld'') with [https://unicode.org/emoji/charts/emoji-list.html unicode emoji] (''for example www.''❤🍺😉''.tld'') in your client area<br/>''Note that this will also convert Punycode to the unicode emoji in the domain-related emails as well as on the HTML invoices.''
+
|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 />
* ''' Characters Number For Popup Display''' - specify how many characters minimum are required after the colon in order to display the emoji popup.<br/>E.g. if set to '' '0' '', emoji picker will be displayed immediately after entering the colon character. For '' '1' '', only first emoji character will need to be entered after colon etc.<br/>''Note that 'Emoji Search Picker In Text Area' option must be enabled for this option.''
+
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:EM_8.png]]
+
|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]]
 
|}
 
|}
  
===Logs===
+
===Rebuild===
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|The logs provide data about particular domain orders, invoices or email massages to which emojis have been successfully applied. The section also includes information concerning any existing errors.
+
|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 30px 25px;"|[[File:EM_9.png]]
+
|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]]
 
|}
 
|}
  
=Management=
+
===Rescue Mode===
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''Once Emoji Picker For WHMCS is installed and configured, you can use emoji in tickets as well as view them in domain names instead of a Punycode format.'''<br/>
+
|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.
 
|}
 
|}
==Support Tickets==
 
===Client Area===
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|In the client area, you can use emojis in tickets submitted in any of support departments with enabled emoji support.
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV48.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_10.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 15px 15px;"|When you compose a message and the '' 'Emoji Search Picker In Text Area' '' option is enabled in [https://www.docs.modulesgarden.com/Emoji_Picker_For_WHMCS#Settings settings], you can insert emoji by pressing ''':''' (colon).<br/>This will display a list of available emojis depending on the '' 'Characters Number For Popup Display' '' setting.<br/>Continue typing the name to search for the desired emoji.<br/>When ready, click on the chosen emoji to insert it or simply end its name with ''':''' (colon).
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV49.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_11.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 20px 15px;"|You can also view, browse and search through all available symbols by clicking on emoji picker if the '' 'Emoji Search Picker In Toolbar' '' option is enabled in [https://www.docs.modulesgarden.com/Emoji_Picker_For_WHMCS#Settings settings].
+
|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:EM_12.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV31.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|When the composed massage is sent, the inserted emoji codes are replaced with emoji artworks.
+
|style="padding: 0px 0px 20px 15px;"|Now, choose a backup name and click '' 'Backup Now' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_13.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV32.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|This also applies to the tickets-related email notifications.
+
|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:EM_14.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV33.png]]
 
|}
 
|}
  
===Admin Area===
+
===noVNC Console===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|If you have the '' 'Emoji In Admin Area' '' option enabled in the addon [https://www.docs.modulesgarden.com/Emoji_Picker_For_WHMCS#Settings settings], your support administrators can view and use emojis in their tickets as well. <br/>
+
|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 />  
'' '''Note''' that the 'Emoji Search Picker In Text Area' and 'Emoji Search Picker In Toolbar' options are also applied for this area.
+
To access it, simply click on the '' 'Console' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_15.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV29.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Otherwise, your support administrators will not be able to enter emojis, neither they will see them as artworks in messages.<br/>
+
|style="padding: 0px 0px 20px 15px;"|noVNC is a browser based VNC client. It was implemented using HTML5 Canvas and WebSockets.
'' '''Note''' that your support can still type remembered emoji codes which will continue to be visible as artworks for your clients.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:EM_16.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV30.png]]
 
|}
 
|}
  
==Domains==
+
==SSH Keys==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|The module can convert domains in the Punycode format to emoji domains.<br/>This applies to client area domain lists, service lists with domains, their details, as well as HTML invoices and email notifications related to domains.<br/>
+
|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 />
'' '''Important:''' Read the second point of [https://www.docs.modulesgarden.com/Emoji_Picker_For_WHMCS#Common_Problems common problems] section explaining WHMCS problems with registration of emoji domains.''
+
In order to download Unix private SSH key press '' 'Download Private Key' ''.<br />
<br/><br/>
+
You can easily convert your private Unix key(.rsa) to a private PuTTY key(.ppk) using '' 'PuTTYgen' ''.
For example, WHMCS displays a list of emoji domains in their original Punycode format by deafult.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_17.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV34.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|When you enable the '' 'Replace Domains With Emoji' '' option in the addon [https://www.docs.modulesgarden.com/Emoji_Picker_For_WHMCS#Settings settings], the Punycode will be replaced in the client area with the emoji format.<br/>
+
|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 />
'' '''Note:''' The domains use [https://unicode.org/emoji/charts/full-emoji-list.html unicode emoji], not the graphical artworks as presented in tickets. This means that their appearance may differ depending on the web browser.''
+
Press '' 'Download Public Key' '' as shown on the following screen to save it on your disk.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_18.gif]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV35.png]]
 
|}
 
|}
 +
 +
==Network Configuration Cases==
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|This will also apply to several email notifications related to the domains. Currently, the supported email templates are:
+
|style="padding: 10px 0px 15px 15px;"|OpenStack VPS For WHMCS allows you to set up two types of network.<br />
*Support Ticket Reply
+
The first one is a network without a floating IP address.<br />
*Support Ticket Opened
+
To set up this type of network, choose '' 'Public' '' as '' 'Fixed Network' '' and '' 'Disabled' '' as '' 'Floating Network' ''.<br />
*Support Ticket Opened by Admin
+
On the following screen you can view an exemplary topology of such network.
*Invoice Created
+
*Order Confirmation
+
*Invoice Payment Confirmation
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:EM_19.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV36.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|The same goes for HTML invoices.<br/>
+
|style="padding: 0px 0px 15px 15px;"|The second type of network is the network with a floating IP address.<br />
'' '''Note:''' Currently, the domains on the PDF invoices will still be shown in the Punycode format.''
+
Select '' 'Shared Network' '' as '' 'Fixed Network' '' and '' 'Public' '' as '' 'Floating Network' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:EM_20.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV37.png]]
 
|}
 
|}
  
=Tips=
+
==Configurable Options==
 
{|
 
{|
|style="padding: 10px 0px 10px 15px;"|1. The module supports only '''the WHMCS built-in ticket system'''.<br/>Separate ticketing systems such as [https://www.modulesgarden.com/products/whmcs/zendesk Zendesk], [https://www.modulesgarden.com/products/whmcs/kayako Kayako], [https://www.modulesgarden.com/products/whmcs/freshdesk Freshdesk] etc. are '''not''' supported by this module.
+
|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 10px 15px;"|2. If you plan to use emoji domains, it is recommended that the  '' '[https://docs.whmcs.com/Domains_Tab#Allow_IDN_Domains Allow IDN Domains]' '' option is enabled in your WHMCS general settings.
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV38.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|3. The feature of replacing domains with emoji works only for the client area.<br/>In the admin area, these domains will be still displayed using Punycode.
+
|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]]
 
|}
 
|}
  
=Update Instructions=
+
==Management of Billing==
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|Essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/><br/>
+
|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 />
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!<br/>
+
Module allows you to charge your customers based on the server resources used by them.<br />
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.<br/>
+
''Note: Advanced Billing currently supports only API prior V3 (OpenStack Ocata). A new compatibility will be added soon.''
 
|}
 
|}
=Common Problems=
 
 
{|
 
{|
|style="padding: 10px 0px 10px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
+
|style="padding: 0px 0px 20px 25px;"|[[File:OSV42.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|2. This module '''does not''' fix the problem of broken emoji domain registration system occurring directly in WHMCS.<br/>It is due to WHMCS solely that the registration attempt of a domain with emoji artworks or with emoji already converted to Punycode is automatically cleared from the '' 'Domain' '' field after placing an order.<br/>Our module only converts the already properly applied Punycode domain into emoji (e.g. when a client uses the existing domain for their service or the Punycode is placed manually into the domain field by the administrator).
+
|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 10px 15px;"|3. The 1.0 version does not replace the domain Punycode format on PDF invoices. This feature works only with HTML invoices for the time being.
+
|style="padding: 0px 0px 30px 25px;"|[[File:OSV43.png]]
 
|}
 
|}
 +
 +
=Tips=
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|4. In the WHMCS versions prior to 7.5, the emoji domain replacement will not work on the order summary, and the domain will still be diplayed in the Punycode format there.<br/> This is caused by lack of a required WHMCS hook.
+
|style="padding: 10px 0px 5px 15px;"|1. Due to some requests may take time to be completed, we implemented '' 'Scheduled Tasks' ''.<br />
 +
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 10px 15px;"|5. It may turn out that when you preview an email in the WHMCS client's profile in the admin area, the message is suddenly cut off at the point where the emoji domain name should start.<br/>This is a WHMCS bug and despite this inconvenience, the message itself is sent to the client correctly.
+
|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'. ''
 +
|}
 +
 
 +
=Update Instructions=
 +
{|
 +
|style="padding: 10px 0px 30px 15px;"|Essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/><br/>
 +
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!<br/>
 +
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.<br/>
 +
|}
 +
=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: 0px 0px 30px 15px;"|6. Emoji Picker For WHMCS is currently '''not''' compatible with [https://www.modulesgarden.com/products/whmcs/multibrand Multibrand For WHMCS] or [https://www.modulesgarden.com/products/whmcs/resellers-center Resellers Center For WHMCS] modules. Do not use these products together.
+
|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
 
|}
 
|}

Revision as of 09:08, 24 May 2018

Contents

About OpenStack VPS For WHMCS

OpenStack VPS For WHMCS is a module which allows you to automatically provision virtual servers to your customers.

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.
Additionally, it allows you to conveniently overview and manage all the customers' servers.

  • Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate Server
✔ Change Package - Supports Configurable Options
✔ Change Password - Xen Virtualization Only
✔ Rescue/Unrescue Server
✔ View Server Status And Details
✔ View Interface Details
✔ View List Of Scheduled Tasks
✔ Configure Client Area Features Per Product
✔ Define Backup Quantity Limit
✔ Set Security Groups
✔ Enable Backups Routing
✔ Execute Custom Scripts On Boot
✔ Run Extended Connection Test
  • Client Area Features:
✔ View Server Status And Details
✔ Start/Stop/Pause/Unpause/Resume/Rebuild Server
✔ Reboot Server - Soft/Hard
✔ Reset Network
✔ Rescue/Unrescue Server
✔ Change Password For Xen Virtualization
✔ Access noVNC VNC, RDP, SPICE Or Serial Console
✔ Create/Restore/Delete Backups
✔ Download Public & Private SSH Keys
✔ View List Of Scheduled Tasks
  • Configurable Options:
✔ Flavor
✔ VM Image
✔ IP Addresses
✔ Backups Files Limit
✔ Disk
✔ RAM
✔ VCPUs
✔ Region
✔ Custom Script Files
  • Required Components:
✔ Keystone
✔ Glance
✔ Nova
✔ Neutron
✔ Ceilometer (Required For Advanced Billing For WHMCS)
  • General Info:
✔ Automated Generation Of SSH Keys - Public SSH Key Is Injected To VM Automatically
✔ Integrated With Advanced Billing For WHMCS v3.2.2 And Later - Actual Server Resource Usage Billing (read more)
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Specified Servers To Products (read more)
✔ Multi-Language Support
✔ Supports Cloud-Init Scripts
✔ Supports OpenStack Pike and Earlier
✔ Supports OpenStack Gnocchi
✔ Supports PHP 5.6 Up To PHP 7.2
✔ Supports WHMCS Template Six
✔ Supports WHMCS V7

Installation and Configuration

This tutorial will show you how to successfully install and configure OpenStack VPS For WHMCS.

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

Installation

1. Log in to our client area and download the module.
OSV1.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.

Hjghjh.png
4. When you install OpenStack VPS For WHMCS for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/servers/OpenStackVPS/license_RENAME.php' . Rename it from 'license_RENAME.php' to 'license.php' .

OSV3.png
5. In order to configure your license key, you have to edit the 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' .

OSV4.png
6. The last step is setting up a cron job (each 5 minutes suggested).

Use cron job below but switch 'your_whmcs' with your root WHMCS path.

php -q /your_whmcs/modules/servers/OpenStackVPS/cron/cron.php

Configuration of Server

7. Now, we will show you how to configure a new product.

Go to the 'Setup' 'Products/Services' 'Servers' and press 'Add New Server' .

OSV5.png
8. Next, enter your server name, IP address/hostname (which may required API version at the end of the address), username, password and admin tenant ID.

Choose 'OpenStackVPS' from the dropdown menu and press 'Save Changes' .
Note: To find your 'Tenant ID' log in to your OpenStack panel and go to the 'Indentity' → 'Projects' menu.
There identify the row which corresponds to your project. The 'Tenant ID' is located in the 'Project ID' column for the identified project.

OSV6.png
9. After you configure your server correctly, you can check the connection with the OpenStack server.

Simply edit the previously created server and press 'Test Connection' as shown on the screen below.
During the test, connection with all required endpoints will be checked. For more information about connections, visit the Common Problems and Tips sections.

OSV7.png
10. It is time to create a server group. To do so, click on 'Create Server Group' .
OSV8.png
11. Enter a name, click on your previously created server, press 'Add' and afterward 'Save Changes' .
OSV9.png

Configuration of Product

12. In order to create and configure a product, go to the 'Setup' 'Products/Services' 'Products/Services' .

Click on 'Create a New Group' .

OSV10.png
13. Enter product group name and press 'Save Changes' .
OSV11.png
14. When you have a product group, you can create your product.

To create a product click on 'Create a New Product' .

OSV12.png
15. Afterward, choose your product group and type from the dropdown menus, enter your product name and press 'Continue'.

'Product Type' should be set to 'Hosting Account'.

OSV13.png
16. Now, go to the 'Module Settings' section, choose both 'OpenStackVPS' and your previously created server group from the dropdown menus.

Module should automatically save and reload settings. If not, click on 'Save Changes' manually.

OSV14.png
17. Start from selecting a 'Default Tenant' .

'Check access' will return 'OK' if you set up permissions correctly.

OSV15.png
18. Afterward, set up a network. Choose 'Fixed Network' , 'Floating Network' and 'Default Number Of IP Addresses' .

You can set up network in two ways. You can find more information about the configuration here.
We will set up the network without a floating IP address as presented on the following screen.
Additionally, choose a quantity of IP addresses assigned to a product by typing it into 'Default Number Of IP Addresses' .

OSV16.png
19. At this step you can set up backups.

Mark the 'Backups Routing' checkbox if you want to replace oldest backup with newest one when backups file limit is reached.
Afterward, enter a limit of backup files into 'Default Backups Files Limit' .

OSV17.png
20. Mark a security group from 'Use Security Groups' and select 'Console Type' .

If you wish to use SSH keys, leave 'Inject SSH Key' marked (virtualization has to support the 'Inject File' feature).
In order to use passwords for your VM, leave 'Password Management' marked (virtualization has to support the 'Set Admin Pass' feature).
Please make sure, that virtualization used by you supports mentioned actions.
Full list of supported features can be found here.
Important: It is recommended to leave 'Delete SSH Private Key' marked.
The following types of console can be chosen: 'VNC', 'RDP', 'SPICE' and 'Serial' .

OSV17 1.png
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.
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.

OSV17 2.png
22. Finish through selecting features available at the client area.

Mark the checkbox next to a feature in order to enable it. Press 'Save Changes' when you are done.

OSV18.png

VPS With Predefined Resources

Our module allows you to offer OpenStack VPS to your clients in two ways, with either predefined or configurable resources.

In this section we will show you configuration of VPS with predefined resources.
Detailed information about configuration of VPS with resources chosen by a client can be found here.

23. Select a 'Default Flavor' and 'Default VM Image' .

'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.

OSV19.png
Congratulations! You have just finished the installation and configuration of the module with predefined resources.

VPS With Configurable Resources

24. Preparing VPS with configurable options consists of pressing 'Generate default' as shown on the following screen.

It will prepare default configurable options which can be afterward easily edited as described in this article.
Important Configurable option 'flavor|Flavor' will be overwritten by 'disc|Disc' , 'ram|RAM' and 'vcpus|VCPUs' .
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.

OSV20.png

Custom Config Scripts

25. In this area, you can write a custom script using Cloud-Init and arrange it to be executed on newly created VMs.

This way you can automate your work instead of making all kinds of specific images for specific tasks manually.

Important notes:

  • Scripts can be written in standards like Bash or 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!
OSV44.png
On the example below, we will show an examplary script responsible for setting the password to 'newpass01' for the Ubuntu root user.

You can achieve it by writing:

chpasswd:
 list: |
 ubuntu:newpass01
 expire:False
OSV45.png
You can configure scripts in the same format, but for clients' individual choice when ordering the product.

All you need to do is add a new configurable option and assign it to the OpenStack VPS product.
Note: these scripts are executed regardless of the script specified in the module settings.
The easiest way is through the edition of existing 'Configurable options for the OpenStack VPS' group, and adding the new configurable option there.
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:

OSV46.png
Afterward, your clients can choose during the ordering process:
OSV47.png

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.

The general rule is that configurable option names should begin with script_prefix to be recognized as containing a custom script.
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.
Note that files with scripts have to have exactly extension corresponding to the given entries in the configurable options.

In the example above, there are two options: php5.yml and php7.yml, therefore it makes the module read corresponding files:

  • modules/servers/OpenStackVPS/scripts/php5.yml

or

  • modules/servers/OpenStackVPS/scripts/php7.yml

You can add many scripts in the exact way.

Management

OpenStack VPS For WHMCS allows your customers to manage their OpenStack VPS via the client area in your WHMCS system.

You can monitor and manage each product from your WHMCS admin area.
1. Configurable options which enables you to view current VPS resources and change VPS specifications through changing configurable options and pressing 'Change Package' .
2. Module commands enables you to manage VPS status.
3. Here you can find VPS details and refresh them through pressing the 'Refresh Details' icon.
4. Scheduled tasks status can be found in this table.
5. In marked custom fields you can find IDs of VM and private flavor.

OSV24.png
If you decided to select the Use Volumes feature, you will see an additional section named Volumes.
OSV24 1.png

Ordering

Owing to configurable options, you are able to offer a product which your clients can tailor according to their needs.

Additionally, you are able to set up pricing for each configurable option, which make your offer even more competitive.
Important: VPS is not created immediately after ordering 'Create' . Therefore, it is wise to inform your clients about the delay.

OSV25.png

Client Area

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.

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.
Clients can also rebuild the server, access noVNC console, create a backup and view scheduled tasks.
At 'Tasks' your customers can view all requested tasks that was not yet completed.
Each task has additional information bounded to them, like a type of task, attempts to perform tasks or a last returned response.

OSV26.png

Volumes

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
OSV26 1.png

Rebuild

The rebuild feature allows your clients to change a server image.

Press the 'Rebuild' button as shown on the following screen in order to move to the rebuild page.

OSV27.png
To reinstall your server, choose an image and confirm through clicking on 'Rebuild' .
OSV28.png

Rescue Mode

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.

The rescue VM will be launched to permit the user to fix their VM.

OSV48.png

Before you continue please note that the rescue VM will be set up with the same network configuration as the real VM.
Moreover, a new root password will be generated and the VM status will change to 'RESCUE'.
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.

OSV49.png
When you want to disable the rescue mode, click the 'Unrescue' buton. TheVM status will then also return to 'ACTIVE'.
OSV50.png

Backups

Your customers can also create a backup of VPS. To do so, press the 'Backups' button.
OSV31.png
Now, choose a backup name and click 'Backup Now' .
OSV32.png
To restore a VPS from backup, simply press the 'Restore' button next to it.

As you may notice on the following screen, presented earlier the 'First Backup' backup was replaced with the 'New Backup' .
It was caused by a backup routing feature which was triggered by reaching the backups file limit.

OSV33.png

noVNC Console

One of the most interesting functionality is a noVNC console where your clients can remotely manage their server.

To access it, simply click on the 'Console' button.

OSV29.png
noVNC is a browser based VNC client. It was implemented using HTML5 Canvas and WebSockets.
OSV30.png

SSH Keys

Due to a limitation in WHMCS product create process, OpenStack VPS For WHMCS generates SSH key pair automatically.

The public SSH key is automatically injected into a VM while the private key can be downloaded from the client area.
In order to download Unix private SSH key press 'Download Private Key' .
You can easily convert your private Unix key(.rsa) to a private PuTTY key(.ppk) using 'PuTTYgen' .

OSV34.png
Public SSH key in other hand, can be downloaded as many times as your client will need it.

Press 'Download Public Key' as shown on the following screen to save it on your disk.

OSV35.png

Network Configuration Cases

OpenStack VPS For WHMCS allows you to set up two types of network.

The first one is a network without a floating IP address.
To set up this type of network, choose 'Public' as 'Fixed Network' and 'Disabled' as 'Floating Network' .
On the following screen you can view an exemplary topology of such network.

OSV36.png
The second type of network is the network with a floating IP address.

Select 'Shared Network' as 'Fixed Network' and 'Public' as 'Floating Network' .

OSV37.png

Configurable Options

In case that standard configuration is not fitting your needs, you can adjust it through configurable options.

To do so, go to 'Setup' 'Products/Services' 'Configurable Option' and press the edit button next to a configurable option used by your product.
Its name is 'Configurable options for your_product_name' .

OSV38.png
Here you can view the products that this configurable option group is assigned to.

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.
To do so, edit 'ram|RAM' by pressing the edit button as shown on the screen below.

OSV39.png
You will see a popup window, so make sure that your browser will not block it.

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.
Next, press 'Save Changes' .

OSV40.png

Management of Billing

When you combine OpenStack VPS For WHMCS with Advanced Billing For WHMCS, you will be able to set up additional billing options.

Module allows you to charge your customers based on the server resources used by them.
Note: Advanced Billing currently supports only API prior V3 (OpenStack Ocata). A new compatibility will be added soon.

OSV42.png
With Advanced Billing module, you can also display your customers the current server resource usage, their cost, usage history and charts.
OSV43.png

Tips

1. Due to some requests may take time to be completed, we implemented 'Scheduled Tasks' .

Tasks visible at 'Scheduled Tasks' are subsequently performed by a cron job.
Full list of tasks supported by 'Scheduled Tasks' are: create, terminate, change package, remove IP address and remove backup.

2. Important: module has to use admin endpoints instead of public endpoints.

In properly configured OpenStack server, wget from WHMCS server should be able to get any data from any admin endpoint.
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. 
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.
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'
or leave it empty in the product's 'Module Settings'.

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.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. In case of persisting connection problems, please make sure you have the following ports open:
8774, 35357, 9292, 5000, 8777, 9696, 8776
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community