Updated November 2018
This course details how to use one Amazon Lightsail (via AWS) instance to run multiple websites and apps (including WordPress) across a number of domains. Several hosting stacks will be explored within this course, including the Bitnami's LAMP Stack, Bitnami WordPress Stack (a variant of the LAMP stack), and the Plesk Hosting Stack. All of these stacks are available from Amazon Lightsail with just one click.
Updated November 2018
This course details how to use one Amazon Lightsail (via AWS) instance to run multiple websites and apps (including WordPress) across a number of domains. Several hosting stacks will be explored within this course, including the Bitnami's LAMP Stack, Bitnami WordPress Stack (a variant of the LAMP stack), and the Plesk Hosting Stack. All of these stacks are available from Amazon Lightsail with just one click.
Amazon Lightsail is considered an easier-to-use and entry-level implementation of Amazon's AWS cloud service. It has the specific objective of creating and running a Virtual Private Server (VPS) as opposed to the dozens or hundreds of potential use cases with AWS EC2 instances. Lightsail is an ideal cloud solution for individuals who self-host and for small-to-midsize businesses looking to minimize I.T. costs without sacrificing performance.
If you want to begin to leverage the power of the cloud for your online business or hobbies, or if you've ever felt intimidated by your web hosting providers and too scared to cut costs by running your own setup, this course will help you break the dependency on overpriced shared and reseller hosting. You'll increase your knowledge of cloud computing and cloud server instantiation while building functional skills with Linux and Apache, despite needing absolutely no Linux, Apache, or cloud computing knowledge to begin.
After viewing this course, you'll be able to complete the following tasks on Lightsail:
Create a Virtual Private Server on Amazon Lightsail using a Bitnami or Plesk stack
Install one or multiple WordPress blogs mapping to different domains, subdomains, or directories
Encrypt your website for users with SSL/TLS certification to use https:// instead of http://
Host one or multiple static websites with just one VPS Instance
Host one or multiple dynamic websites with just one VPS Instance
Point domains to your hosted websites
Add additional storage space to a VPS Instance
Backup and scale your VPS Instance
Don't miss out and don't be locked into high web hosting and VPS costs which can reach over $100/mo. Instead, learn the fundamentals of Amazon Lightsail and be able to power your own websites on Amazon's cloud starting at just $5/mo. Take back control of your web sites, and sign up for Hosting Websites with Amazon Lightsail today.
Software Utilized
The course uses the least expensive Lightsail packages from the AWS cloud, specifically we utilized the US$3.50 and $5.00 per month plans (formerly $5 and $10, respectively). Also introduced is how to use free software—such as PuTTY and FileZilla— for Instance management, but Lightsail comes with its own built-in and web-based SSH terminal, so no external software is necessary in many cases.
Course Changelog:
July 2018 - Updated videos to show additional options for working with the WordPress installer module
May 2018 - Major update to include a second LAMP stack, the Plesk Hosting Stack. This is an alternative stack to the one provided by Bitnami and it provides a web-based dashboard. Three domains can be managed for free by the Plesk Hosting Stack on Amazon Lightsail. Larger licenses are available from Plesk.
March 2018 - Added SSL/TLS encryption and certification on the Bitnami LAMP Stack using Let's Encrypt. Certbot is introduced as a command line tool for automating the SSL process with Let's Encrypt.
February 2018 - How to Connect via macOS Terminal lesson added for Bitnami LAMP Stack. Also added a new section for Bitnami's LAMP Stack on running one or multiple WordPress installations that can map to domains, sub-domains, or directories.
January 2018 - Course launched focusing entirely on setting up the Bitnami LAMP Stack on Amazon Lightsail to host one or multiple websites.
Get to know a bit about the instructor and the course in this brief lecture.
This first video is optional, and may be skipped if you already have an account for Amazon's AWS cloud service. If you are brand new to Amazon AWS, this lecture will guide you through the process of signing up.
Bitnami is the entity providing us with a pre-configured LAMP stack to run on AWS Lightsail. Bitnami is owned by BitRock, a company that has specialized in software installers for decades. This video will introduce Bitnami, BitRock, and show the websites for each entity.
Once logged into the AWS Lightsail site, we can create our first "Virtual Private Server", or Instance. In just a matter of a few minutes and a dozen-or-so clicks of the mouse, we'll have established our first Instance of a VPS on Lightsail.
Next, we'll explore the AWS Lightsail website and observe the management and monitoring tools available from directly within the dashboard.
Occasionally, Amazon updates the user interface for AWS Lightsail, and even adds new features. This brief lesson explains the changes made in late 2017.
AWS Lightsail with a Bitnami LAMP stack is already configured and ready to run a website. We'll learn how to view the default "Congratulations" site using a web browser and identify the links on that page which provide useful support information.
Each Lightsail Instance has a public IP address, but that address is reset any time your server is stopped or restarted. In order to work well with DNS (and your domain name), Amazon offers static IPs that you can connect to your Instance. These static IPs remain constant and attached to your Instance whether your Instance is on, off, or restarting.
Now we have a Lightsail instance running a Bitnami LAMP stack, and there is even a default set of pages available for viewing within the browser. Communicating the existence of a website with just an IP address isn't fun, however, even if that IP is our newly attached Static IP. This video will detail how to update your DNS settings with your domain registrar or other DNS provider in order to point to your Lightsail Instance.
Connecting to your Lightsail VPS Instance has been made easy by Amazon's in-browser SSH terminal window. There are multiple ways to open this in-browser terminal from within Lightsail, and this video will detail the process.
In this video we'll use stand-alone software, specifically PuTTY on Windows, to connect via SSH to our AWS Lightsail Instance. We'll do this so that we can connect without having to log in through the browser, and also so that we can later create something called and SSH Tunnel to our Instance and be able to run applications such as phpMyAdmin securely.
If you use macOS and would like a convenient way to connect to your Lightsail VPS using the Terminal application, this video lesson will walk you through the steps required. You'll be instructed on how to store your private key (PEM file), add it to the macOS keychain, and use the "ssh" command to connect to your remote VPS instance.
Creating an SSH Tunnel is required to connect with the default installation of phpMyAdmin inside of your Bitnami LAMP stack image on Amazon Lightsail. This means we have to connect remotely to the instance as if we were physically present. SSH provides a method for doing exactly this task, and we'll learn how to input the proper settings.
SFTP is a secure FTP (or SSH FTP) protocol for connecting to remote computers and transmitting files. In this training, we will utilize FileZilla, a popular cross-platform FTP client, to connect to our Lightsail Instance to view the files on our Instance and to transfer files to and from our own computer.
This brief three-question quiz will ensure that you understand the basic requirements and methodologies for connecting to your new AWS Lightsail VPS instance.
We'll take a momentary pause from connecting to our VPS to review what exactly it means to have a LAMP stack. We'll explore the languages available to us--HTML, CSS, Javascript, and PHP--and we'll detail how the LAMP stack receives and processes requests for web pages.
In this lesson, we'll get our first website up and running on AWS Lightsail. This site will be a static website built with HTML, CSS, Javascript, and PHP. We can't yet create dynamic sites because we haven't learned how to log into MySQL or phpMyAdmin, but we can build a static website without any difficulty. After previously pointing domains to our Static IP address, each of them will display this single static website. We'll learn how to host multiple websites using multiple domains in upcoming videos.
After creating and connecting to an Amazon AWS Lightsail Instance, you should be ready to host a static website using HTML5 (including CSS and Javascript) and even PHP, as long as no database connections are required. This quiz will assess your knowledge of connecting to your Instance for the purposes of hosting a static website.
In order to host multiple websites using one Apache server, we need to modify two Apache configuration files. In this video, we will first use SSH to learn a little bit about Linux and how to navigate using the command line. Then, we'll locate Apache's configuration files using both SSH and SFTP.
Since we will be modifying Apache's default configuration files, we should be extra careful to create backups in case something goes wrong or if we ever need to reset the server to its default state. In this video, we'll create a backup copy and a compressed archive (ZIP) backup for extra redundancy.
We'll edit the main configuration file for Apache to prepare it for using virtual hosts, or "vhosts". We'll explore a couple of Apache modules, make three brief changes to the httpd.conf file, upload our updated configuration, and restart the Apache server.
After editing httpd.conf, the next step towards running multiple sites on one Apache server is to edit the httpd-vhosts.conf file. We'll open, modify, and upload this file in order to create dedicated space for one domain pointed towards our Instance's Static IP address.
For the last lecture in section five, we'll double check to make sure that all of our pointed domains--and our one pointed subdomain--are properly resolving and being delivered content from the appropriate folder by our Apache web server. We'll also discuss two options for having the IP address point to the same place as a domain.
This brief three-question quiz will assess your knowledge retention of key information required to successfully complete the task of hosting multiple websites on one AWS Lightsail instance.
Previously within this course, we established an SSH Tunnel to our Lightsail Instance and we've stumbled upon our BItnami application password. In this video, we'll put those two pieces of information together and log into phpMyAdmin for the first time. phpMyAdmin is a third-party graphical interface for managing MySQL databases via the browser.
Now that we've logged into phpMyAdmin, we can use the system to create new MySQL users without having to use the command line. We'll access the User Accounts section of phpMyAdmin and add a new user, manually and automatically generate a password, and set user privileges. This walk-through does not explore the functioning of phpMyAdmin or MySQL, however, simply how to create a user account.
Bitnami created a default application password for MySQL and phpMyAdmin, but this video will explore how to change that default password for these two applications from the command line using mysqladmin and SQL queries within MySQL (also command line) itself. Finally, we'll look at how to change a password for any user vis phpMyAdmin's graphical interface. Note that changing the password for both MySQL and phpMyAdmin is simultaneous as phpMyAdmin utilizes MySQL's user tables.
Create a brand new VPS instance to run a WordPress site in only a few clicks and minimal setup. Amazon Lightsail has a dedicated WordPress stack already created that allows you to avoid managing the LAMP stack underneath WordPress altogether. This is the most simplistic way to run WordPress on Lightsail, but it's extremely effective and will work perfectly for anyone wanting to run only one WordPress site or wants each WordPress site on its own VPS.
After creating a WordPress stack on a stand-alone instance, we'll change gears and learn how to install WordPress on top of an existing LAMP stack. This will allow us to easily create WordPress sites using convenient Bitnami tools. This lesson will detail how to get the Bitnami WordPress installer loaded on a LAMP VPS and to run the installer to get the most basic installation of WordPress.
In the previous video, the installation process skipped a few steps as the installer only needs to set certain variables once. After the first installation, the installer will remember your name, username, email, and choice of running on either a development or production device. This lesson walks through a full WordPress module installation on a brand new VPS to demonstrate the experience you will have upon first install.
Previously, we've set up a WordPress blog on our LAMP stack. Currently, any domain pointing to our Static IP will display the blog if the WordPress directory is called (e.g. http://example.com/wordpress). In this lesson, we'll look at how we can modify the installed WordPress blog, along with the Bitnami LAMP stack and the Apache web server itself, to map the WordPress installation to one domain (e.g. http://example.com).
This brief lessons details how to use the Bitnami WordPress Module uninstaller. The process is extremely simple and requires only one command within the WordPress install folder.
This lesson explains how to have multiple WordPress modules installed on the same Bitnami LAMP stack. Each of the installations is truly stand-alone and can independently mapped to top level domains, subdomains, or directories. This video lesson installs two distinct WordPress sites on different sites and retains the ability to run custom static or dynamic sites as detailed earlier in the course.
A brief follow up lesson to demonstrate how to install WordPress as a directory after using VHOST to point an entire domain within Apache or our Bitnami stack.
In this lecture-style introduction, the concept of SSL (and the modern variant of TLS) will be introduced. The focus will be on the traditional process for acquiring SSL certification rather than the technical details that power the technology. The Certificate Authority that this course will utilize, Let's Encrypt, and a Linux SSL automation tool, Certbot, are both introduced within this lesson.
This video lesson will detail the Certificate Authority (CA) that we'll be using in order to verify and sign our SSL certificates. Let's Encrypt has been selected as it is a free and open source CA backed by some of the largest technology companies in the world. Also introduced within this lesson are the domain examples (abgamma.com and chaseraz.com) that are going to be utlized for setting up SSL certificates for both regular websites hosted in Apache's htdocs and WordPress modules (or any other Module type) hosted in the apps folder of our VPS.
Certbot is the default Linux command line tool suggested by Let's Encrypt for using the ACME (Automated Certificate Management Environment) protocol for creating, verifying, signing, installing, and renewing certificates. The work that Let's Encrypt has put into their Certificate Authority (CA) and the ACME protocol, as well as that the Electronic Frontier Foundation has put into Certbot, means that our process of obtaining SSL certificates is extremely minimal and subjectively easy.
This first demonstration of running Certbot to create, verify, and install SSL certificates through Let's Encrypt will add a certificate to the ABGamma.com domain that is being hosted as a static or dynamic website in Apache's htdocs folder. This first run-through will encrypt only the non-www version of the domain (i.e. abgamma.com) and we will encrypt the www version (www.abgamma.com) a couple of lessons from now.
In this video, we'll combine the steps of adding an SSL certificate using Certbot and Let's Encrypt with our previously installed WordPress site from the Bitnami Module installer. We'll run Certbot to generate, verify, sign, and place the SSL certificate and key file first, and then we'll update our WordPress module's VHOST file to include record of the SSL certificate.
This presentation demonstrates how to revise an SSL certificate using Certbot to include additional subdomains, such as www, mail, or anything else you can imagine. The example within this lesson corrects the exclusion of "www" from the certificate for ABGamma.com several videos ago. Very little manual work is required beyond running Certbot and restarting Apache.
Certbot is automatically renewing your SSL/TLS subscription every 90 days, but if you don't restart Apache within that time the certificate won't load and your webpage will display a warning that you have an expired certificate. This will certainly scare most of your visitors away. To avoid this issue, we'll use "cron" to schedule Apache to restart (or even reboot the entire VPS) periodically. Since Apache loads the SSL certificates we indicated previously in our VHOST file at load time, this will ensure the newest certificates are loaded and avoid unpleasant browser security warnings.
There is more than one way to host websites on Amazon Lightsail. Up until this point, we've been looking at the Bitnami LAMP stack and working with the command line a lot. In order to simplify this process, we may want to consider alternative stack that includes a graphically-based web hosting dashboard. Plesk offers exactly this: a web hosting dashboard sitting on top of a custom LAMP stack.
This lesson demonstrates how to create an instance of the Plesk Hosting Stack using Amazon Lightsail. The process is the same as for creating an instance of any other stack and only takes a matter of seconds.
Plesk isn't open source software. While it is designed to manage your server's stack of open source software, the dashboard itself and controlling scripts are proprietary. Plesk does offer a free tier, called Web Admin SE, to anyone using Lightsail or a similar cloud-based VPS or VM. This no-cost license will allow you to run up to three distinct sites.The full Web Admin license is around $10 per month and allows for the hosting of 10 sites. Additional licenses are available for hosting even more sites directly from Plesk.
Because of some current limitations with the Lightsail API, Plesk currently requires a bit more configuration that would be considered ideal. In this lesson, we'll attach a Static IP to our new Plesk instance and we'll also open up a number of ports that are required for Plesk to operate and update successfully.
To complete the Plesk configuration process, we'll explore in this video how to get a temporary link through the command line that will allow us to create an administrator account.
This brief lesson highlights the main components of the Plesk interface and provides a reminder for how to access Plesk in the future now that our admin account has been created.
In this lesson, we'll set up our first domain to connect with Plesk. This process is straightforward and involves little more than pointing your domain towards your Instance's Static IP and filling out a web form within Plesk to provision the space for a new site.
While SSL/TLS encryption is a part of domain configuration, you can also update, change, or even fix your SSL certificates easily from the Plesk dashboard. In this lesson, we'll explore how to access Let's Encrypt from the Plesk dashboard and where it is also possible to upload your own SSL certificate if acquired via another source than Let's Encrypt.
With a domain or two pointing towards our Plesk instance, we'll use the built in File manager to upload a simple website. This process is extremely easy and will Plesk is ready for static or dynamic sites from the very beginning. HTML, CSS, Javascript, and PHP are all ready to go without any additional configuration.
WordPress is a major draw. In fact, it is likely one of the main reasons you're searching out hosting and VPS options. As easy as it was to set up WordPress on a Bitnami LAMP stack, it is even easier on the Plesk Hosting Stack. Setting up WordPress on Plesk is so easy, it's almost as easy as using WordPress.com itself (given Plesk is already configured and running, that is). This lesson will show how to use the one-click install of WordPress for a domain configured within Plesk.
Email is one of the top requested lessons within this course. Despite the general advice to not run your email server, web server, and others all on the same setup, Plesk makes doing so an absolute breeze. The expert set up of these services, as configured by Plesk, makes the use of email on our Lightsail Instances appropriate in many cases that require only minimal resources.
With Plesk introduced, this lesson will address a number of additional topics for further exploration that may interest any self-hosting individual or organization. To request additional lessons or topics, please be sure to use the Q&A within this course.
FTP services come pre-configured in the Plesk Hosting Stack on Amazon Lightsail. This lessons details how to open the appropriate ports on your Lightsail Instance to ensure that FTP works. Passive FTP is utilized within this tutorial, although Active FTP is an option through Plesk (also pre-configured) if your computer can receive FTP information via a random port. This setup is uncommon for the typical user, and most will use Passive FTP.
Snapshots serve as backup copies of your Lightsail VPS Instances, but they also enable you to scale from one instance type to another with very little headache. In this introduction, we'll explore what snapshots are, how they are priced, and what they are--and aren't--capable of doing.
Creating a snapshot backup of your Lightsail Instance takes only one click of the mouse button. We'll navigate to the correct management page, name a snapshot, and then create the first snapshot of our image.
Now that we've created a Snapshot of our Instance, we'll use it to scale up our VPS to one with more resources. This video will detail why scalability is important in terms of performance and pricing, and will perform a brief demo to scale up the websites that we've set up to run on our VPS. This lesson also exhibits how to detach and reattach Static IPs from one Instance to another.
If you need additional storage space, or even the equivalent of a cloud-based portable hard drive to bounce between Instances, there is no need to start up new server Instances or scale up to higher-cost instances. For $0.10 per Gigabyte per month, you can add additional SSD storage volumes to your Amazon Lightsail Instance. This video will show you how to create a storage disk, attach and mount it to an Instance, and edit "fstab" within Linux to automatically mount the drive on each server restart or boot-up.
Thank you so much for making Chase a part of your learning process with this course. You should now be able to successfully utilize Amazon Lightsail to host one or more websites on top of the LAMP sever architecture. If you have any follow up questions, please feel to reach out and let Chase know. Also, if you've enjoyed this course, a five-star review would be much appreciated.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.