Launch an AWS™ AMI™ Instance


Last modified: August 19, 2020

Overview

This document provides the steps to use the Amazon Web Services™ (AWS) cloud service and the cPanel & WHM Amazon Machine Image™ (AMI) to build a production hosting environment. Amazon’s AWS platform exists behind a NAT infrastructure that provides a solid hosting architecture.

For video tutorials about this process, view the cPanel and Amazon AWS playlist on our YouTube channel.

Warning:
  • This document assumes that you will use dedicated DNS instances. You could also use these instructions on dual-use instances that serve as both web servers and nameservers.

  • Due to networking requirements, you cannot run an IPv6-only cPanel & WHM server. You must have at least one IPv4 address.

  • We strongly recommend that you read the Amazon AWS User Guide before you begin this process.

  • You must obtain an elastic IP when you create your server.

  • We strongly recommend that you host interconnected servers at Amazon® within the same availability zone.

  • cPanel & WHM requires a valid license. If this is a new installation, you can activate a free 15-day trial license.

  • In order to activate a new license, you must have a cPanel Store account with a verified email address.

  • You cannot change your hostname within cPanel & WHM after you launch an instance. Make certain that you configure it before you launch.

    • An incorrect hostname may cause license errors.

    • To configure your instance to retain the changed hostname, perform the steps in the Fix hostname issues section below.

  • To complete this process, you must create and add a key pair to your AWS account and local computer.

    • For instructions to create and install a key pair, read our Instance Management Tasks documentation.

    • The key pair must use the same region as the instance.

Launch an Amazon AWS instance

Create and add key pairs

If your AWS account does not include at least one key pair, you must create one and add it to your local system before you can launch your instance. To do this, perform the following steps:

  1. Sign in to your AWS account.

  2. From the Services menu in the top-left corner, select EC2 under Compute. The EC2 Management Console will appear.

  3. In the left-side menu under Network & Security, click Key Pairs. The list of available key pairs will appear.

  4. Click Create Key Pair. The Create Key Pair window will appear.

  5. Enter a name for the key pair in the Key pair name text box.

  6. Click Create. The list of key pairs will refresh to display the new key pair, and your browser will automatically download the new key pair’s .pem file.

  7. Perform the steps for your computer’s operating system:

On an MacOS™ computer that uses the default download folder:

  1. Run the following command, where example represents the key pair’s name:

    mv ~/Downloads/example.pem ~/.ssh

  2. Run the following command to modify the permissions for the .pem file, where example represents the key pair’s name:

    chmod 600 ~/.ssh/example.pem

  3. Run the following command to add the key pair, where example represents the key pair’s name:

    ssh-add ~/.ssh/example.pem

An Identity added message will appear.

On a Windows™ computer that runs the PuTTY client and uses the default download folder, perform the following steps:

  1. From the Windows Start menu, open PuttyGen.

  2. Under the Conversions heading, click Import.

  3. Navigate to the PuTTY Key Generator interface. and click Open.

  4. Enter a passphrase in the Key passphrase and Confirm passphrase text boxes.

  5. Click Save private key and save the key as a .ppk file.

  6. From the Windows Start menu, open PuTTY.

  7. In the Session interface, from the Saved Sessions menu, select your preferred authorization session and click Load.

  8. Navigate to the Auth interface under the SSH category.

  9. Click Browse, select the private key file to upload, and click Open.

Note:

For instructions on how to access the command line, read our How to Access the Command Line documentation.

After you create and add the new key pair, it will automatically appear in the list during the instance launch process.


Navigate to the AMI

Navigate to the cPanel & WHM AWS Marketplace listing and click Continue to Subscribe.

Important:

cPanel, L.L.C. only supports AMIs that list cPanel as the seller. You can find seller information immediately below the AMI listing title.


Continue and verify fulfillment

In the top-right corner, click Continue to Configuration. Then, confirm that the system uses 64-bit (x86) Amazon Machine Image (AMI) in the Fulfillment Option menu.


Verify version settings

By default, the system uses the AMI’s default version to configure the instance version. Under Version, verify whether the system selected the desired AMI version. To select a different version, click Version and select a version.

Note:
  • To improve security for your system, the cPanel & WHM AMI automatically runs the /usr/local/cpanel/upcp script after the instance initializes. This script may alter the AMI’s version number.

  • For more information about cPanel & WHM versions, read our Product Versions and the Release Process and cPanel Deprecation Plan documentation.


Verify region settings

Under Region, ensure that AWS automatically selected the correct region. To select a different region, click Region and select a region.

Remember:

You must configure the key pair and instance to use the same region.

  • If they do not use the same region, you cannot use the key pair with the instance.
  • You cannot edit the instance region after you launch the instance.

Continue to launch

In the top-right corner, click Continue to Launch. Then, in the Choose Action menu, select Launch from Website.


Select an instance type

Under EC2 Instance Type, select the instance type that you wish to use. The list of instance types includes all of the types that the cPanel & WHM AMI supports.

Important:
  • Your EC2 instance type determines the rate at which AWS bills you.

  • Make certain that you select an instance type that includes appropriate resources for the type of system that you wish to run. If you will host a large number of websites or multimedia content, you must choose an instance type that exceeds our minimum system requirements.

  • We strongly recommend that you do not install cPanel & WHM on servers that rely on snapshot data (for example, Amazon EC2™ Spot instances). When these servers revert to snapshot data, the system detects this action as a uniqueness change. This behavior causes these servers’ cPanel & WHM licenses to lock due to the uniqueness changes for that server’s cPanel & WHM license. A locked license disables a cPanel & WHM server.


Configure VPC and subnet settings

To configure your VPC and subnet settings, perform the following steps:

  1. Under VPC Settings, verify the Virtual Private Cloud (VPC) that the system selected.

    • To change one of these settings, click VPC Settings and select the desired VPC.
    • To create a new VPC, click Create a VPC.
  2. Under Subnet Settings, verify the subnet that the system selected.

    • To change the subnet, select the appropriate subnet from the menu.
    • To create a new subnet, select Create a subnet.
More:

For more information, read Amazon’s VPCs and Subnets documentation.


Configure security settings

Under Security Group, verify the new instance’s port and security settings.

Warning:

We strongly recommend that you select Create new based on seller settings.

  • We recommend that only advanced users select default.
  • cPanel, L.L.C. has configured the Create new based on seller settings settings to meet cPanel & WHM’s requirements and improve security for your system.

Enter a name for the security group in the Name your Security Group text box.


Select a key pair

Select the desired key pair from the Key Pair menu.


Launch the instance

At the bottom-right corner of the page, click Launch. A confirmation page that lists all of your instance’s information will appear.

  • Click Launch to launch the instance. A success message will appear

  • Click Previous to return to the cPanel & WHM AMI listing in the AWS Marketplace.

  • Click EC2 Console to navigate to the EC2 Management Console which will display your new instance. The EC2 Management Console allows you to launch EC2 instances, manage or check instance status, view DNS information, and other instance management tasks.

Note:

New instances may require several minutes to initialize. Until the initialization process finishes, the Status Checks column of the EC2 Management Console will display Initializing and an hourglass icon.


Assign an elastic IP address

If you stop and restart your instance, Amazon will assign a different IPv4 address to the instance. cPanel & WHM requires a permanent IP address for all installations. Therefore, you must assign an elastic IP address to the instance to set a permanent address for the server.

To assign an elastic IP address to the instance, perform the following steps:

  1. In the left sidebar, scroll down to the Network & Security section and click Elastic IPs. The Elastic IPs interface will appear.

  2. Click Allocate new address.

  3. Click Allocate. A success message will appear.

  4. Click Close.

  5. Select the checkbox next to the new elastic IP address that you just created.

  6. Click Actions and select Associate address.

  7. Under Resource type, select Instance.

  8. In the Instance menu, select the new instance that you just created.

  9. In the Private IP menu, select the elastic IP address that you just created.

  10. Unselect the Reassociation checkbox.

  11. Click Associate. A success message will appear.

  12. Click Close. The instance’s private IP address will appear under the Private IP address column.


Log in via SSH

To log in to the server via SSH and promote yourself to the root user, run the following commands, where IPADDRESS represents the server’s public (elastic) IP address.

1
2
ssh centos@IPADDRESS
sudo su -l

The server will respond with a Message of the Day that contains helpful links and a URL where you can log in to cPanel & WHM.


Change the root password

To change the root user’s password, perform the following steps:

  1. Enter the passwd command.
  2. Enter a new password.
  3. Enter the new password again.

The system will update the root password.


Log in to WHM

To log in to WHM, perform the following steps:

  1. In your preferred browser, navigate to the https://IPADDRESS:2087 URL, where IPADDRESS represents your server’s IP address. A new interface will appear.

  2. Agree to the software license. A new interface will appear.

  3. Enter the your contact information and nameserver information. The WHM Home interface will appear.

Remember:

cPanel & WHM requires a valid license. If this is a new installation, you can activate a free 15-day trial license.


Configure WHM

After you agree to our software license, you’re ready to configure cPanel & WHM.

For more information about how to configure cPanel & WHM, read our WebHost Manager documentation.

For more information on how to quickly build a website on a newly-installed cPanel & WHM server, read our From WHM to Website documentation.

Remember:
cPanel & WHM requires a valid license. If this is a new installation, you can activate a free 15-day trial license.

For information about how to manage the newly-created instance, read our Amazon AWS Instance Management documentation.


Fix hostname issues
Note:
If your server does not use a resolvable fully-qualified domain name as the hostname, it will automatically receive one from cPanel, L.L.C. For more information, read our Automatically-Issued Hostnames documentation.

If you change your hostname after you launch your instance, AWS will reset it to the original hostname each time that the instance reboots. To resolve this issue, run the following command:

printf 'preserve_hostname: true\nmanage_etc_hosts: false\n' > /etc/cloud/cloud.cfg.d/99-preserve-hostname.cfg


Additional Documentation