Building My Website with BootStrap, PyCharm, Squarespace, and AWS EC2
- Category: Blog
- Client: Personal
- Project start date: December 2023
- Status: Active
I wanted to create a portfolio website that would showcase my skills and projects. I decided to use a BootStrap template, modify the HTML code using PyCharm, host the domain on Squarespace, and configure an AWS EC2 instance to serve the website. Learning that AWS's EC2 wasn't truly "free" Here’s a breakdown of how I brought this project to life.
Choosing a Design Template:
As a dad, I needed to find ways to find something I liked and keep costs down. I opted for BootStrap because it offers a flexible, responsive, and mobile-friendly design that aligns with modern web development standards. With numerous customizable templates, it was easy to pick one that suited my vision for a clean and professional website.
Customizing with PyCharm:
Next, I used PyCharm as my Integrated Development Environment (IDE) to modify the template’s HTML, CSS, and JavaScript files. PyCharm’s intuitive interface and support for various web development tools made the customization process easy in that it was easy to work with GitHub. I was able to modify the layout to better represent my personal style. Update: I've since switched to GitHub Pages, and it's pretty cool, too!
Domain Management with Squarespace:
To secure a domain for my website, I chose Squarespace for its ease of use in domain registration and management. It provides a simple interface for domain configuration, and I found it ideal for directing traffic to my AWS EC2 instance where the site would be hosted. Update: Since switching to GitHub Pages, I've been able to configure my Squarespace profile to effectively host my GitHub Pages site.
AWS EC2, Key Pairs, and GitHub Pages:
Configured and deployed a personal website using an AWS EC2 instance. Launched and managed a Linux-based AMI, installed and configured Nginx as the web server, and deployed customized HTML files from GitHub. Utilized SSH with key pairs to securely access the instance, and configured security groups and permissions to ensure global accessibility while maintaining proper security posture.
Lessons Learned:
This project allowed me to expand my knowledge beyond cybersecurity, diving into web hosting and cloud configuration. I learned how important security is at every step, from securing SSH access to ensuring the instance and files have proper permissions. The experience of deploying a project from start to finish using cloud technologies was invaluable in honing my technical and troubleshooting skills.