June 11, 2020
2min Read
Domantas G.
If you own a website, you need an SSL certificate. Fortunately, you can get one for free. Here, we will uncover how to install Let’s Encrypt on shared hosting to improve your site’s security and credibility.
Hostinger offers free SSL with Business plan. It’s worth to check this offer if you are serious about the protection of your website and don’t want to deal with tricky SSL installation, setup, and renewal.
Table of Contents:
Secure Sockets Layer (SSL) is a web protocol for securing data transfer and communication. The protocol encrypts all information requested from the server and vice-versa, thus preventing third-parties from accessing it.
Here are the main benefits of enabling SSL protocol on your website:
To enable SSL on your website, you need to obtain an SSL certificate from a certificate authority (CA) first. Most hosting providers like Hostinger offer great SSL deals that are not only affordable but also easy to install.
Not to worry — if you’re on a tight budget, there are several non-profit certificate authorities like Let’s Encrypt that distribute SSL certificates for free.
However, please note that free SSL certificates generated by Let’s Encrypt are only valid for 90 days. Therefore, you need to renew it periodically to maintain their benefits.
In this tutorial, we will show you how to install a free SSL certificate on a shared Hostinger account using hPanel. If you’re running on cPanel, you can refer to this article instead.
Here are the steps to install Zero SSL on shared hosting using SSL For Free:
The SSL protocol has gradually become a mandatory security protocol for all websites. If you don’t have a budget to purchase an SSL certificate, not to worry. You can install Let’s Encrypt free SSL certificate and still get all the SSL’s benefits.
Do you find this article useful? Drop us a comment below!
April 13 2017
Thank you for this awesome guide. It was very helpful. I was just wondering if there’s a way to create a certificate for subdomains of my website as well, or do I have to create a separate certificate for each?
Replied on September 13 2017
Can you help me? What is the command to use with subdomain? Thank you
Replied on March 28 2019
I guess it will be the same, just change the 'domain.com' to 'sub.domain.com'
April 13 2017
Thanks for free ssl!
Replied on April 13 2017
bonjour tout le monde! quelqu’un peut-il m’aider pour installé SSL Gratuitement
April 13 2017
I have installed ssl on my primary domain which is hackerrahul.com but when i installed it on my subdomain blog.hackerrahul.com , the tiny lock in the url bar is not coming and when i click over there it is saying that connection is not private. please tell me whats is that. thanks
Replied on April 13 2017
Have you tried to clear you browser cache? I just checked and blog.hackerrahul.com displays a green pad lock for me which means connection is encrypted on your blog subdomain.
April 13 2017
Brilliant Guide! Thank you so much for this, it took a couple of goes, and it may need updating as I got a couple of errors, but it worked fine overall. Any ideas on creating an automated version, maybe with a cron trigger? I say this as letsencrypt only lasts 90 days, and they advise to configure scripting to do this for you?
Replied on April 13 2017
We are glad it helped. You can use cron job to renew Let’s Encrypt SSL every 90 days. For example: php acme-client/bin/acme issue --domains yourdomain.com:www.yourdomain.com --path /home/x123011738/public_html:/home/x123011738/public_html --server letsencrypt would renew the certificate automatically.
Replied on June 07 2017
When i run php acme-client/bin/acme issue –domains yourdomain.com:www.yourdomain.com –path /home/x123011738/public_html:/home/x123011738/public_html –server letsencrypt It says Could not open input file: acme-client/bin/acme
Replied on August 01 2017
Probably try giving absolute path to acme-client, or launch it from its bin directory. Then as well have you changed yourdomain.com:www.yourdomain.com to you personal domain accordingly? As well is this: /home/x123011738/public_html your website path? Use pwd command to check your absolute path.
April 13 2017
Hey, this thing: Connect to your hosting account using SSH information from Step 1.3. In our example, it would be: ssh x123011738@31.170.164.22 -p 65002. I connect to that, just chaning my IP.: ssh x123011738@MYIP -p 65002. And it gives a password, but it says its wrong even though its not?
Replied on April 13 2017
Have you changed your username as well? First part (bolded) should be changed as well x123011738@31.170.164.22
Replied on April 26 2017
What should I specify in place of x123011738!?
Replied on August 01 2017
This should be your hostinger account user id. Use comment named: pwd to check your absolute path on linux.
April 13 2017
Great topic! I have a question - is it possible to use free SSL for subdomains if I use CLOUDFLARE, my subdomain is added via A record? ssh shows me php issue 203 and notice: couldn’t resolve the following domains to an IPv4 nor IPv6 record…. anybody now how to fix it?
Replied on April 13 2017
Hey, It’s not possible to use Let’s Encrypt with CloudFlare because of server configuration. You get 203 and notice: couldn’t resolve the following domains to an IPv4 nor IPv6 record because domain name is not pointing directly to Hostinger’s IP address. Solution would be to turn off CloudFlare and point it directly, or use free SSL from CloudFlare: https://www.cloudflare.com/ssl/
April 13 2017
Thank you for this useful guide. Works like a charm for me. Just a question, after renewing Let’s Encrypt SSL, is there a way to automate the installation of the new certificate on the web server? Thanks.
Replied on April 13 2017
Hey Nicolas, Unfortunately, it’s not yet possible to automate the installation process. However, in a few months Hostinger will completely automate free Let’s Encrypt SSL installation and renewal process :)
Replied on June 28 2019
Hello the guide says it's now deprecated, is it true? no more let's encrypt certs?
Replied on September 24 2019
Hey Raz, Yes, that's correct.
April 13 2017
I have this problem (3) in the process of generating SSL certificate: Providing payload at http://www.xxxx.com/.well-known/acme-challenge/REfBSEEgrAEV8Tz3StJ44GU15UsrhCbAGsT6u9YvC9U Providing payload at http://xxxx.com/.well-known/acme-challenge/FiX5I3YY_p_wcKDyXyjI3dJRcV-AuFtEPSMBLn6z2Ok selfVerify failed, please check http://www.xxxx.com/.well-known/acme-challenge/REfBSEEgrAEV8Tz3StJ44GU15UsrhCbAGsT6u9YvC9U. selfVerify failed, please check http://xxxx.com/.well-known/acme-challenge/FiX5I3YY_p_wcKDyXyjI3dJRcV-AuFtEPSMBLn6z2Ok. Kelunik\Acme\AcmeException: Issuance failed, not all challenges could be solved. in /home/uxxx/acme-client/src/Commands/Issue.php:104 ¿Can anyone help me?
Replied on April 13 2017
Seems like you already installed SSL certificate. Sometimes when you have installed for the main domain but not installed for sub-domains and now you like to install on other domains or the main domain again. In this case while verifying the payload it forces via https but it should be load via http to be verified. But when you try opening http it forces to http and it becomes impossible to verify. Solution: Delete the Certificate via Hostinger members area and try running the command again. And now after verification install the certificates via same member area.
April 13 2017
Thank you. I have just installed SSL on my personal blog. My blog has a shared hosting from Name Cheap
April 13 2017
Thank you very much, it helped me a lot, now my domain is https://myweb.com . The problem now is when I try to test my web throug gtmetrix, it gives me this error: “Analysis Error The SSL certificate for this site is not trusted in all web browsers You may have an incorrectly installed SSL certificate. Check your SSL certificate at SSLShopper” Following the link it says: “The certificate is not trusted in all web browsers. You may need to install an Intermediate/chain certificate to link it to a trusted root certificate. “ How could we solve this problem? Thank you very much!
Replied on April 13 2017
Same problem here! did you find out what to do?
Replied on November 13 2017
Same here!
Replied on September 16 2019
Same problem. Any solution ?
April 13 2017
Great tutorial, everything work fine! Thanks!
April 13 2017
Very Good! Thanks.
April 13 2017
Thank you for this really good guide.
April 13 2017
Thanks for awesome detail tutorial to install lets encrypt on shared hosting. Suppperrrb (y)
April 25 2017
hy, thanks for the good post, i followed the step but i'm failed in step 3, in the comand php bin/acme issue..., please advice how i fix that, thanks before
Replied on April 26 2017
Hey, Do you get any errors? If so, please provide exact error message here.
May 08 2017
I made a script that will automate this for you, mostly . . . Still trying to figure out the automation of the cpanel parts with their API https://gist.github.com/abstracted/58e80ba8633a72d5abe03147717879a6
May 14 2017
Hello! I have an issue with SSL, I've programmed a CronJob in my hostinger panel, but the certificate didn't renew automatically, so now my site is an insecure site. I've tried as well to delete the certs but I couldn't. I don't know what to do now because I can't install a new certificate in my site. I need your help or if hostinger have spanish support to install SSL and renew them or delete. I hope I've been explained. Greetings!
June 16 2017
Hi After completion of the SSL following your instructions here, all seemed fine. However, once I viewed my site via the secured https protocol, all contents were blocked. Kindly advise what needs to be done. Do I need to remove the site and re-FTP the entire site? Thanks.
Replied on June 16 2017
Hey, Most likely assets (images, css, etc) are still loaded via http instead of https on your site. If you are on WordPress, see this tutorial on how to properly move from http to https.
Replied on June 19 2017
Hi, it's a great tutotrial. But does it work for a free account? Can a free account user change from http to https?
Replied on June 20 2017
Hello, Unfortunately, it will not work on a free account. However, we offer free SSL with out of the box install for our paid clients. Find out more https://www.hostinger.com/free-ssl-certificate
June 29 2017
Dear, I am Hostinger Brazil client, I are I followed every step. However, my fullchain.pem is always generating two certificates. And the key.pem file is only generating a private key. I try to put one of the two certificates with the unique private key, in the install part of the SSL certificate panel. But it is always generating error in any of the generated keys. My domain ends in xyz.
July 08 2017
does one turn off ssh after? also has anyone done this soley on an android. i shall attempt it, but think it is not able to be completed on android. alas monday will come tjen i can do it on windows. ps great guide, it has an easy to follow flow.
July 12 2017
What will happen if make a symlink?? ln -s /home/x123011738/acme-client/data/certs/acme-v01.api.letsencrypt.org.directory/yourdomain.com/cert.pem /home/x123011738/ssl/certs/ssl.crt remove the original file and make a symlink with letsencrypt. will it work??
Replied on July 16 2017
Hey, You cannot create symlinks on shared hosting, unfortunately.
Replied on August 01 2017
Use cronjob to `cp -rf` updated certificate each time you renew it. Using acme-client.
July 21 2017
I installed the SLL certificate on my site and everything went well however when I access the link using HTTPS all web browsers issue an alert that the site is not secure. What can be done about it?
Replied on July 28 2017
Hello, Most likely some of your resources are still loaded via http, you need to update all image, css, js links to https
August 03 2017
I looked at some Youtube videos for other hosts. They had Let's Encrypt as a simple click option. Hostinger has many strengths - but I think you are behind on this one given SSL is so important you should make it easier to install.
Replied on August 05 2017
Hey, As per tutorial "Hostinger, now offers cheap SSL certificates for a lifetime. It's worth to check this offer, if you are serious about the protection of your website and don't want to deal with tricky SSL installation and setup. "
October 11 2017
This works fine on other providers also. Thanx for your guide
October 17 2017
Thank you sir, this is very easy steps
November 02 2017
Nice article, I followed this tuts. But the green padlock doesn't appeared
Replied on November 10 2017
Hey Zee, Make sure ALL resources are loaded via https. You will not get green padlock if images and scripts are loaded via http instead of https.
November 07 2017
I purchased premium pack shared hosting + SSL lifetime, but my website does not show HTTPS. What can I do for activate it ?
Replied on November 10 2017
Hey Stefan, You will most likely have to force HTTPS: https://www.hostinger.com/tutorials/ssl/forcing-https
January 07 2018
THANK YOU! Works like a charm!
February 02 2018
Tell me please what the minimum PHP version should be installed in order to use this code?
February 13 2018
I try to renewd the certificate using this, "php acme-client/bin/acme issue --domains yourdomain.com:www.yourdomain.com --path /home/x123011738/public_html:/home/x123011738/public_html --server letsencrypt", it shows the new expiry date, but in browser the date is not changed. Do I need to copy the Private Key and CRT everytime after renewal?
February 14 2018
"The certificate is not trusted in all web browsers." how to fix this ?
Replied on February 15 2018
Do you still encounter this issue? I have visited your website and it loads properly via HTTPS using 3 different browsers (Safari, Chrome, Firefox). In case it happens on a different domain, I would recommend trying a different SSL installation method. You can do it using this free tool. Last but not least, you could try to purchase our lifetime SSL certificate. You can set it up in just a few clicks and it will be automatically renewed for as long as you use our hosting services! ;)
February 20 2018
CRON keept returning these: Next Kelunik\Acme\AcmeException: POST request to https://acme-v01.api.letsencrypt.org/acme/new-authz failed: Allowed transfer timeout exceeded: 15000 ms in /home/u436168250/acme-client/vendor/kelunik/acme/lib/AcmeClient.php:290 Any ideas how I could fix this?
Replied on February 27 2018
Hey Max, Unfortunately, this tutorial is deprecated and we no longer support this method of installing let's encrypt.
April 17 2018
This guide was little confusing but after reading and doing three times I succeeded in installing my SSL thanks
November 19 2018
Thanks for this great tutorial. I am searching for this for a long time, finally able to install the SSL on my website
December 17 2018
Thank you very much! It's perfect
October 10 2019
Thanks for the article Domantas.
January 02 2020
Excellent, easy to setup
March 05 2020
With Business Plan I will have unlimited SSLs certificates or just one?
Replied on March 12 2020
Hi Carl, With the Business Plan, the lifetime SSL certificate supports 1 domain. You can buy more here :)
March 29 2020
Hi fellow enthusiasts, When should I install SSL certificate? Before or After Domain setup on hostinger? //Harry
Replied on April 21 2020
Hi Harry, first of all, set up your domain and connect it to your hosting account. Then you can proceed with activating your SSL!
April 01 2020
Hello: I want to host two websites on Premium Plan. Can I install two Let's Encrypt certificates, one for each website? Thank you.
Replied on April 21 2020
Without a doubt! You can host multiple domains on your account and install an SSL for each of them.
August 11 2020
I am getting this error We were unable to verify your uploaded file. Please check for errors on your side and try again after 5-10 minutes
Replied on November 06 2020
Hey there Chobela. I am limited to what I can check via the comments here, but you can message our Customer Success team and we will help you out asap :)
domantas
Replied on April 13 2017
I am glad this tutorial helped you. If you want to use let’s encrypt on subdomains, you will have to install a different certificate for each subdomain. This means that you will have to repeat installation process for each subdomain.