You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Zouhair AMAZZAL 17fbdb5391 style: CON-2399 change project name cloudpress 2 months ago
..
audit style: CON-2399 change project name cloudpress 2 months ago
resources style: CON-2399 change project name cloudpress 2 months ago
README.md style: CON-2399 change project name cloudpress 2 months ago

README.md

CloudPress

Cloud Deployment

Objective

CloudPress is a project designed to provide hands-on experience in deploying a WordPress website with MariaDB and Nginx on the Amazon Web Services (AWS) cloud platform. The goal is to utilize Terraform for infrastructure creation and Ansible for application installation, resulting in a production-ready setup.

Upon completion of this project, you'll achieve:

  • A robust AWS environment primed for hosting WordPress and MariaDB orchestrated through Terraform.

  • Seamless installation and configuration of Linux, Nginx, MariaDB, PHP, and WordPress using Ansible.

  • Implementation of security protocols, performance optimizations, and meticulous documentation, ensuring a fully-fledged production-level WordPress site.

Prerequisites

Before starting this project, make sure you have a solid understanding of the following concepts:

  • Cloud computing principles, particularly AWS.
  • Terraform for infrastructure provisioning.
  • Ansible for application installation and configuration.
  • Familiarity with web servers, databases, and WordPress.
  • Web security and optimization best practices.

Instructions

AWS Infrastructure Setup with Terraform

  • Create an AWS account.
  • Configure Terraform files to provision EC2 instances, security groups, storage, and networking.
  • Securely set up and configure an EC2 Instance (SSH, security, etc.).

Keep track of your usage to avoid unexpected bills, try to use the free tier!

Verify that all services are terminated after completion of use!

Nginx Installation and Configuration using Ansible

  • Install Nginx on the EC2 Instance.
  • Configure Nginx for serving web content.
  • Adjust firewall settings to allow HTTP/HTTPS traffic.
  • Start the Nginx service.

MariaDB Installation and Configuration using Ansible

  • Install MariaDB on the EC2 Instance.
  • Create a MariaDB database for WordPress.
  • Create a user for WordPress and configure user rights and privileges.
  • Start the MariaDB service.

PHP Installation and Configuration using Ansible

  • Install PHP on the EC2 Instance.
  • Configure PHP settings for the WordPress site.
  • Start the PHP service.

WordPress Installation and Configuration using Ansible

  • Download and set up WordPress on the EC2 Instance.
  • Configure WordPress to use the MariaDB database.
  • Start the WordPress service.

Documentation

Prepare a comprehensive README.md detailing:

  • Architecture overview.
  • Deployment process.
  • Additional configurations made.
  • Tips and potential pitfalls.

Evaluation Criteria

Your CloudPress project will be evaluated based on:

  • Successfully setting up WordPress, MariaDB and Nginx using Terraform to create the infrastructure and Ansible for installing everything.
  • Secure and effective environment configuration.
  • Quality and clarity of the provided documentation.

Conclusion

Completing CloudPress will equip you with valuable experience in deploying web applications on a public cloud. Emphasizing infrastructure as code practices and configuration management, you'll have a functional WordPress website hosted on AWS, preparing you for similar real-world tasks in your career.