AWS — How to Host a LAMP Web Application Server on AWS EC2 For Free
UPDATED 2020/10/16:
- I walked through this exercise again.
- All of the screenshots have been updated so that this article is accurate for the new EC2 experience in 2020!
- All commands have been updated so that newer versions of MySQL and PHP are installed.Amazon Web Services (AWS) is by far the best cloud service on the market. Its free tier allows everyone to run EC2 instances for up to 750hours per month, which means we can host a web application server for free! This article covers how to quickly launch an EC2 instance and have LAMP (Linux, Apache, MySQL and PHP) automatically pre-installed.
Step 1 — Login to your AWS Console (you need to register for AWS account if you don’t have one yet)
Step 2 — Launch an EC2 instance
Search for Linux AMI and Select the Amazon Linux AMI Image
At section “3: Configure Instance Details”, look for Advanced Details and enter the following code in the “User data” part. Please note that as of 2020/10/16, the following code has been updated for newer versions of MySQL and PHP.
#!/bin/bash
sudo yum update -y
sudo yum install -y httpd24 php72 mysql57-server php72-mysqlnd
sudo service httpd start
sudo chkconfig httpd on
sudo usermod -a -G apache ec2-user
sudo chown -R ec2-user:apache /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \; find /var/www -type f -exec sudo chmod 0664 {} \;
echo “<?php phpinfo(); ?>” > /var/www/html/phpinfo.php
Keep clicking “Next” until you get to “Step 6: Configure Security Group”, add rules…