Personal tools
Namespaces

Variants
Actions

Amazon EC2 For WHMCS

From ModulesGarden Wiki
Revision as of 11:35, 17 June 2019 by Karolina (Talk | contribs)

Jump to: navigation, search

Contents

About Amazon EC2 For WHMCS

Amazon EC2 For WHMCS' is a tool of ............
  • Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate Server
✔ Start/Stop/Reboot Server
✔ View Server Instance Status And Details
✔ View Assigned Network Interfaces and IP Addresses Details
✔ Configure Product Details:
✔ Choose Region
✔ Choose Amazon Machine Image (AMI)
✔ Choose Instance Type
✔ Select Security Groups
✔ Define Tag Name
✔ Define Number Of Additional IPv4 Addresses
✔ Provide User Data Script
✔ Toggle Capacity Reservation
✔ Toggle Hibernation
✔ Toggle API Request Logging
✔ Generate Configurable Options
✔ Run API Connection Test
  • Client Area Features:
✔ Start/Stop/Reboot Server
✔ View Server Instance Status And Details
✔ View Assigned Network Interfaces and IP Addresses Details
✔ Provide SSH Key During Order
  • Configurable Options:
✔ Region
✔ Instance Type
✔ Amazon Machine Image (AMI)
✔ Additional IPv4 Addresses
  • 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.
AEC 1.png
2. Upload and extract the extension into the main WHMCS directory.

Extracted files in your WHMCS directory should look like this:

AEC 2.png
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'.

AEC 3.png
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.
You can find your license key in our client area → 'My Products'.

AEC 4.png
5. Now, set up the 'storage' folder as recursively writable.

This folder is available at '/your_whmcs/modules/servers/AwsEc2/'.

AEC 5.png
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/your_whmcs/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 Amazon EC2 Acces Key and Secret Access Key. You will need them 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 and find 'My Security Credentials' section under your account name dropdown.
File:AEC7 6.png
9. There, move to 'Access Keys (access key ID and secret access key) section.
File:AEC7 7.png
10. If you do not have yet any active keys, then press 'Create New Access Key' botton to geberate new set of details.
File:AEC7 8.png
11. A modal with Access Key Secret Access Keyt will appear, copy it and keep safe. Yppou may also download a file with teh details.

Note taht this is the only place where you can later on find the corresponding secret key, it will not be visible next to the Key ID in the panel.

AEC 9.png
12. Now, log in to your WHMCS and proceed to 'Setup' 'Products/Services' 'Servers' and press 'Add New Server' .
AEC 10.png
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.

AEC 11.png
14. It is time to create a server group. To do so, click on 'Create Server Group' .
AEC 12.png
15. Enter a name, click on your previously created server, press 'Add' and afterward 'Save Changes' .
AEC 13.png

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

AEC 14.png
17. Enter your product group name and press 'Save Changes' .
AEC 15.png
18. Once you have a product group, you can create a new product.

To do so, first click on 'Create a New Product' .

AEC 16.png
19. Afterward, choose your product type, enter your product name, choose module and the product group from the dropdown menus. Press 'Continue'.
AEC 17.png
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.

AEC 18.png
21. Now, you can start configuring the settings of the server you sell.

Just like when creating a new virtual machine in your EC2 panel, here also you can configure such options as:

  • Region - Choose a geographical area with a set of EC2 resource
  • Amazon Machine Image (AMI) - An AMI is a template that contains the software configuration (operating system, application server, and applications) required to launch your instance. You must have previously added any AMIs into the Selected Images table to be able to select any here
  • Instance Type - Select instance type based on the requirements of the application or software that you plan to run on your instance
  • "Security Groups' - A named set of allowed inbound network connections for an instance. Each security group consists of a list of protocols, ports, and IP address ranges
  • Tag Name - Define a tag name, this label will be assigned to EC2 resources
  • Number of IPv4 Addresses - Enter a maximum number of allowed, additional IP addresses. This value will be taken into consideration only if no referring configurable option exists
  • Capacity Reservation - Capacity Reservations reserve capacity for your EC2 instances in a specific Availability Zone. You can launch instances into a Capacity Reservation if they have matching attributes (instance type, platform, and Availability Zone), and available capacity
  • Hibernation - Enable to allow hibernating your instance. Hibernation stops your instance and saves the contents of its RAM to the root volume. You cannot enable or disable hibernation after launch
    Note: It is possible to hibernate only some of the instances. In case your client's machine does not support hibernating, this option will be disabled.
  • Log API Requests - Enable to allow storing information on API requests in the log file
AEC 19.png
22. The following section is dedicated to Images.

Here, you may look for and then select single images to be aaded to the list. They will be available to choose from in the Amazon Macine Images (AMI) field in the main configuration of the produst.

First of all, eneter as many details as possible to find the images you are interested in. Press search button when ready.

AEC 20.png
When the list of available images appears, press 'Add' next to the one you wisch to add to the list of selected.
AEC 21.png
On the list of selescted, there are all images that you have added, and which will be available to select from when setting up the Amazon Macine Images (AMI) configurtation field.

It is also possible to add images manually here. Simply eneter the image name.

AEC 22.png
When found, press 'Add' button.
AEC 23.png
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.
Otherwise, if configurable options are not defined, then the fixed parameters specified in the earlier configuration will be used instead.

AEC 24.png
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.
AEC 25.png

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.
The provided key should be in one of the OpenSSH formats which are supported by Hetzner API. This includes the following types:

  • ssh-rsa
  • ssh-dss
  • ecdsa-sha2-nistp256
  • ecdsa-sha2-nistp384
  • ecdsa-sha2-nistp521
  • ssh-ed25519

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.
If you do not want this field to be available to customers during the ordering process, simply uncheck 'Shown on Order Form' option.
Remember that API allows such action only once, during the initial VM creation.

AEC 26.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:

  1. Configurable options which enable you to view the chosen server resources.
  2. Module commands to allow easy and quick management of the server
    In order to change the package, the machine must be previously stopped.
  3. Service actions, including: Start, Stop and Reboot the server
  4. Instance details provide the current status, resources and options set.
  5. Interafces details
AEC 27.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 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.
Note that this key should be in one of the OpenSSH standard formats which are supported by API, e.g. ssh-rsa.

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.

AEC 28.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.
Clients can also rebuild the server, access the console and view the current server parameters, resources and all set options, as well as the assigned IP addresses.

AEC 29.png
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!
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. 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.

Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
Amazon EC2 For WHMCS