Skip to main content

How to migrate your PHP website to Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) and is one of the most popular hosting solutions nowadays. Using EC2's virtual servers you don't need to invest in hardware up front, and you can easily manage performance, networking and security of your applications.

The AWS Free Tier provides the following free services for 12 months, and with a competitive price afterwards:
  • 750 hours per month of Linux, RHEL, or SLES t2.micro instance usage
  • 750 hours per month of Windows t2.micro instance usage
  • Run one instance at a time or multiple instances simultaneously
In this post I will explain how can you easily migrate your application from your local server to this high-performance cloud solution.

1) Sign up.
Sign up for free on Amazon Web Services. Credit card information is required, but you won't be charged during the first 12 months.

2) Set up EC2.
On your Amazon Management Console, apply for a EC2 account following these instructions. Keep the resulting key_pair.pem file somewhere safe. Make sure that you have set the security group with inbound rules for SSH, HTTP and HTTPS (see figure below).

3) Launch your instance. On your EC2 dashboard select the option Launch Instance and follow these instructions. For a PHP website I recommend choosing the Amazon Linux  t2.micro. Remember to connect your instance with the key_pair.pem file that you had generated before, and select the security group that you created on step 2.

4) Connect to your instance. From Linux or MAC just type the following command on your terminal:
$ ssh -i /path/key_pair.pem ec2-user@public_dns_name
Replace the elements in red with the path to your key pair and the public DNS name that you can find on your EC2 instances dashboard. For example:
$ ssh -i /home/arturo/Docs/arturo_key_pair.pem ec2-user@ec2-14-129-140-123.us-west-2.compute.amazonaws.com 
You will be granted access to your brand new Amazon Linux machine.

5) Install the Server and Database. In our case we are going to use PHP with a MySQL database. If you need to install any other package, such as Node.js, you can use the command sudo yum install package_to_install. In order to set up our web server and database, just follow the steps from 2 to 5 of this tutorial.

6) Test the web server. If you type your public DNS on your browser (in our example http://ec2-14-129-140-123.us-west-2.compute.amazonaws.com) you will see the Apache test page. Your web server is running!

7) Copy your files. You just need to copy your PHP project in /var/www/html. That's it!


Popular posts from this blog

How to jump to time offsets in HTML5 video

Let's say that you have a 30-minute WEBM video file, from which you just want to play the following video segments , jumping from one to the other automatically  without interruptions : [00:01:25.00 - 00:02:25.00] -> from second 85 to 145 [00:11:40.00 - 00:11:55.00] -> from second 700 to 715 [00:20:26.00 - 00:21:07.00] -> from second 1226 to 1267 [00:26:11.00 - 00:28:01.00] -> from second 1571 to 1681 To increase the complexity, let's think that you have these video segments in a PHP variable $arrayVideoSegments  (normally the case if they were retrieved from the database).   $arrayVideoSegments[0]->startTime = 85   $arrayVideoSegments[0]->endTime = 145   $arrayVideoSegments[1]->startTime = 700   $arrayVideoSegments[1]->endTime = 715   $arrayVideoSegments[2]->startTime = 1226   $arrayVideoSegments[2]->endTime = 1267   $arrayVideoSegments[3]->startTime = 1571   $arrayVideoSegments[3]->endTime = 1681 The

5 learnings from a techie turned into a NFT artist

In September 2021 I chose to sell my crypto AI art business after two enriching (and often painful) years as a part-time sole founder. Today  AImade.art  is one of the best-selling AI art collections on Opensea . I want to share with you some of the key lessons I learned during this period: Work hard and get lucky.  And I got really lucky. On February 24th 2021 I had planned to shut down AImade.art , back then a business selling AI Art printed on canvas. I was discouraged after several months with no sales and my Shopify billing cycle was ending that day. Then something incredible happened: I missed the Shopify deadline and I sold an artwork one hour later. The buyer asked me: " Can I get it in as an NFT? ". I had absolutely no idea what an NFT was, but after a bit of research I found the concept so interesting that, two days later, I had pivoted the entire business to  NFT art made by AI . Sales started to pick up: I had finally found product-market fit . Impostor syndr

Learnings from "The 7 habits of highly effective people"

I just finished reading " The 7 habits of highly effective people ", a best-seller by Stephen R. Covey, that has inspired me in many levels. I am sharing some of the learnings I got, mostly as a personal bookmark, but hopefully this post can be useful for the community. Habit 1: Be Proactive It is not what happens to us, but our response to what happens to us that hurts us.  There is a space between stimulus and response, and the key to our growth and happiness is how we use that space. While reactive people feel victimized and out of control, proactive people have the power to choose how to respond to any circumstances (i.e., smiling with bad weather). We must focus our efforts on the things we can do something about, and accept what we can't change (past events, weather,...). Try replacing victimized language (i.e., " There is nothing I can do ", " I have to do it ",...) with proactive language (" Let's see all the options "