DEV Community

Cover image for Launching WordPress on AWS with RDS
Suraj Warbhe
Suraj Warbhe

Posted on

Launching WordPress on AWS with RDS

USE-CASE

  1. Create an AWS EC2 instance
  2. Configure the instance with Apache webserver
  3. Download php application name "WordPress".
  4. Setup a MySQL server using AWS RDS service using Free Tier as a backend
  5. Provide the endpoint/connection string to the WordPress application to make it work

Pre-requisite:

  1. AWS Account

STEP 1 : Create an EC2 Instance

๐Ÿ”ถ We need to launch an EC2 Instance on AWS which we will use to configure Apache Webserver and run WordPress.

๐Ÿ”ถ Click on Launch Instance.

๐Ÿ”ถ Select 'Amazon Linux` as a Instance Flavor.

Launch instance wizard _ EC2 Management Console - Google Chrome 04-09-2021 10_07_48 PM

๐Ÿ”ถ Select t2.micro as a instance type. It is free for eligible.
Launch instance wizard _ EC2 Management Console - Google Chrome 04-09-2021 10_08_00 PM

๐Ÿ”ถ Provide configuration details and click on Add Storage.
Launch instance wizard _ EC2 Management Console - Google Chrome 04-09-2021 10_08_06 PM

๐Ÿ”ถ Add storage. I will keep it default. And click on Add Tag.
Launch instance wizard _ EC2 Management Console - Google Chrome 04-09-2021 10_08_20 PM

๐Ÿ”ถ Add tag if you want. For this, click on Add another tag.
Launch instance wizard _ EC2 Management Console - Google Chrome 04-09-2021 10_08_43 PM
๐Ÿ”ถ After this click on Configure Security Group.

๐Ÿ”ถ Click on Add Rule. I will allow All traffic to avoid any firewall issue. Then click on Review and Launch.

๐Ÿ”ถ Attach key pair then Instance will launched successfully.

Launch instance wizard _ EC2 Management Console - Google Chrome 04-09-2021 10_09_27 PM
Launch instance wizard _ EC2 Management Console - Google Chrome 04-09-2021 10_09_57 PM

๐Ÿ”ถ Click on Instance ID. You will get all the details of your created instance.

๐Ÿ”ถ You will get Public IP and Private IP from this.
Launch instance wizard _ EC2 Management Console - Google Chrome 04-09-2021 10_10_32 PM

Now you can use Public IP address any Key to connect this Instance. You can use Putty(Recommended) or CLI Browser provided by Amazon to Connect Instance.

Lets go for Next to Configure the instance as Apache Webserver:

STEP 2 : Configure the Instance with Apache Webserver

๐Ÿ”ถ Here we are going to configure the Apache Web Server in Amazon Linux 2 Instance.

๐Ÿ”ถ To run WordPress, we need to run a web server on our EC2 instance. The open source Apache web server is the most popular web server used with WordPress.
๐Ÿ”ถ Install Apache Web Server.
`

sudo su -
yum install httpd -y 
Enter fullscreen mode Exit fullscreen mode

๐Ÿ”ถ Then we are Starting Webserver and Enable it Permanently.

systemctl start httpd

systemctl enable httpd
Enter fullscreen mode Exit fullscreen mode

STEP 3 : Installation and configuration of php software name WordPress

๐Ÿ”ถ WordPress is a php Application, letโ€™s install php 7.2.

๐Ÿ”ถ With Amazon Linux 2, you can use the Extras Library to install application and software updates on your instances.

 amazon-linux-extras install -y php7.2
Enter fullscreen mode Exit fullscreen mode

๐Ÿ”ถ After that download WordPress file!

wget http://wordpress.org/latest.tar.gz
Enter fullscreen mode Exit fullscreen mode

๐Ÿ”ถ After download the "TAR" file "UNTAR" it.

tar -xvzf latest.tar.gz
Enter fullscreen mode Exit fullscreen mode

๐Ÿ”ถ Next you see wordpress name dir come up. So now you can copy all Content inside wordpress folder to Document Root /var/www/html.

cp -rf wordpress/* /var/www/html
Enter fullscreen mode Exit fullscreen mode
Note:

Make Sure where you download your tar file and where you Untar it.

STEP 4 : Setup a MySQL server using AWS RDS service with Free Tier Account

๐Ÿ”ถ Letโ€™s now launch a MySql database using Amazon RDS.

๐Ÿ”ถ Click on Create Database.
RDS Management Console - Google Chrome 04-09-2021 10_16_24 PM

๐Ÿ”ถ Choose Standard Create and MySQL as a engine option.
RDS Management Console - Google Chrome 04-09-2021 10_16_55 PM

๐Ÿ”ถ Select Version MySQL 8.0.20 and template as Free tier.
RDS Management Console - Google Chrome 04-09-2021 10_17_14 PM

๐Ÿ”ถ Provide DB Instance name, Username & Password
RDS Management Console - Google Chrome 04-09-2021 10_26_22 PM

๐Ÿ”ถ Here this DB instance have No Connectivity to Internet. We will access it through EC2 Instance.
RDS Management Console - Google Chrome 04-09-2021 10_23_51 PM
RDS Management Console - Google Chrome 04-09-2021 10_24_30 PM

๐Ÿ”ถ Now after Launching this DB Instance mydb named Database will be created inside this DB server.
RDS Management Console - Google Chrome 04-09-2021 10_25_20 PM

๐Ÿ”ถ Now click on Launch Database. It will take around 10 minutes.

๐Ÿ”ถ Once the Database is available, click on Connectivity & Security. You will get hostname and Port no. there.
RDS Management Console - Google Chrome 04-09-2021 10_36_48 PM

STEP 5 : Provide the Endpoint/Connection string to the WordPress Application

๐Ÿ”ถ Go to the created EC2 Instances instance. In the Description below, find the Public DNS (IPv4) of your instance.

๐Ÿ”ถ Enter this IP Address into your web browser. And type Enter.
WordPress โ€บ Setup Configuration File - Google Chrome 05-09-2021 08_56_01 AM

WordPress โ€บ Setup Configuration File - Google Chrome 05-09-2021 08_56_08 AM

๐Ÿ”… Provide Following Information:
๐ŸŒ€ Database Name: Provide Name of Database which created at time of launching DB!

๐ŸŒ€ Username: The username you given while launching DB Instance!

๐ŸŒ€ Password: Provide Password!

๐ŸŒ€ Database Host: Provide the ENDPOINT which you get from "wordpress-database"!

(4) Launching WordPress on AWS with RDS _ LinkedIn - Google Chrome 05-09-2021 09_06_58 AM

๐Ÿ”ถ Now our WordPress is running on the AWS using AWS RDS as a service and in the backend it is using MySQL.
Let's check from CLI.
Use command

# mysql -h <endpoint_url> -u <username> -p
Enter fullscreen mode Exit fullscreen mode

And provide our password.
root@ip-172-31-45-40_~ 05-09-2021 09_19_29 AM

๐Ÿ”ถ Provide Following Details and Install WordPress!
WordPress โ€บ Installation - Google Chrome 05-09-2021 09_09_20 AM

๐Ÿ”ถ After Login with the credentials and Login to WordPress!
WordPress โ€บ Installation - Google Chrome 05-09-2021 09_09_31 AM

WordPress โ€บ Installation - Google Chrome 05-09-2021 09_17_13 AM

Successfully done! We have Login in to WordPress and we can continue to write Blogs etc., All your Data will Be stored in RDS MySQL DB.

68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f776174747061642d6d656469612d736572766963652f53746f7279496d6167652f69346776387341505f5f586746673d3d2d3931363135303430372e3136316636643238343363343039646134303138393

Discussion (0)