Are you 10+ websites owner tired of restrictive VPS and other “cloud hosting” offers that are nothing but “repackaged” shared hosting? Why not to build your own cPanel / WHM cloud server? Actually that takes less than 20 minutes and will save you lots of money and headache in feature.


Build Your Own cPanel Cloud Hosting with Amazon AWS: Part 1

by Cloud Hosting Today

January 12, 2017

Surprised? Below, you will find the instruction on how to build your own cPanel Cloud Hosting Server with Amazon AWS just right now.

What are the advantages:

  • Almost 100% uptime.
  • Immediate access to all functions and features you need
  • Your own resource management
  • Scale up and down anytime with just a couple of clicks or even automate this.
  • No “bad neighborhood effect”
  • More websites you host, more economy you get.

Step 1. Create your VPC (Virtual Private Cloud)
  1. Log into your Amazon AWS Console account or sign up here if you don’t have one.
  2. Select a data center where you would like to deploy your VPC.
Choose where to deploy your VPC.

Choose where to deploy your VPC.

TIP: Generally, it’s recommended to choose a data center that is nearest to your web site visitors, however any US-based Amazon data center is OK for “all over the world” traffic.

3. Now you are in Amazon AWS Console. Search for VPC – that’s what we need and click it.

Amazon AWS Console

4. Once done, you will see VPC Dashboard. Here you have to click Start VPC Wizard.

VPC Dashboard

5. VPC with a Single Public Subnet is what you need for your Private Cloud. Now, click Select.

VPC with a Single Public Subnet is what you need for your Private Cloud

6. Give name to your VPC. Your Cloud Hosting, for example and leave other fields intact. Then, click Create VPC.

Give name to your VPC (Your Cloud Hosting, e.g.)

7. It takes about ten seconds to create your VPC. Once done you will see Your VPC has been successfully created message. Now, click OK.

VPC successfully created
VPC Dashboard


Your VPC is ready. It’s time to set Security Group.

What is Security Group? It’s a list of rules on how your VPC can be accessed from Internet. It’s an external Firewall that protects your Private Cloud from unauthorized access.

There are Inbound and Outbound Rules. Each Inbound Rule defines allowed port and IP address to access from, while an Outbound Rule defines port and IP address that your VPC allowed to communicate to. All ports and IP addresses that are not in the list are blocked by default.

Step 2. Set Security Rules

Follow arrow tags in exact order as shown on illustration.

  1. Start with Select Security Groups .
  2. Now choose your VPC.
  3. Then select Inbound Rules.
  4. And click Edit.
Cloud VPC Security Group

5. Set Inbound Rules as shown below and click Save .

Cloud VPC Security Group Inbound Rules


For better security: you can assign your IP address to 22 port instead of to limit SSH access from your IP address only.

6. Next, set Outbound Rules to pass all the traffic from your VPC to Internet without limitations as shown.

Cloud VPC Security Group Outbound Rules

Once you are done with setting up your VPC’s Security Group, it’s time to create an Instance to run on your VPC.

What is Amazon AWS Instance? You can think of Instance as it was a server. However, it’s not a server itself, but just a bunch of settings that determines your VPC parameters like CPU cores, SSD volume and networking speed.

Step 3. Create EC2 Instance

Follow arrow tags in exact order as show on illustration.

  1. Here select Services.
  2. Then click EC2.
How to Create EC2 Instance

3. Once done, click Launch Instance.

How to launch Amazon EC2 Instance

4. Then, select AWS Marketplace.

5. And type CentOS 7 in Search field and press Enter.

6. Now, look for CentOS 7 AMI and click Select

How to Launch CentOS 7 Instance

Now it’s time to choose your Instance Type. Basically, that’s how fast your Private Cloud will be. Your choice totally depends on how many websites you will host and how many visitors daily they will have.  I’ts recommended to start with t2.small Instance. Don’t worry, you can upgrade or downgrade it any time you wish.

7. Now select t2.small Instance.

8. And click Next:Configure Instance Details

Select t2.small Instance.

You may consider selecting t2.micro Instance Type if you going to host 1-10 simple websites with less than 1000 visitors per day. Your t2.micro Instance will be free of charge for first 1 year!

9. Now select your VPC in Network settings.

10. Then flag Protect against accidental termination.

11. Once done, click Next: Add Storage

Protect Your Cloud Instance Against Accidental Termination.

12.Confirm that you would like to continue with your VPC security settings and click Next.

Confirm your cloud machine security settings

13. Now, add some Storage to your VPC

14. Then, click Next: Add Tags.

How to add storage to Amazon Cloud Istance

Please note that WHM / cPanel takes around 4GB, plus allow enough space for your websites to migrate.

15. On this page, click Next: Configure Security Group.

How to add tags to your Cloud Instance

16. Here flag .

17. Then select Security Group you have created in Step 2

18. And click Review and Launch.

How to configure your Cloud Instance Security Group

19. Now review your Instance details and click Launch.

Review and launch your cloud machine

20. Now select Create a new key pair.

21. Then type in your key pair name (e.g. vpn).

22. Next, click Download Key Pair.

23. And click Launch.

How to create a key pair for Amazon Cloud Instance

Keep vpn.pen in a safe place. You will need it to access your Virtual Private Cloud.

24. Now wait for Instance to create. Once it’s ready, click View Instances.

Amazon Cloud Instance is ready to launch
Your VPC is ready


Your Instance is ready. It’s time to give it some name (Your Instance, e.g.).

Once your Instance is created, you will need an IP address to access it as well as to direct your websites’ visitors to your Private Cloud. Now it’s time to get Elastic IP address and associate it with your VPC.

What is Elastic IP address? In simple words it’s an IP address that you can associate and disassociate with your Private Cloud in a couple of clicks (hence Elastic).

Please note: you can purchase WHM / cPanel license for a particular IP address only, so you’ll need an IP address for your VPC you can rely on.

Step 4. Allocating Elastic IP address with your Virtual Private Cloud

Follow arrow tags in exact order as show on illustration.

  1. Here select Elastic IPs .
  2. And click Allocate new address.
How to setup Ellastic IP address

3. Once done, Click Allocate.

4. Then wait for new Elastic IP address to allocate.

Allocating new Elastic IP address

5. Next, select your Elastic IP address.

6. Then click Actions.

7. And select Associate IP address.

How to associate new Elastic IP address

8. Now select your Instance from the dropdown menu.

9. Finally, click Associate.

How to associate Elastic IP address with EC2 Instance
Elastic IP address associated


You have assigned IP address to your Private Cloud. Now it’s time to connect using that IP address and get WHM / cPanel installed.

What’s next? Read Part 2 of our guide: Build Your Own cPanel Cloud Hosting with Amazon AWS: Part 2.