OpenStack VPS And Cloud For WHMCS
Contents |
About OpenStack VPS For WHMCS
OpenStack VPS For WHMCS is a powerful module which allows you to automatically provision virtual servers to your customers. The great advantage of this module is the fact that customers can manage virtual servers, backups and much more in your own WHMCS client area! |
- Admin Area Features:
✔ Create Server |
✔ Suspend/Unsuspend Server |
✔ Terminate Server |
✔ Change Package (Supports Configurable Options) |
✔ Change Password For Xen Virtualization |
✔ View Server Status And Details |
✔ View Interface Details |
✔ View List Of Scheduled Tasks |
- Client Area Features:
✔ View Server Status And Details |
✔ Start/Stop Server |
✔ Pause/Unpause Server |
✔ Resume Server |
✔ Soft Reboot Server |
✔ Hard Reboot Server |
✔ Reset Network |
✔ Rebuild |
✔ Change Password For Xen Virtualization |
✔ noVNC Console |
✔ Backups |
✔ Download Public & Private SSH Keys |
✔ View List Of Scheduled Tasks |
- Module Features:
✔ Configuration Of Backups Quantity Limit |
✔ Triggerable Routing Backups (Newest Backup Overwrites The Oldest One If Backup Limit Is Reached) |
✔ Automated Generation Of SSH Keys (Public SSH Key Is Automatically Injected To VM) |
✔ Security Groups |
✔ Configuration Of Client Area Features |
✔ Configurable Options (Flavor, VM Image, IP Addresses, Backups Files Limit, Disk, RAM and VCPUs) |
✔ Extended Connection Test |
- General Info:
✔ Integrated With Advanced Billing For WHMCS - Server Resource Usage Billing |
✔ Multi-Language Support |
✔ Supports WHMCS V5 and Later |
- Required Components:
✔ Keystone |
✔ Glance |
✔ Nova |
✔ Neutron |
✔ Ceilometer (Required For Billing) |
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 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 'Dedicated/VPS Server' . |
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' . 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.
|
Congratulations! You have just finished the installation and configuration of the module with configurable resources. |
Management
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. |
Ordering
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
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
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. |
noVNC Console
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. |
Backups
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' . |
SSH Keys
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' . |
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 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. |
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 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. |
Common Problems
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. |