Install Let’s encrypt in a Shared Hosting like GoDaddy
By: Migdonio Rodriguez
Tags: Godaddy, Free Ssl Certificate, Ssl, Https, Cpanel

Why Let’s Encrypt?

Let’s Encrypt allows us to install a Free SSL Certificate in your domain that will be accepted by most of the modern web browsers, nevertheless this certificate is only valid for 90 days so you may need to automate this process. The bad news is that automation is not possible in certain scenarios like when you are using a shared hosting 😢.

Why this guide?

The majority of shared hosting’s providers do not offer an easy way to install a FREE SSL certificate. Instead, they try to force you into buy one of theirs SSLs, but using “Let’s Encrypt” we will cheat the system and install one anyway.

In some cases you do not have the administrator permissions to perform commands using a terminal or not everyone knows how to talk with a computer via SSH, so this guide was designed to only need the cPanel and an online tool.

Why GoDaddy?

Because is one of the most common hosting providers and it does not allow to install a “Let’s Encrypt SSL/TLS certificate” via SSH in their shared hostings.

Getting started

I will try to do a graphical guide since is not clear where to go when you complete a step in most cases.

First, enter here and click on the “ONLINE TOOLS” option.

Now in Free SSL Certificate Wizard click on “START” and this will open the tool where you will get all the files needed to configure the SSL in your Shared Hosting.

Step 1 — Details

Once it’s loaded you will see something like the image below, add your domain in the first input of the second column , by example yellowme.mx 😉.

Next, check both checkboxes “Accept ZeroSSL TOS” and “Accept Let’s Encrypt SA (pdf)”, and click the “NEXT” button in the right upper corner.

Note.- You can add more than one domain but you need to repeat certain steps to install the certificate in every domain.

This operation might take a minute so wait until it’s done. Now you can see below where you put your domain appears a text and two buttons, click the left button to download as a backup just in case something goes wrong and then click again in the button “NEXT”.

This operation might take a minute again and after it’s done you will see another text in the left column, repeat the previous operation to make a backup and click “NEXT” to follow to the step 2.

Step 2 — Verification

Now you will see a list with all the domains added in the previous step to create a certificate. Now click at the icon (see image below) to download a file that you will use in your cPanel, so do not forget where you saved the file.

Is time to go to your cPanel main menu and search for a option with the legend of “File Manager”, in GoDaddy is something like this.

You need to access to the public_html from your shared hosting in the case of GoDaddy you need to select the “Web Root” option and enabling the visibility of hidden to do this only check the “Show Hidden Files” option like in the image below, in another hostings this feature comes by default, in case you do not see any option and can not see any hidden file, contact your provider to get help from them.

If this is the first time doing this process you need to create two new folders, one in the root of your public_html folder and the other inside the new created folder, the first needs to be called .well-known, the second with the name acme_challenge.

Once inside acme_challege maybe you will view another files if is not your first time doing the process, just ignore them.

Click the “Upload” option in the top menu.

Click the “Choose File” button and select the file previously downloaded, after the upload is finished, click in the bottom blue link to close the page and return to the zerossl page in the Step 2.

Now click in the text like in the image below, and this will open a new tab in your browser.

Note.- This needs to be reproduced in every domain added.

You will view something like this in the new tab, close the tab and return to zerossl page

Click in the “NEXT” button to start the step 3.

Step 3 — Certificate

You will see something like this.

What you will need is in the bottom of the page, you will see two large texts at the left column, these are our keys that you will use to add the certificate to our domain, the first text contains inside 2 keys, and the second text contains another one. These are necessary to use in GoDaddy.

Go to your cPanel main menu and in the section with label “Security”, click in the “SSH/TLS” option.

Note.- Maybe this could be different in anothers providers, but the process should be similar.

Now click on the“Manage SSL Sites” button.

In the following page you will copy the values returned by the Step 3 of the zerossl tool, you will see something like image below.

First, select your domain from the combo box like in the image below, next copy the first text from the Step 3 and paste it at the text field with the label “Certificate (CRT)” and you will probably see a red text at the right side of the field. This is because the first text from the Step 3 contains two certificates and you need to put only the first certificate, check that you delete the text before the first “=====END CERTIFICATE=====”.

The field must have the following structure:

===== BEGIN CERTIFICATE =====

…

===== END CERTIFICATE =====

If everything is ok, you will see a green check mark to the right side of the field.

In the second text field with the label “Private Key (KEY)” you need to copy the second text from the Step 3 like in the image and paste here.

In the third text field with the label “Certificate Authority Bundle: (CABUNDLE)” you need to put the removed text from the first text field.

If everything is ok, you will see a check mark in each text field, now click in the button “Install Certificate” at the bottom of the page.

If everything is alright, it will appear a message saying that the installation of the SSL certificate was successful.

After all of this process you can verify that your domain over https is working, if you try to access your domain using your favorite web browser your site will not alert you more with the hatefull “Your connection is not private” message.

Thanks a lot to tipswithpunch and his educational video where I took the screenshoots to explain this guide.

If you have some suggestion or doubt, don’t be afraid to comment below.