1. Home
  2. Training Library
  3. Amazon Web Services
  4. Courses
  5. How to Move Your Website to AWS with PHP, MySQL, and Apache


Start course

The combination of Linux, Apache, MySQL, and Python or PHP (LAMP) is one of the most common software stacks for web servers, even for high-end web applications. In this course, the experienced sysadmin David Clinton will teach you how to install and configure a LAMP stack on AWS EC2 and RDS, also discussing security issues and selecting the right instance type for your application.

This course will cover all the steps in the process: from creating an instance to building a website-hosting LAMP stack. You'll find everything you need to configure your webserver using EC2 (Elastic Cloud Compute) and RDS (Amazon Relational Database) to power your MySQL instance.

Who should take this course

This is a beginner course that aims to introduce basic AWS concepts to anyone looking for a quick guide to building a web server in the AWS cloud. We'll take you through all the basic steps, from configuring your Linux installation to using Amazon RDS to take advantage of AWS scalability.

You should have some basic Linux knowledge. If you are new to Amazon Web Services, why not watch our AWS Basics course or some of the other introductory courses to the common AWS services, like Amazon RDS

And feel free to test your knowledge on the basic topics covered in this course by taking a quiz.

If you have thoughts or suggestions for this course, please contact Cloud Academy at support@cloudacademy.com.


Hi. In this video we'll briefly summarize many of the details from this course on installing and configuring a LAMP server on an EC2 Amazon instance. We learned first about installing LAMP. We learned about using Ubuntu or Debian's repositories, and particularly the tasksel, or task select facility which allows us to install all the elements of a LAMP server. We also learned how to confirm that the processes that we've installed are actually running correctly.

We learned how to secure your user account, how to add password protection. We learned to select an instance that fits your need. We explored the instance types and the larger family groups of instance types. We learned a little bit how to anticipate your deployment needs and how to assess and troubleshoot your instance if it turns out you haven't got the resources you need to properly serve your clients. We learned how to select the right security group for your instance, how to open and close the ports that have to be opened or closed, and how to restrict client IPs that you want left out in the cold and without access to your instance. We learned how to install and deploy key PHP extensions, how to add modules, and how to add and access PHPMyAdmin. We finally learned how to build a database instance using RDS, relational database services of Amazon. We learned how to manage backups, and manage security. Through all this I think we now have the basic building blocks to create our own LAMP instances on Amazon EC2. We hope to see you at our next course.

About the Author
David Clinton
Linux SysAdmin
Learning Paths

David taught high school for twenty years, worked as a Linux system administrator for five years, and has been writing since he could hold a crayon between his fingers. His childhood bedroom wall has since been repainted.

Having worked directly with all kinds of technology, David derives great pleasure from completing projects that draw on as many tools from his toolkit as possible.

Besides being a Linux system administrator with a strong focus on virtualization and security tools, David writes technical documentation and user guides, and creates technology training videos.

His favorite technology tool is the one that should be just about ready for release tomorrow. Or Thursday.