Amazon EC2 For WHMCS
Contents |
About Amazon EC2 For WHMCS
Amazon EC2 For WHMCS' is a tool of great convenience for all those who wish to manage their Hetzner servers automatically. The module will allow your clients to remotely control the status of a server, access the console, and rebuild the machine. |
- Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate Server |
✔ Power On/Power Off/Shut Down/Reboot Server |
✔ View Server Status And Details |
✔ View Assigned IPv4 and IPv6 Addresses |
✔ Rebuild Server With Chosen OS Distribution |
✔ Configure Product Details: |
✔ Choose Location/Data Center |
✔ Choose OS Image |
✔ Choose Type |
✔ Define Additional Volume Size |
✔ Choose Available Images To Rebuild |
✔ Choose Features Available In Client Area: |
✔ Rebuild Server |
✔ Access Console |
✔ Generate Configurable Options |
✔ Run API Connection Test |
- Client Area Features:
✔ Power On/Power Off/Shut Down/Reboot Server |
✔ View Server Status And Details |
✔ View Assigned IPv4 and IPv6 Addresses |
✔ Rebuild Server With Chosen OS Distribution |
✔ Access Remote Console |
✔ Provide SSH Key During Order |
- Supported Operating Systems:
✔ CentOS |
✔ Debian |
✔ Fedora |
✔ Ubuntu |
- Configurable Options:
✔ Location |
✔ Image |
✔ Data Center |
✔ Type |
✔ Additional Volume Size |
- General Info:
✔ Multi-Language Support |
✔ Supports PHP 7.1 Up To PHP 7.3 |
✔ Supports WHMCS Template Six |
✔ Supports WHMCS V7.5 And Later |
✔ Easy Module Upgrade To Open Source Version |
Installation and Configuration
This tutorial will show you how to successfully install and configure Hetzner VPS For WHMCS smoothly. We will guide you step by step through the whole process. |
Installation
1. Log in to our client area and download the module. |
![]() |
2. Upload and extract the extension into the main WHMCS directory. Extracted files in your WHMCS directory should look like this: |
![]() |
3. When you install Amazon EC2 For WHMCS for the first time, you have to rename the 'license_RENAME.php' file. The file is located in 'modules/servers/AwsEc2/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'. |
![]() |
4. In order to configure your license key, you have to edit the previously renamed 'license.php' file. Enter your license key between the quotation marks as presented on the following screen. |
![]() |
5. Now, set up the 'storage' folder as recursively writable. This folder is available at '/your_whmcs/modules/servers/AwsEc2/'. |
![]() |
6. The last step is setting up the queue cron job. It will be used to execute module commands such as: create, terminate or change package. php -q /home/dev20/public_html/test/modules/servers/AwsEc2/cron/cron.php queue It might be necessary to run the cron task manually more than once to execute the commands. |
Configuration of Server
Before you can go on, you must generate your Hetzner API Token. You will need it to connect with the server successfully. Underneath you will find instructions where to find your API details. |
7. Firstly, log into your Amazon EC2 account. |
File:AEC7 7 1.png |
8. Under your account name dropdown menu find 'My Security Credentials' section and enter it. |
File:AEC7 7 2.png |
9. There, move to 'Access Keys (access key ID and secret access key) section. |
File:AEC7 7 3.png |
10. There 'Create NEw Access Key' |
File:AEC7 7 4.png |
11. Use existing keys: |
File:AEC 7 5.png |
12. Now, log in to your WHMCS and proceed to 'Setup' → 'Products/Services' → 'Servers' and press 'Add New Server' . |
![]() |
13. Next, enter your server name and select 'Amazon EC2' from the 'Type' field. Now, provide the previously generated 'Access Key ID' and 'Secret Access Key'. Then check the connection, If successful, save the changes. |
![]() |
14. It is time to create a server group. To do so, click on 'Create Server Group' . |
![]() |
15. Enter a name, click on your previously created server, press 'Add' and afterward 'Save Changes' . |
![]() |
Configuration of Product
16. In order to create and configure a product, go to 'Setup' → 'Products/Services' → 'Products/Services' . Click on 'Create a New Group' . |
![]() |
17. Enter your product group name and press 'Save Changes' . |
![]() |
18. Once you have a product group, you can create a new product. To do so, first click on 'Create a New Product' . |
![]() |
19. Afterward, choose your product type, enter your product name, choose module and the product group from the dropdown menus. Press 'Continue'. |
![]() |
20. Now, go to the 'Module Settings' section, choose your previously created server group from the dropdown menu. The module should automatically save and reload the settings. If not, click on the 'Save Changes' option manually. |
![]() |
21. Now, you can start configuring the settings of the server you sell. Just like when creating a new virtual machine in your Hetzner panel, here also you can configure such options as:
|
![]() |
22. The following section is dedicated to Images. ......... |
![]() |
23. At the end of the configuration process, you can decide whether you want to generate configurable options for the product. Configurable options can be used by your clients to select each virtual machine parameters individually during order placement. |
![]() |
If you decide to use configurable options, press on the 'Create' button and select which options you want to generate. Note that the configuration for disabled options will still be taken from the configuration of the main product. More information about how to use configurable options can be found here or in the official WHMCS documentation. |
![]() |
SSH Keys
In the 'Custom Fields' tab you will find a 'SSH Public Key' field which is displayed to clients on the order form by default. This field is optional. It allows your clients to insert their public key in order to be able to log in to server without using a password.
If you would like to limit the possibility of entering the key e.g. only to the 'ssh-rsa' format, you can use the regular expression in the validation field, such as: #ssh-rsa AAAA[0-9A-Za-z+/]+[=]{0,3}( [^@]+@[^@]+)?# More information about how Hetzner handles SSH keys and how to create them can be found here. |
File:AEC 18 1.png |
Management
Admin Area
Amazon AEC For WHMCS allows you to monitor and manage your customer virtual machine from the admin area of your WHMCS system. This includes supervision of such features like:
|
![]() |
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 makes your offer even more competitive. Based on the custom SSH key field configuration, you might also insert your public SSH key, which will allow you to log in to a server without the need to use the password. After the order placement and successful VM creation, the server credentials will be sent to the client's email address according to the set cron execution intervals. |
File:AEC 19 1.png |
Client Area
Client area interface of Amazon EC2 should look like the one on the screen below. As you can see, the control panel contains useful options required for managing a server. The module allows your customers to easily power on/off, shutdown and reboot their servers through pressing the corresponding buttons. |
![]() |
You must previously stop the machine to be able to change the package.+ |
Tips
1. You can u............. |
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! |
Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports. |
2. Error: "Subnet does not contain any IPv6 CIDR block ranges." Solution: In EC2 panel, move to VPC Dashboard → Subnets, find default subnet and assign it an IPv6 CIDR. |