Jump toUpdate content
How to configure Let's Encrypt with Apache on Ubuntu Bionic
Let’s Encrypt is a certificate authority providing free SSL certificates. The creation, validation, installation is automated with certbot — all major browsers trust certificates issued by Let’s Encrypt.
In this tutorial you will learn how to secure the Apache web server on Ubuntu Bionic Beaver with a Let’s Encrypt certificate using certbot.
Start by updating the software already installed on the instance:
apt upgrade -y
Install the Apache Web Server:
apt install apache2
Create a directory for the website. In this tutorial
myweb.example.comis being used. Replace it with your domain name whenever you see it:
mkdir -p /var/www/html/myweb.example.com/public_html
Create an index page for the website by running the following command:
Then copy the following content into the file, save it and exit nano:
<p>This is the new website of myweb.exaple.com</p>
Create a configuration file for the website, by making a copy of the default configuration:
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/myweb.example.com.conf
Open the file in a text editor:
Edit the following lines to match your configuration, add them to the file, save it and exit the editor:
Once edited the file should look like this example:
Activate the new site:
Reload the Apache configuration to enable the new site:
systemctl reload apache2
Install Certbot via apt:
apt install certbot python3-certbot-apache -y
Run Certbot to request a certificate for the domain name:
Certbot will ask you a series of questions:
In a first step Certbot asks for your email address. Enter it and press
Enteron your keyboard.
You will then be asked to agree to the terms of service, confirm it by pressing on
Decide if you want to share your email address with the Electronic Frontier Foundation (EFF). Press
Yfor yes or
Following you will be asked for which domains you want to activate SSL. Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown.
Certbot asks if all traffic should be forced to HTTPS. Type
1for no or
The certificate is being requested and the following message appears once it has been obtained:
Congratulations! You have successfully enabled https://myweb.example.com
You should test your configuration at:
Verify the certificate by opening your site in a web browser:
You notice the small padlock icon indicating that the connection to your instance is encrypted now.