Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
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:
fallocate → chmod → mkswap → swapon
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