Your projects and blog will be hosted on a web server that really lives on the web. You will set up your server with Digital Ocean, a company that hosts virtual machines—which they call droplets. Normally, droplets cost money. Thanks to the GitHub Student Developer Pack, you can get a $50 credit for Digital Ocean. This credit supports ten months of a $5/month droplet, long enough to get you through the semester without spending a penny.
Follow these steps to get an effectively-free droplet.
The first step is to claim your free credits from GitHub.
In a moment you will create a new, public-facing virtual machine hosted on Digital Ocean. The default settings for these virtual machines leave them vulnerable to malicious users. Many of my former students have had their machines compromised—presumably because their passwords were brute-force cracked. We’ll look at several ways to harden your server. First, we will disable password logins. Instead, users will authenticate via public and private key pairs.
Users of PuTTY on Windows, follow these directions to set up a public and private key. Save both the public and private keys to files that you can find again.
Users of Linux, macOS, or Windows Subsystem for Linux, run the following command in your terminal:
ssh-keygen -t rsa
The public and private keys will be stored in
Now you are ready to create your virtual machine on Digital Ocean.
Be sure to decommission your droplet after the semester is over and before your credit runs out to avoid charges.
Now you are ready to log in to your new Ubuntu server in the cloud.
Your next step is to get the web server Apache up and running. While logged in to your droplet, run these commands to install the software:
sudo apt update sudo apt install apache2
http://YOUR_IP_ADDRESS in your web browser. You should see Apache’s test page.