OpenStack VPS For WHMCS
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.
- Admin Area Features:
|✔ Create/Suspend/Unsuspend/Terminate Server|
|✔ Change Package - Supports Configurable Options|
|✔ Change Password - Xen Virtualization Only|
|✔ 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|
|✔ 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|
|✔ 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:
|✔ VM Image|
|✔ IP Addresses|
|✔ Backups Files Limit|
- Required Components:
|✔ 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 - Server Resource Usage Billing|
|✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Specified Servers To Products|
|✔ Multi-Language Support|
|✔ Supports OpenStack Mitaka and Earlier|
|✔ Supports PHP 5.3 Up To PHP 7|
|✔ Supports WHMCS Templates Five and Six|
|✔ Supports WHMCS V6 and 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.
|1. Log in to your client area and download OpenStack VPS For WHMCS.|
|2. Upload and extract the module into the main WHMCS directory.|
|3. When you install OpenStack VPS 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' .
|4. 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.
|5. Next 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
|6. Now, we will show you how to configure a new product.|
Go to the 'Setup' → 'Products/Services' → 'Servers' and press 'Add New Server' .
|7. Next, enter your server name, IP address/hostname, username, password and admin tenant ID.|
Choose 'OpenStackVPS' from a dropdown menu and press 'Save Changes' .
|8. After you configure your server correctly, you can check connection with OpenStack server.|
Simply edit previously created server and press 'Test Connection' as shown on the screen below.
|9. It is time to create a server group. To do so, click on 'Create Server Group' .|
|10. Enter name, click on your previously created server, press 'Add' and afterwards 'Save Changes' .|
Configuration of Product
|11. In order to create and configure a product, go to the 'Setup' → 'Products/Services' → 'Products/Services' .|
Click on 'Create a New Group' .
|12. Enter product group name and press 'Save Changes' .|
|13. When you have a product group, you can create your product.|
To create a product click on 'Create a New Product' .
|14. Afterwards, choose your product group and type from dropdown menus, enter your product name and press 'Continue'. |
'Product Type' should be set to 'Hosting Account'.
|15. Now, go to the 'Module Settings' section, choose both 'OpenStackVPS' and your previously created server group from dropdown menus.|
Next, click on 'Save Changes' .
|16. Start from selecting 'Default Tenant' .|
'Check access' will return 'OK' if you set up permissions correctly.
|17. Afterwards, 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.
|18. At this step you can set up backups.|
Mark 'Backups Routing' checkbox if you want to replace oldest backup with newest one when backups file limit is reached.
|19. Mark 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 'Inject File' feature).
|20. Finish through selecting features available at the client area.|
Mark checkbox next to feature in order to enable it. Press 'Save Changes' when you are done.
VPS With Predefined Resources
|Our module allows you to offer OpenStack VPS to your clients in two ways, with predefined resources and configurable resources.|
In this section we will show you configuration of VPS with predefined resources.
|21. Select 'Default Flavor' and 'Default VM Image' .|
'Default Flavour' defined resources assigned to VM while 'Default VM Image' allows you to choose VM image used to create new VM.
|Congratulations! You have just finished the installation and configuration of the module with predefined resources.|
VPS With Configurable Resources
|21. 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 afterwards easily edited as described in this article.
Note: The second and the third options causes a new flavor being made on your server each time a new order is made.
|Congratulations! You have just finished the installation and configuration of the module with configurable resources.|
| OpenStack VPS For WHMCS allows your customers to manage their OpenStack VPS via client area in your WHMCS system.|
You can monitor and manage each product from your WHMCS admin area.
|Owing to configurable options, you are able to offer 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.
|Client area interface of OpenStack VPS should look like the one on the screen below. As you can see, control panel contains useful options needed for managing VPS.|
Module allows your customers to easily start/stop, pause/unpause, resume, soft reboot, hard reboot and reset network of their servers through pressing specified button.
|Rebuild feature allows your clients to change server image.|
Press 'Rebuild' button as shown on the following screen in order to move to the rebuild page.
|To reinstall your server, choose an image and confirm through clicking on 'Rebuild' button.|
|One of the most interesting functionality is a noVNC console where your clients can remotely manage server.|
To access it, simply press on the 'Console' button.
|noVNC is a browser based VNC client. It was implemented using HTML5 Canvas and WebSockets.|
|Your customers can also create a backup of VPS. To do so, press 'Backups' button.|
|Now, choose backup name and press 'Backup Now' button.|
|To restore VPS from backup, simply press 'Restore' button next to it.|
As you may notice on the following screen, presented earlier 'OldBackup' backup was replaced with 'NewBackup' .
|Due to limitation in WHMCS product create process, OpenStack VPS For WHMCS generates SSH key pair automatically.|
Public SSH key is automatically injected into VM while private key can be downloaded from the client area.
|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.
Network Configuration Cases
|OpenStack VPS For WHMCS allows you to set up two types of network.|
First one is a network without floating IP address.
|Second type of network is a network with floating IP address.|
Select 'Shared Network' as 'Fixed Network' and 'Public' as 'Floating Network' .
|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 edit button next to configurable option used by your product.
|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.
|You will see a popup window, so make sure that your browser will not block it.|
To add new option, enter it in a textbox under all other options. If you want to replace it with option you currently have, simply edit its textbox.
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.
|With Advanced Billing module, you can also display your customers the current server resource usage and their cost.|
|1. Due to some requests may take time to be completed, we implemented 'Scheduled Tasks' .|
Tasks visible at 'Scheduled Tasks' are subsequently performed by cron job.
|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.
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'.
|1. When you have problems with connection, check whether your SELinux or firewall does not block ports.|
|2. 'Connection Error: No route to host' error.|
Reason: WHMCS server can not resolve OpenStack endpoint hostnames.
|Afterwards, check each URL from 'adminurl' column using 'ping' command at your WHMCS server.|
All URLs which are not reachable have to be added to 'hosts' file on a server with your WHMCS.
|3. In case of persisting connection problems, please make sure you have the following ports open:
8774, 35357, 9292, 5000, 8777, 9696, 8776