# AWS EC2 & cPanel (Part one)

**<mark>Disclaimer: This process can cost money. DO IT AT YOUR OWN RISK.</mark>**

## Pre-check List

1. cPanel account
    
2. AWS Account (Credit Card required)
    

## System Requirement

| **Operating system and version** | **Processor** | **RAM** | **Disk Space** |
| --- | --- | --- | --- |
| Ubuntu 22.04 LTS 64-bit | **Minimum**: 1.1 GHz **Recommended**: 2 GHz | **Minimum**: 2 GB **Recommended**: 4 GB | **Minimum**: 20 GB **Recommended**: 40 GB |

## Important Note

> * We do **not** provide an uninstaller. If you wish to remove our software, you **must** reformat the server.
>     
> * **Only** install cPanel & WHM on a freshly-installed operating system.
>     
> * You **must** log in to the server as the `root` user in order to install cPanel & WHM. If you do **not** possess `root-level` access, contact your system administrator or hosting provider for assistance.
>     
> * We recommend that you use the [cPanel & WHM installer](https://securedownloads.cpanel.net/), which installs all of the services that it requires. If you install services before you install cPanel & WHM, you will encounter compatibility issues.
>     
>     — cPanel Docs
>     

## AWS EC2 Setup

1. Login to AWS Console: [https://console.aws.amazon.com](https://console.aws.amazon.com)
    
2. Choose your nearest region from top right corner
    
    ![AWS Region Selector](https://cdn.hashnode.com/res/hashnode/image/upload/v1729174986042/9686d0f7-87c6-4ea2-aa89-efb5b1e34521.png align="center")
    
3. After selecting the Region, search for EC2 in the search box and click on EC2
    
    ![Select EC2 in AWS](https://cdn.hashnode.com/res/hashnode/image/upload/v1729175135481/74e69707-b61a-46af-834f-5eeaf01e6ce3.png align="center")
    
4. Look for “Launch Instance” button and Click it
    
    ![Launch Instance button in AWS](https://cdn.hashnode.com/res/hashnode/image/upload/v1729175262203/adbc4d99-270d-4517-a719-3aa535f39928.png align="center")
    
5. Enter a name \[1\], OS\[2\] `Ubuntu`, Version\[3\] `22.04 LTS`, Architecture\[4\] `64-bit (x86)`
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729175639822/98cae86d-961b-4411-b933-0c0abcb4d5b0.png align="center")
    
6. Now choose instance type `t2.medium` as we need 4GB of RAM
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729176669311/a12234b2-1a65-4132-b99a-1ccacb283ad3.png align="center")
    
7. Now generate Key Pair to login into our VPS with SSH and Save it for future use.
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729176951148/54c4558f-7ba5-48ba-a11a-970381e17762.png align="center")
    
8. Now allow all traffic from the internet. And keep SSH Traffic from anywhere for now.
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729177190656/39361563-7fbb-43ca-915f-5b233813504e.png align="center")
    
9. Add 40GB storage
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729177272649/6852a108-4170-4513-966c-5e8084335b74.png align="center")
    
10. Now our summary should look like this. Click Launch Instance
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729177335971/26d58b37-06de-4b2f-951c-b544514bd498.png align="center")
    
11. Once the instance is launched, it’ll look like this. Click on the instance ID to open the instance list.
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729177597075/68e09293-65f5-40d6-ad9f-0fa795dcf0b6.png align="center")
    
12. Click on the Instance ID to open the instance control panel
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729177763382/118a9356-2779-4b5c-87ca-1b48836a6a80.png align="center")
    
13. This is how the control panel look
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729178019137/235fbb83-9d0c-42ad-ae64-dc5704d22928.png align="center")
    
14. The public IP assigned here will be changed if the instance restarts. So we will add a elastic IP. Click on the “Elastic IPs” menu link under “Network & Security”
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729178341637/a72f773e-6784-4d2d-bb50-da1a589f37b8.png align="center")
    
15. Now click on Allocate “Elastic IP Address”
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729178502159/c1feb3c0-cba2-42a5-ab0e-6234153592e0.png align="center")
    
16. Now click on allocate
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729178589783/74594e47-519a-4c58-96e4-29b388a19893.png align="center")
    
17. Click on IP address to open the Elastic IP control panel.
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729178752208/4b367288-df6c-4ef4-b2ac-5e5d554135dd.png align="center")
    
18. Click on “Associate Elastic IP Address” to open the assignment panel
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729178846896/05e9b100-0eb0-4221-a2e4-adcad9f09e4e.png align="center")
    
19. Now choose instance and click associate
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729178994473/f4ea3326-8cf9-46ed-a1e6-23d570c6cb37.png align="center")
    
20. We are done. Now lets login into the VPS with SSH.
    

Continue in part 2 . . .
