Launch an AWS™ AMI™ Instance


Last modified: July 22, 2022

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.

  • An incorrect hostname may cause license errors. If you change your server’s hostname, you must configure the instance to keep the new hostname. To do this, 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. Click All services in the top-left corner and select EC2 from the Compute menu. 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 Name text box. Do not change other default settings.

  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 cPanel & WHM AWS Marketplace listing, and choose the AMI you want to install:

Then, click Continue to Subscribe.

Important:

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

Subscribe and verify fulfillment

Click Accept Terms to accept the cPanel, L.L.C. terms and conditions. The subscription process takes a few minutes. You will receive a notification both on the page and via email when the subscription process is complete.

Once the subscription process is complete, in the top-right corner, click Continue to Configuration. 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 cPanel 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 security requirements and improve security for your system.

Enter a name for the security group in the Name your security Group text box and a description in the Description text box. Then, click Save.

Select a key pair

Select the desired key pair from the Key Pair menu.

Note:
If you don’t have a key pair available, you can follow Amazon’s EC2 Key Pairs Guide documentation to create or import a key pair.

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. The system will return a success message and configuration details.

  • In the text box that appears, click EC2 Console to navigate to the EC2 Management Console. This interface allows you to launch EC2 instances, manage or check instance status, view DNS information, and perform 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 a clock 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, navigate to the Network & Security section and click Elastic IPs. The Elastic IPs interface will appear.

  2. Click Allocate Elastic IP address.

  3. Click Allocate. A success message will appear.

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

  5. Click Actions and select Associate Elastic IP address.

  6. Under Resource type, select Instance.

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

  8. In the Private IP menu, select the appropriate private IP address.

  9. Uncheck the Reassociation checkbox.

  10. Click Associate. A success message will appear.

Log in via SSH

Note:

Installations can take several minutes to complete. You can monitor the installation process by logging into your AMI instance via SSH.

To log in to the server via SSH and promote yourself to the root user, run the following commands for your cPanel & WHM server’s operating system, where IPADDRESS represents the server’s public (elastic) IP address:

Set the root password

Important:

You will need to set the root password before you can access cPanel & WHM.

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

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

The system will set the root password.

Note:

Instead of the passwd command, you can run the /usr/local/cpanel/scripts/whmlogin script to create a single-use session login URL for WHM. Then, change the root password in the Change Root Password interface (WHM >> Home >> Server Configuration >> Change 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. The WHM interface will appear.

  2. Log in with the root username and password you set.

  3. Agree to the software license. The Get started with a Free cPanel Trial! interface will appear.

  4. You will need to log in to or create a cPanel Store account. For information about how to do this, read our How to Sign Up for a Trial License documentation.

  5. After you log in to the cPanel Store and obtain a trial license, click Server Setup in the WHM interface. The Contact Information interface will appear.

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

Important:

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

If WHM displays an error about the license, check which IP address your license uses. To change the IP address that the license uses, perform the following steps:

  1. Log in to store.cpanel.net.

  2. Click Manage Licenses. The Manage Licenses interface will appear.

  3. Locate your server’s license.

  4. Click the down arrow under Actions.

  5. Click Edit IP. A new window appears.

  6. Enter the instance’s new IP address.

  7. Click Save Changes.

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