Project is the for Bincom Tech create as a Project by olayenikan Michael Devops/Cloud Apprecntice for the Acedemy

I recently completed a hands-on Cloud/DevOps infrastructure project where I deployed a working WordPress application on an AWS virtual machine and documented the entire process as a portfolio project.

The goal was not just to “install WordPress,” but to understand the infrastructure behind a real web application and troubleshoot problems the way a Cloud or DevOps Engineer would.

Here’s what I worked on:

  • Launched and configured an AWS EC2 Ubuntu Linux server
  • Connected securely to the server using SSH key-based authentication
  • Configured AWS Security Groups for SSH, HTTP, and HTTPS traffic
  • Installed and configured Apache
  • Installed PHP and required WordPress extensions
  • Installed and configured MySQL
  • Created the WordPress database and application user
  • Installed and deployed WordPress
  • Published the application through the EC2 public endpoint
  • Used Linux commands to inspect memory, disk space, network interfaces, listening ports, and running services
  • Used systemctl to manage and troubleshoot Linux services
  • Documented the deployment on GitHub

One of the most valuable parts of the project was troubleshooting a real infrastructure issue.

During MySQL startup, the service repeatedly failed with:

Result: oom-kill

After investigating with systemctl and free -h, I discovered that the EC2 instance had approximately 1 GB of RAM and no swap configured.

Rather than simply reinstalling MySQL, I diagnosed the root cause and created a 2 GB Linux swap file using:

fallocatechmodmkswapswapon

I then configured the swap to persist across reboots through /etc/fstab, cleared the failed systemd state, and restarted MySQL successfully.

That troubleshooting experience helped reinforce an important lesson:

Deploying infrastructure is only one part of DevOps. Understanding why a service failed, identifying the root cause, applying the right fix, and documenting the incident is equally important.

I also structured the project as a proper GitHub portfolio repository containing:

  • Architecture documentation
  • Deployment guide
  • Security documentation
  • Troubleshooting documentation
  • Bash automation scripts
  • Server health-check script
  • Terraform starter configuration
  • GitHub Actions Terraform validation workflow
  • Screenshot/documentation structure

The project gave me practical experience across:

AWS EC2 | Linux | Ubuntu | SSH | Networking | Security Groups | Apache | PHP | MySQL | WordPress | Bash | Git | GitHub | Terraform | GitHub Actions | Infrastructure Troubleshooting

Live deployment:
http://3.253.0.178/

Next, I’ll be improving the infrastructure with HTTPS, a custom domain, monitoring with CloudWatch, automated backups, server hardening, and full Infrastructure as Code using Terraform.

Projects like this are helping me move beyond learning individual tools and understand how Cloud, DevOps, Linux, networking, security, and application infrastructure work together as one system.

#DevOps #CloudEngineering #AWS #Linux #Infrastructure #Terraform #GitHubActions #WordPress #CloudComputing #SystemAdministration