Create a WordPress site Using EC2 and Amazon RDS

#ec2#rds#securitygroup#wordpress

In this article, I am going to demonstrate on how you create a WordPress site using EC2 and MySQL RDS Database Instance.

Amazon Relational Database Service (Amazon RDS) allows users to easily create, operate, and scale a relational database in the cloud. We are going to create an RDS database, install a web server and configure WordPress to connect to the RDS database. We will then run the final configuration through the web browser to complete the installation of wordpress site.

Please visit my GitHub Repository for RDS_projects on various topics being updated on constant basis.

Let’s get started!

Objectives:

1. Create EC2 Security Group – Web-Access

2. Create RDS Security Group – RDS-SG

3. Create an EC2 webserver

4. Create RDS Database

5. Complete WordPress Installation and Test

Pre-requisites:

  • AWS user account with admin access, not a root account.

Resources Used:

What is Amazon Relational Database Service (Amazon RDS)?

Steps for implementation to this project:

1. Create EC2 Security Group – Web-Access

Image description

2. Create RDS Security Group – RDS-SG

On the EC2 Dashboard, In the left-hand navigation menu, under Networks & Security, click Security Groups – Create Security Group. Security group name – RDS-SG, default VPC, Click the Inbound rules tab, Click the Edit inbound rules button, Click the Add rule button, For the new rule, from the Type dropdown menu, select MYSQL/Aurora, In the dropdown menu to the right of the Source column for the new rule, find and select the Web-Access security group, Click Save rules.

Image description
Image description

3. Create an EC2 webserver

From the EC2 Dashboard, create an EC2 instance with the following parameters.

  • 1.
Image description
  • 2. security details
Image description
  • 3. userdata – Install Apache and Dependencies and Configure WordPress
#!/bin/bash
# Enter root access
sudo -s
# Update the os
yum update -y
# Install Apache server
sudo yum install -y httpd
# Install wordpress
sudo amazon-linux-extras install -y php7.2
# Install Wget
yum install wget -y
# Download MySQL Community
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
# Install MySQL
rpm -ivh mysql-community-release-el7-5.noarch.rpm
# Install MySQL Server
yum install mysql-server
# Install PHP-MySQL
yum install php-mysqlnd -y
# Enter html directory
cd /var/www/html/
# Create html file
echo "healthy" > healthy.html
# Download wordpress
wget https://wordpress.org/latest.tar.gz
# Extract the file
tar -xzf latest.tar.gz
# Coping the wordrpress to html folder
cp -r wordpress/* /var/www/html/
# Remove the folder
rm -rf wordpress
# Remove the file
rm -rf latest.tar.gz
# Give Permisson to the folder
chmod -R 755 wp-content
# Own the file and folders
chown apache:apache /var/www/html
# Check httpd config
chkconfig httpd on  
# Start the httpd service   
service httpd start
  • summary details of EC2instance
Image description

4. Create RDS Database

On the Amazon RDS Console, Create database, Standard create, Engine type – MySQL, Templates – Free tier, Under Settings, DB instance identifier – database-1, Master username – admin, Master password – admin1234, Confirm master password – admin1234, DB instance class – db.t2.micro, Allocated storage – 20 GB, Storage autoscaling – uncheck Enable storage autoscaling, Under Connectivity, select the existing VPC leave the Don't connect to an EC2 compute resource selectedselect the existing default VPC, Under VPC security group, select RDS-SG and remove the default security group, Under Availability zone us-east-1a, Expand Additional configuration and, Monitoring – Uncheck Enable Enhanced monitoring, under Initial database name, enter rds, Under Additional Configuration, Backup – Uncheck Enable automated backups, Maintenance – Uncheck Enable auto minor version upgrade, Deletion protection – Uncheck Enable deletion protection, Take all defaults

  • Create database
Image description
  • Connectivity and Security
Image description
  • security group rules
Image description
  • Wait for 5-6 minutes to see the database created.
  • copy and paster EC2 Public IP 34.229.105.66 on the web browser
  • Installation of WordPress is successful
Image description

5. Complete WordPress Installation and Test

  • Enter the values to connect to the database – rds
  • database name – rds
  • database host —> database endpoint – database-1.cgizjtuyxkda.us-east-1.rds.amazonaws.com
Image description
Image description
Image description
Image description
  • Install WordPress
Image description
  • Login
Image description
  • Welcome to Worpress
Image description
Image description

6. Delete AWS Resources

  • Delete the RDS database
  • Delete EC2 instance

7. What we have done so far

We have successfully created a WordPress site using EC2 and MySQL RDS Database Instance.

Leave a Reply

Your email address will not be published. Required fields are marked *