Documentation for Setting Up a Web Server on EC2 (Ubuntu)
Victor Okonkwo
Posted on November 22, 2024
Documentation for Setting Up a Web Server on EC2 (Ubuntu)
Step 1: Create an EC2 Instance
- Go to the AWS Management Console and navigate to EC2.
- Click Launch Instance.
- Configure the instance:
- AMI: Select Ubuntu.
- Instance Type: Choose an appropriate size (e.g., t2.micro for free tier).
- Key Pair: Select or create a key pair.
- Security Groups: Allow inbound rules for HTTP (port 80) and SSH (port 22).
- Launch the instance.
Step 2: Download the Key Pair
- When creating a key pair, download the
.pem
file to a secure location on your local machine.- Note: This file is crucial for accessing your EC2 instance.
Step 3: Copy the Key Pair to WSL
- Open your WSL terminal on your local machine.
- Copy the
.pem
file to your WSL home directory: (You manually copied the file in File Explorer and pasted it in a new folder you created for SSH keys)
cp /path/to/key-pair.pem ~/key-pair.pem
Step 4: Set Key Pair Permissions
- Set the correct permissions for the key pair:
chmod 400 ~/key-pair.pem
Step 5: SSH Into Your EC2 Instance
- Use the public IP address of your EC2 instance to connect:
ssh -i ~/key-pair.pem ubuntu@<public-ip-address>
- If prompted, type
yes
to confirm the connection.
Step 6: Update the System
- Update the package index and upgrade installed packages:
sudo apt update && sudo apt upgrade -y
Step 7: Install Apache
- Install the Apache HTTP server:
sudo apt install apache2 -y
- Enable and start Apache:
sudo systemctl enable apache2
sudo systemctl start apache2
- Verify Apache is running:
sudo systemctl status apache2
Step 8: Configure Firewall
- Allow Apache through the firewall:
sudo ufw allow 'Apache'
sudo ufw enable
- Verify the status of the firewall:
sudo ufw status
Step 9: Test the Web Server
- Open a browser and enter your instance’s public IP address.
- You should see the Apache default page.
Troubleshooting Tips
Issue 1: Unable to access the Apache page
- Check if Apache is running:
sudo systemctl status apache2
- Verify security group rules in AWS allow traffic on port 80.
- Confirm
ufw
is allowing HTTP traffic:
sudo ufw status
Issue 2: SSH connection fails
- Ensure the correct IP address and
.pem
file are used. - Check that your IP is whitelisted in the EC2 instance's security group.
💖 💪 🙅 🚩
Victor Okonkwo
Posted on November 22, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.