WordPress Website/Blog cloud server on your AWS Amazon EC2

Project Details

Get the latest WordPress (single site version) running off a LAMP stack with Ubuntu on a t2.micro Amazon EC2 instance in your AWS account.

Supporting software installation includes Apache 2.4 web server in default Prefork MPM configuration with PHP 7.4 modules, MySQL 8.0 database server, and Ubuntu 20.04 Server LTS Linux OS. The EC2 will have 8 GiB of EBS gp2 SSD storage. You will also get a PEM key file for SSH login.

I will install a generic WordPress (WP) system. I will complete the technical steps of downloading all WP base files, setting file & folder permissions, and creating a database for WP with a database user & password.

To start using WordPress, you only need to use your web browser to access your domain/sub-domain, select the WP system language, and set the username & password for your admin user account.

NOTE: I follow an install method that lets you upgrade the WordPress and LAMP stack components later, unlike others that use restrictive pre-built images.

I will also add a CNAME entry for your domain/sub-domain to point to WordPress EC2 and set up CertBot to automate fetching and renewing free Let's Encrypt SSL certificates for that domain/sub-domain.

Delivery time:

End of next business day, or earlier

Frequently asked questions

Why do you launch the WordPress cloud server as a t2.micro EC2 instance?

The t2.micro EC2 instance is well suited to run WordPress with 1 GiB RAM and 1 vCPU. Additionally, this EC2 instance type is free tier eligible. So if you have a new AWS account, you can get to use the instance free for the first 12 months!

The default 8 GiB SSD storage may be too little. How can I get more?

The default storage is good enough at the start, with some storage to spare. The storage is a function of how you intend to use the WordPress website. If you intend to showcase a lot of images and have files available for download then you may need to increase storage with time. You can increase the size of the storage volume attached to your EC2 at any time after the launch as per the number of users and as per AWS EBS pricing for your region.

Why do I need a PEM key file?

You will need the SSH key file with terminal software such as PuTTY to administer your EC2 instance (cloud server) from the Linux command line. You cannot sign in to the Linux command line of your server without it.


I will need the following information before I start work:

  1. Working Root-level username and password information for your AWS account. I will use it to add an IAM policy, create an IAM user, attach the IAM policy, and then generate an Access Key ID and Secret Access Key.

  2. The AWS region where you would like to launch the WordPress EC2 instance.

  3. Your local timezone or your desired timezone to configure your WordPress EC2 instance to use the same.

  4. The domain/sub-domain you wish to use with your WordPress EC2 instance and the login details for the domain management interface so I can add the necessary CNAME entry.

What you will get...

Amazon EC2 setup with Ubuntu 20.04 LTS

I will launch a t2.micro Amazon EC2 instance with Ubuntu 20.04 LTS in your requested AWS region and attach 8 GiB EBS gp2 SSD Storage with Elastic (static) IP and Security Group (network firewall) setup. I will also create a PEM key file for SSH login.

LAMP setup

I will install Apache 2.4 web server with all PHP 7.4 modules necessary in default Prefork MPM configuration, MySQL 8.0 database server on the launched Amazon EC2 instance.

WordPress setup

I will set up the latest WordPress files, file permissions, create and configure the MySQL database accordingly.

Domain and CertBot setup

I will point your custom domain/sub-domain to the WordPress EC2. I will set up a CertBot automation tool to fetch and auto-renew free SSL certificates with 90-days validity for use with the domain/sub-domain for as long as it points to your EC2.

PEM Key Handover

Once I have set up everything correctly (including addons selected, if any) and verified all the deliverables at my end, I will give you the PEM key file for SSH access.