Hosting a Professional Portfolio Website on AWS with Hugo

I built and deployed this portfolio website to showcase my projects and experience as a data analyst and cloud enthusiast. The site is powered by Hugo (a fast static site generator) and hosted entirely on AWS. It features a professional contact form, clean layout, dark/light theme support, and fully automated deployment. πŸš€ What I Did πŸ—οΈ Site Setup with Hugo Used the PaperMod theme for a clean and responsive design Created pages for blog posts, project case studies, and an about page Customized the config file for metadata, theme options, and menu items 🌐 AWS Hosting S3 Buckets: www.brianmwaura.com (main bucket with website files) brianmwaura.com (redirect bucket) brians-portfolio-site (legacy/test bucket) Route 53: Managed domain registration and DNS records CloudFront: Delivered content globally with HTTPS (SSL via ACM) Handled root redirects and caching πŸ” GitHub Actions for CI/CD Set up GitHub repo: Bnjenga1/hugo-portfolio Created a workflow to: Build site with Hugo Upload public/ directory to S3 Invalidate CloudFront cache πŸ“¬ Contact Page + Email Built a custom contact form using Formspree with JavaScript for UX improvements Set up a professional email alias info@brianmwaura.com via Google Workspace Ensured form styling adapts to both light and dark themes πŸ“Š SEO, Analytics & Monitoring Connected the site to Google Analytics 4 Submitted sitemap.xml to Google Search Console Added Open Graph and meta tags for better sharing and visibility 🧰 Tools & Services Used Static Generator: Hugo Hosting: AWS S3 + CloudFront CI/CD: GitHub Actions Domain Management: Route 53 Email: Google Workspace + Formspree Analytics: GA4 + Search Console πŸ’‘ Key Takeaways Learned to configure static hosting and CDN on AWS Set up secure and scalable infrastructure for a real-world personal project Practiced debugging Hugo layouts and customizing themes Automated deployments and version control with GitHub Improved UX with clean forms, responsive design, and reliable email contact πŸ”— Live Demo πŸ‘‰ www.brianmwaura.com ...

June 26, 2025 Β· 2 min Β· Brian Njenga Mwaura
Hosting WordPress on EC2

πŸ–₯️ Hosting WordPress on AWS EC2

This project documents how I hosted a WordPress blog on an AWS EC2 instance using the free tier. I manually set up Apache, PHP, MariaDB, and WordPress on an Amazon Linux 2023 instance. βœ… Tools Used AWS EC2 (Amazon Linux 2023) PuTTY (SSH client) WordPress Apache, PHP, MariaDB πŸ”§ 1. Launch EC2 Instance Chose Amazon Linux 2023 Instance type: t2.micro Set key pair (used later for SSH) Placed EC2 in a public subnet with auto-assigned public IP Security group rules: -Allow SSH (port 22) from your IP -Allow HTTP (port 80) from anywhere πŸ”‘ 2. SSH into EC2 Instance Using PuTTY: ...

June 19, 2025 Β· 2 min Β· Brian Njenga Mwaura
AWS S3 Static Website

🌐 Hosting a Static Website on AWS S3

πŸ“ Project Overview In this project, I deployed a fully functional static website using Amazon S3 (Simple Storage Service). This task introduced me to cloud-based storage, object permissions, and static site hostingβ€”core skills for cloud computing and web deployment. 🎯 Objectives Learn how to create and configure an S3 bucket Upload and serve static content (HTML, CSS) Set object-level permissions for public access Enable static website hosting on S3 πŸ› οΈ Tools & Technologies ...

May 10, 2025 Β· 2 min Β· Brian Njenga Mwaura