How To Setup Free SSL On Cpanel.

Oluwatobi Shokunbi(just1and0)
React Native Nigeria
12 min readJan 11, 2020

--

What is SSL and why do I need it? why does everyone I talk to about my site tell me to install an SSL?

When I got a hang of building web applications way back when I started learning software development, I had no idea why I needed an SSL on my site talk more of how to install it but the facts still stands, for anyone to come close to believing your site is secured, you must have an SSL on your site, or in other words that little padlock 🔐 at the side of the browser tab must be present.

So In this article, I'll be sharing with you what really is an SSL, what it’s used for and of cause how to set this up on Cpanel.

First, things first — What is an SSL Certificate?

what really is SSL, is it that padlock on the edge of my chrome browser ? or is it just some word developers made up?

Well, SSL is an acronym which stands for Secure Sockets Layer. SSL is the standard security technology used to ensure the information traveling between an individual’s web browser and a server remains secure. Virtually every kind of private information transmitted across the Internet — from emails to credit card transactions — is transmitted using SSL.

While SSL certificates are installed server-side, there are visual cues in the browser that show SSL protection. If SSL is present you may see https:// in the address bar, a padlock, green address bar or a combination of the three.

SSL secures your connection to a web server and encrypts any transferred data.

SSL is no small topic, and I won’t do justice explaining exactly what it is, so if you want to read more on this topic do check out these articles below;

What You’ll Need

Setting up an SSL on your server is as simple as it can get, but you’d need a couple of stuff ready before you can start — which are;

— cPanel Hosting

— Domain Name

— Free SSL Certificate

cPanel Hosting

cPanel hosting is readily available on loads of platforms, tho some are quite expensive, but some cheap hosting providers are available and some even allow you to pay monthly. Here are 5 cheap hosting platforms you should check out;

Just in case you want to have a look at other hosting options out there, do check out these articles below;

Domain Name

A domain name is your website name. A domain name is an address where Internet users can access your website. A domain name is used for finding and identifying computers on the Internet.

Computers use IP addresses, which are a series of numbers. However, it is difficult for humans to remember strings of numbers. Because of this, domain names were developed and used to identify entities on the Internet rather than using IP addresses.

Again, I know I can’t do a good enough job in just a single definition or article to explain domain name, so here are some articles you could read to learn more about domain names;

Free SSL Certificate

If you went through the SSL reference link pasted above, you’d know what SSL means, and a free SSL Certificate simply means you don’t have to pay for them. They are issued to you, free of charge mostly for a short period of time.

Here’s an article on a list of Free SSL providers;

Down To Bussiness

To get started, You’d need to get your SSL certificate keys which would be given to you by a provider, they’re a lot of providers for this, namely;

And the list goes on but I, on the other hand, make use of sslforfree more. So, in this articles we would be making use of sslforfree but the same approach used here can be replicated for other providers.

Open up your browser and go to sslforfree.com,

Type in your domain name in the search field and hit the create free SSL certificate button.

For the purpose of this article, I’d be using a subdomain(just1and0.cheef.ng) on Cheef.ng to show you how this is done.

So big thanks to Cheef.ng for granting me permission to use their server for this article… let’s continue;

Moving on…

You should be redirected to the page as seen below;

Once on this page, you’d have three options to set up your SSL.

— Automatic FTP Verification

— Manual Verification

— Manual Verification (DNS)

Tho I have used both the Automatic FTP Verification and Manual Verification to set up my free SSL, but for the sake of the article, we would be making use of the Manual Verification.

So go ahead and hit the Manual Verification option.

Once you click the button, some new options would popup as seen below;

Click on the green Manually Verify Domain button, once that is done, wait for a while and you’ll notice new options show up below the page, scroll down.

Click on the Download File #1 links, a file will be downloaded.

Do note that this varies, sometimes you’d be given an extra link like Download File #2, Download File #3, Download File #4. If this is the case for you, click all the links and keep all files download safely.

Congratulations 🚀🚀🚀

You just successfully created your verification files for your SSL — also don’t close the sslforfree browser tab just yet, we would be needing it very soon.

what’s next?

Now, we will have to upload our verification files to our cPanel.

But Let’s have a look at what our site currently looks like now;

Our site looks like the image above;

As you can see, when we open the site, we immediately get this Your connection is not private, and this is because we don’t have an SSL installed. To install one we’d have to upload the verification file to our server/cPanel.

There are numerous ways to log-in to your cPanel, some of which are;

— Account Management Panel (AMP)

— cPanel URL

In this article, we would be making use of the cPanel URL but if you’d want to know more ways you could log in to your cPanel, do check out this article;

Remember we are making use of the Just1and0 subdomain given to us by cheef.ng.

So to log in to my cPanel, or any cPanel we would do this <domain name>/cpanel.

Yes, it’s that simple, just write your domain and include a /cpanel and you’d be taken to your site Cpanel. So for cheef.ng I’d go to cheef.ng/Cpanel. Immediately you should see the cPanel login;

Now provide the login details to your cPanel and that’s it, you’re in!

Now you’re in, you’d have to go to your file manager, and navigate to the just1and0 Subdomain.

In the file manager, I'd have to navigate to the public_html/just1and0 folder.

I’m using the Just1and0 folder because it’s where the files for my subdomain are kept, so it only makes sense to use this folder to setup my SSL.

When in Just1and0 folder, I’ll create a folder called .well-known,

Please take note of the folder name, it is a dot folder, not just a well-known folder. Also most times your cPanel might have been set to hide dotfiles by default. If you’re not sure of the status of this setting, it’s really easy to change it.

To enable dotfiles on your file manager, hit the settings button on the top right corner.

When you click it, you’d see some options pop up.

Click the Show Hidden File (dotfiles) option and ensure it’s ticked.

After this is clicked, hit the save button and you should be able to see dotfiles.

As you can see above, my .well-known folder is now visible.

So next you’d open up .well-known and create an acme-challenge folder. If this folder is already available you don’t need to create it again.

Open the acme-challenge, and remember the files we downloaded from sslforfree at the beginning? upload the files to your acme-challenge folder on your file manager, so let us do that.

Once you’ve clicked the acme-challenge folder, look at the top bar and you’d see upload.

Once you click the upload, it’ll redirect you to the upload page;

Upload the files that you downloaded from sslforfree.

The file has been successfully uploaded!

Now close this tab and return to your previous tab to make sure it’s been uploaded.

If you still can’t see the file you uploaded, click the refresh icon on the top tab and I’m sure it’ll pop up, but if it still doesn’t show up, try reloading the entire page using ctrl+r on your keyboard.

Now we have our verification file uploaded! We have to go back to the sslforfree site we downloaded the verification file from so we can verify that the file is now on our server.

If you see the 5th option, there is a link below.

Click the link and you’d be redirected to another page with some characters;

If you see something similar to the image above, congratulations! Your SSL has been verified for your domain name and you can now download your SSL.

Look for the Download SSL Certificate button and click it.

After clicking this, You’d be redirected to the page below which will contain your Certificate, Private Key, CA Bundle.

Please don’t close this page as you’d need these keys.

Now go back to your cPanel dashboard and look for SSL/TLS, it is usually under security.

Click the SSL/TLS option and you should be redirected to a screen like the one below;

Now click on the manage SSL site option.

After clicking that, you should see a page like so below;

Scroll down till you see Install an SSL Website heading.

Select the domain you’d want to use this SSL on, for me it’s just1and0.cheef.ng

Now, remember your Certificate, Private Key, CA Bundle. Well now is the time we’ll be making use of them.

copy your Certificate, Private Key, CA Bundle and paste it in the correct fields in your cPanel.

When you paste the certificate note that the SSL information will come up.

also past the other details like Private Key, CA Bundle in the right field, Once you’re done with this you can hit the install certificate button below the page.

And that’s it, we’re done 🚀 🚀🚀

You should see the success screen below.

Now if you visit the site, you’d see that we don’t see the error screen and our SSL is now active.

Congratulations! you did it 🚀

Disclaimer

  • Never should you reveal your Certificate, Private Key, CA Bundle keys to anyone as I did in this article as it is not safe to have such information out there. I only did it for the purpose of this articles and afterward, I reinstalled a new SSL.
  • In this article, we made use of sslforfree as our SSL provider, do note that other providers are available and steps here can be used in other platforms just in case you’re not a sslforfree fan and you’d rather pay for an SSL.

Conclusion

They’re loads of reason one should have an SSL installed on their site, in this age and time, no one will even take your site serious if you don't have one.

So, do you have a previous site that doesn’t have an SSL, I'd advise you install one on that site!

Do you have other ways to set up SSL on cPanel? If yes, I’d love to read about them in the comments.

I know you did enjoy this article so do leave a clap 👏

Also, feel free to reach out to me on twitter, I always love to connect.

--

--