mirror of https://github.com/01-edu/public.git
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.
85 lines
3.1 KiB
85 lines
3.1 KiB
12 months ago
|
## CloudPress
|
||
|
|
||
|
![Cloud Deployment](./resources/architecture.png)
|
||
|
|
||
|
### Objective
|
||
|
|
||
|
CloudPress is a project designed to provide hands-on experience in deploying a WordPress website with MariaDB 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 and MariaDB 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.
|