# Day 45: Deploy Wordpress website on AWS

Sure, let's go through the steps to deploy a WordPress website on AWS. This process involves creating an Amazon RDS instance for MySQL and setting up an Amazon EC2 instance to host the WordPress application.

![Integration of AWS EC2 with WordPress using AWS RDS !!!](https://media.licdn.com/dms/image/C5612AQHGVJcs97YPtw/article-cover_image-shrink_720_1280/0/1627503707445?e=2147483647&v=beta&t=RegMqpjkm30PKwlfb9hGnPHkDsg0mM9HXpK7cciqzeI align="left")

### Task 01: Create an Amazon RDS Instance for MySQL

1. **Log in to the AWS Management Console:** Go to [AWS Console](https://aws.amazon.com/) and log in to your AWS account.
    
2. **Navigate to RDS:** In the AWS Management Console, navigate to the Amazon RDS service.
    
3. **Launch a new RDS Instance:**
    
    * Click on "Create database."
        
    * Choose "Standard Create" and select the MySQL engine.
        
    * In the "Templates" section, choose the "Free tier" template.
        
    * Configure the DB instance settings (DB instance identifier, Master username, Master password, etc.).
        
4. **Configure Advanced Settings:**
    
    * Scroll down to the "Advanced Settings" section.
        
    * Set the VPC, subnet group, and other settings as needed.
        
5. **Create the Database:**
    
    * Review your configuration and click on "Create database."
        

### Task 02: Launch an Amazon EC2 Instance for WordPress

1. **Navigate to EC2:** In the AWS Management Console, navigate to the EC2 service.
    
2. **Launch an EC2 Instance:**
    
    * Click on "Launch Instance."
        
    * Choose an Amazon Machine Image (AMI), preferably an Amazon Linux AMI.
        
    * Select an instance type (t2.micro is eligible for the AWS Free Tier).
        
3. **Configure Instance Details:**
    
    * Set the number of instances, VPC, subnet, IAM role, etc.
        
4. **Add Storage:**
    
    * Configure the storage settings as needed.
        
5. **Add Tags (Optional):**
    
    * Add any tags you want for better identification.
        
6. **Configure Security Group:**
    
    * Create a new security group or use an existing one.
        
    * Open ports 80 (HTTP) and 443 (HTTPS) for web traffic.
        
7. **Review and Launch:**
    
    * Review your configuration and click on "Launch."
        
8. **Select or Create a Key Pair:**
    
    * Choose an existing key pair or create a new one to connect to your instance.
        

### Task 03: Install and Configure WordPress on the EC2 Instance

1. **Connect to the EC2 Instance:**
    
    * Use SSH to connect to your EC2 instance.
        
2. **Install LAMP Stack:**
    
    * Run the following commands:
        
        ```bash
        sudo yum update -y
        sudo yum install -y httpd mysql-server php php-mysql
        ```
        
3. **Start and Enable Services:**
    
    * Start and enable Apache and MySQL services:
        
        ```bash
        sudo service httpd start
        sudo service mysqld start
        sudo chkconfig httpd on
        sudo chkconfig mysqld on
        ```
        
4. **Secure MySQL Installation:**
    
    * Run the MySQL security script:
        
        ```bash
        sudo mysql_secure_installation
        ```
        
5. **Download and Install WordPress:**
    
    * Download the WordPress package and extract it to the web server directory:
        
        ```bash
        wget https://wordpress.org/latest.tar.gz
        tar -xzf latest.tar.gz -C /var/www/html/
        ```
        
6. **Configure WordPress:**
    
    * Create a MySQL database and user for WordPress.
        
    * Configure WordPress with the database information.
        
7. **Complete the Installation:**
    
    * Access your WordPress site in a web browser and complete the installation by providing necessary details.
        

### Task 04: Create a Hashnode Article Blog

1. **Write an Article:**
    
    * Log in to [Hashnode](https://hashnode.com/) and create a new article.
        
    * Write about your experience setting up WordPress on AWS.
        
    * Include important steps, challenges, and tips.
        
2. **Include Screenshots:**
    
    * Add screenshots to illustrate the process.
        
3. **Share the Article:**
    
    * Once the article is published, share the link on social media or relevant communities.
