This project demonstrates the deployment and configuration of a secure Linux based web server using Amazon EC2. The project includes instance deployment, security group configuration, Apache installation, Linux administration, and hosting a live webpage accessible through a public IPv4 address.
Deployed and secured a Linux-based web server on AWS EC2 using Apache, firewalld, and Fail2Ban.
In this project, I built and secured a cloud-hosted Linux web server using AWS EC2. After deploying the server, I configured network access with security groups, installed Apache to host a webpage, and added additional security controls including a Linux firewall and Fail2Ban.
This project demonstrates both infrastructure deployment and basic system hardening.
- AWS EC2
- Linux Administration
- Apache Web Server
- Security Groups
- Networking Fundamentals
- Cloud Infrastructure
- Troubleshooting
- AWS EC2
- Amazon Linux
- Apache HTTP Server
- SSH (Secure Shell)
- Security Groups
- firewalld (Linux firewall)
- Fail2Ban (intrusion prevention)
- Linux CLI
Configured inbound rules:
- SSH (port 22)
- HTTP (port 80)
- HTTPS (port 443)
Command: sudo yum update -y
Command: sudo yum install httpd -y
Commands:
sudo systemctl start httpd
sudo systemctl enable httpd
Command: sudo systemctl status httpd
Accessed via public IP in browser.
Command: sudo yum install firewalld -y
Commands:
sudo systemctl start firewalld
sudo systemctl enable firewalld
Commands:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
Command: sudo yum install fail2ban -y
Commands:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
Command: sudo systemctl status fail2ban
Verified:
- Apache running
- firewalld active
- Fail2Ban active
- Website accessible
- How to deploy cloud infrastructure using AWS EC2
- How to configure secure remote access using SSH
- How to install and manage Apache on Linux
- How to configure a Linux firewall using firewalld
- How Fail2Ban helps protect against unauthorized access attempts
- How to validate a working and secured web server
- Add HTTPS using SSL/TLS
- Configure domain name (Route 53)
- Implement monitoring with CloudWatch
- Automate deployment with Terraform
Calvin Trammell
https://github.com/CalvinT57
https://www.linkedin.com/in/calvin-trammell-56675295






















