Installing a Let’s Encrypt SSL Certificate on your GoDaddy Server
Since last September, Google has changed it’s policy and decided to treat http connections as non-secure (specially if the website collects personal information from users), and it is part of a long-term plan to make all connections happen through https. See more here.
Unfortunately, some servers such as GoDaddy won’t accept free SSL solutions quite easily.
They want to force you to buy their product, which costs only $6 for the first year (at least it is on sale now), but the normal cost is around $90 per year.
If you’re not into development, you may consider paying this money as generating an SSL yourself is quite a hard process — and the worst part of it, the process needs to be repeated every 90 days, in order to renew your security certificate.
Fortunately, we’ve got Let’s Encrypt! An awesome organisation that provides SSL Certificates for free!
Getting a certificate is easy, can’t say the same about installing it! If you’re not sure whether or not your Web Hosting service supports Let’s Encrypt, have a look at this list of hosting providers that offer Let’s Encrypt support natively.
It ain’t easy, but no one said impossible. Let’s do it.
To start with, you need a Linux account with a cPanel (not classic, you NEED a cPanel to install the certificate);
1 - Start by visiting zerossl.com — a super easy, browser based tool to get Let’s Encrypt certificates.
2 - Hit “Online Tools” and then start the “Free SSL Certificate Wizard”, which has pretty simple steps to go through. Just follow the instructions.
Once you finished the wizard, you’ll end up with 4 files:
a) a domain key
b) a domain CSR (certificate signing request)
c) an account key
d) the domain certificate.
During the process, you’ll be asked to create files with encrypted file names and content, both are used to prove you’re the legit owner of that website. They should be put in sub-directories on your hosting account root directory. The path, which looks sort of weird, may look like this:
Would not recommend GoDaddy cPanel File Manager, would definitely go for an FTP client like FileZilla. It is way easier to create/edit folders and files using it.
Now, navigate to your domain’s cPanel on GoDaddy (normally under cpanel.yourdomain.com) and find the “Security” section.
1 - Click “SSL/TLS”
2 - Now find the section “Install and Manage SSL for your Site (HTTPs)” and click on “Manage SSL Sites”.
Clicking on it will prompt you a form, where you’ll enter the information you got from ZeroSSL.
a) the domain;
b) the certificate — include the - — BEGIN CERTIFICATE — and — END CERTIFICATE — lines;
c) private key;
d) all you received from ZerosSSL;
Just to reinforce, in case you do not include those BEGIN CERTIFICATE and END CERTIFICATE lines, you’ll get an error message. And make sure you did not leave the Certificate Authority Bundle (CABUNDLE) on the same input as the SSL certificate.
Once you finished filling in the form with your information, click on Install Certificate, and YOU’RE DONE!
From now onwards, your website may be secured by a Let’s Encrypt SSL Certificate.
Make sure all your links throughout the website are pointing to https:// rather than normal http:// to avoid any issues.
If you want users to be always forced to your https:// site, check my .htaccess post ;)
UPDATE 16/11/2017— AUTOMATIC RENEWAL
Thanks to Bogdan Transcendentov who wrote a response and linked me to this post that solves automatic renewals of SSL certificates. See link below:
[EDIT] — This link has stopped working, unfortunately. https://www.forum.2globalnomads.info/viewtopic.php?f=16&t=24&p=65&hilit=encrypt#p65
Discussion on Web SEO Designers’s forum that may help: https://forum.webseodesigners.com/web-design-seo-and-hosting-f16/automatic-let-s-encrypt-ssl-on-godaddy-t24.html?sid=fe42e24ae5bcac1d0d44b8322ebd73be
Here are some other great references on how to deal with Let’s Encrypt on GoDaddy servers:
Install a Let’s Encrypt SSL — GoDaddy Help
Let’s Encrypt SSL Certificate on GoDaddy Shared cPanel Hosting by Isabel Castillo
Forcing HTTPs with .htaccess — http://www.inmotionhosting.com/support/website/ssl/how-to-force-https-using-the-htaccess-file