How to Install a Free SSL Certificate on Namecheap (with Let's Encrypt)
ฝัง
- เผยแพร่เมื่อ 6 ก.พ. 2025
- Learn how to install an SSL certificate for free on your Namecheap website. We will use the acme script to add an SSL cert from Let's Encrypt and setup the SSL in cPanel.
Don't see Terminal/SSH in your cPanel? Enable it by doing this • How to Enable Terminal...
Find more at tonyteaches.tech
Check out my vlog channel @TonyFlorida
#namecheap #letsencrypt #ssl #https
So helpful! One thing I'd note is that the acme script is, as of today, using ZeroSSL as the default CA and it gave me some error about not registering an email account but I couldn't figure out how to register but thankfully you can simply add '--server letsencrypt' to your --issue command and it works just like in the video! Thanks so much!
Thanks for the tip Eli
Thanks Eli this is vital info
I added '--server letsencrypt' and the certificate generates only.
How do you generate the private key?
This is such a helpful comment. I was stuck because of ZeroSSL issue too.
Some smart person on the Internet found out that it is caused by the OpenSSL being an old version. I had the same problem being on OpenSSL 1.0.1 (2013). Upgrading OpenSSL on namecheap shared hosting is not supported as I was told by the customer representative. OpenSSL 1.1.1 supports ZeroSSL which is the default server since August 2021. Putting the --server letsencrypt solves the issue. However, I would also change the default server to letsencrypt with acme.sh --set-default-ca --server letsencrypt to avoid cronjob renewal potential problems.
Clear as mud...3 Months later : after wading through this, it's probably the best video on TH-cam on this topic. Tony, I have to apologize for my first comment....you have to realize I am over 60 and am building a website for my daughter. Wish me luck. One hour later : ...so I tried it, gave me a message to register my account because it's using Zero SSL. Also told me to add --debug or --log...I decided to stop cause I am afraid I might break something and I'll be in a world of hurt. Sounds like the script is updated from the time of the video.....Tony, maybe a good time for a new updated video. Thanks anyways, Cheers from Canada.
Life saver - been thnking about leaving name cheap because they don't have lets encrypt built in and every year I have to mess about with them - great tutorial - also, really cool to see you run into an issue - most typical dev experience out there, but great to know it happens to us all :)
You are a lifesaver, I used to do this manually every 90days until zerossl limited the free web certs they used to issue. Now I dont even have to do it myself, it auto updates every 60 days? Amazing. Your video was very clean, each step well detailed, and your voice was very clear and calm, even when the cache wasnt letting your cert update lol. Keep up the good work!
Yes it should auto renew. You can double check this in the cronjob section of your cPanel to see if the task exists to do the renewal.
@@TonyTeachesTech I wasn't aware that this process auto renews, that's amazing!
I was about to leave namecheap because of their ridiculous SSL pricing, but this method is more convenient than moving to a different hosting company.
How to renew it pls ?
2023 Update: Acme now defaults to using a certificate organization called ZeroSSL instead of Let's Encrypt. To correctly follow this outdated tutorial, you now need to add "--server letsencrypt" to the command shown at 4:35. I encountered an error when I tried to run the command without this. I have no idea whether ZeroSSL or Let's Encrypy is better or why Acme switched their default.
2024 Update: ZeroSSL seems to work fine, so the command at 4:35 can be entered as directed in this tutorial. It's important however to be aware that these self-signed certificates (whether from ZeroSSL or Let's Encrypt) are only valid for 3 months. While Acme will automatically renew the certificates for you, the step of pasting the new certificate in cpanel (shown at 7:36) needs to be done manually each time.
@@cjhoyleSo basically all i need to do is when it expires to copy paste the Certificate and Key i originally generated and used, right?
@@Zruncho_Kroki Not exactly. The Certificate you originally generated will have expired. But if you open the files on your server where you originally copied the Certificate and Key from, you should see that the values have automatically been replaced with updated one that are valid.
@@cjhoyleI noticed that the new certificates validation started from the previous month. So right now they are valid for two more months instead of 3, but ig it worked to a certain extent..
@@Zruncho_Kroki Yes, Acme automatically renews the certificate earlier than the 3 months. I believe there is a configuration setting to change this.
Thanks so much, Tony! I’d been putting off figuring out free SSL for my client domains until a client domain was about to expire, so I found your video As Eli advised, I added --server letsencrypt right after --issue and it worked. Now I can go ahead and install for all my sites as they come up for renewal. Thanks for saving me a bundle 👍🏿 I’ve, of course, subscribed
Hi, can you send updated script
forgive the comment 2 years later - Thank you tony! Worked like a charm... 30 seconds, mine was more like a minute :) You rock.
I spent HOURS trying to figure this out with PostiveSSL and following your instructions saved me more hours of pain 😭thank you!
Glad it helped!
You are a genius! Thanks for this easy-to-follow guide, amazing work!!
Thanks Tony, this has been super helpful. I do like that the certificates auto renew. However, is there a way to also have them auto install every 3 months? I've seen something about utilizing --deploy somehow to have that auto-install as well, but no clear instructions I can find. Even with the auto-renew, manually installing every 3 months for a handful of websites becomes very tedious! 😞
Is this still possible in May 2023. I can't find the Terminal option anywhere in the Cpanel. Perhaps they removed it, so people will be forced to buy an SSL through Namecheap???
just type in terminal in the search within cPanel. It is there. Unfortunately it appears that the curl command is not available, so I need to figure out a workaround to get the cert installed.
Search for "Manage Shell" on the Cpanel page, and Enable SSH access in the Manage SSH page
open ssh and enable that then you can find terminal
Tony this is so good, but may be could you provide a more updated version of this video please. That would be so helpful. I appreciate
nice explanation, but what do I do if I dont have cPanel :(, how can I get access to the terminal
1.Go to search bar and search (manage Shell)
2. Then turn on manage Shell
Then back to search bar and search term
@@iam_caano This helped a lot; I could not find the Terminal option. Thank you.
I was just standing up and then I said! hey, do not forget to give this man a like on the video!! thank you very much! I had to modify some paths but I handled it. thanks again!
Thank you so much :)
@@TonyTeachesTech Please i tried it on my namechaep hosting.. Not working.. Kindly help out...Thank you.. Have send a mail via your website
@@aomdigital did you find a solution to the problem
@@joshuaobiaboehoche9424 not yet
You can help.. We appreciate
This is the best content I have watched in a while! thanks mate :)
Glad to hear it! You're welcome!
@@TonyTeachesTech Is there a way to make it auto-update when the certificate expires, thank you!
@@stiviniii Check in your Cpanel under the Advanced section and look at Cron Jobs to see if there is an acme.sh cronjob in there. If so, you should be good to go.
@@TonyTeachesTech Thanks for the great video, it was very useful. I checked the Cron Job in the advanced section and actually the job is there but it seems not to be working.
Thank you! I just installed a free SSL on my system.
Excellent! Subscribe for more like this from me if you haven't already :)
As some other comments note, more recently the command changed so "--server letsencrypt" should be added at the end of the last command.
9:22 -- usually, when you install an SSL in a regular cPanel, the server starts using it right away. At Namecheap it takes a little bit more time because they have another, let's say, security layer which has to "pick up" the SSL certificate. This does not take more than 5-10 minutes in most cases.
Oh that's good to know, thanks
Thank you so much, with the added --server letsencrypt command it works like a charm. Subscribed.
Thank you too!
With the new change/version/update the SSL does not update after the installation, it looks like that is related to the default EC Private Key encryption, to make it work a RSA Private Key --keylength 2048 is needed, otherwise the certificate will not work. Just to keep it in mind this might affect some hosting packages.
How to get that RSA key. Please help
It seems i have the same issue. how to get this?
same RSA private key missing how to figure out?
What do you do when you want to install an SSL Cert for the main domain of your shared hosting? When it comes to adding the full path, of the domain to issue the cert, do we just enter simply what we get when we type in pwd and nothing else (i.e. /home/username/)? That's my logical guess, but I figure I better be sure of the answer before I move forward.
I think I've found the answer through acme.sh docs. Must add public_html to that........
Yea as you found out, you need to provide the root of the website directory which in your case seems like it's public_html
Hi, I got stuck at the first step. I do not have a server icon next to my domain
Worked great for me, with a small edit. Looks like the script uses ZerroSSL by default now, but if I add the "--server letsencrypt" option to the generation command, all goes smoothly. Also it looks like (by default) the private key is generated with Elliptic Curve cryptography and not RSA, so when you're copying your private key, it'll start with "-----BEGIN EC PRIVATE KEY-----" and be shorter than the RSA key shown in the video.
For anyone saying it doesn't work anymore, try this!!!
Thank you so much for this video. I struggled with this on Namecheap for so long.
You're very welcome!
Amazingly explained. Thank you very much!
EXCELLENT!! Thank you, Tony!
My pleasure!
installed but still wont accept the SSL on the www. version of the website, SSL does work on the https: version without www. in front of the domain, do you know why and how to fix this?
Would it work if I hosted the site somewhere else like? Netlify and the dns from namecheap
Hi Mate I would like to ask you something I don't have the option from terminal can you help me please
Hey, this help article from NameCheap should give you terminal in your cPanel www.namecheap.com/support/knowledgebase/article.aspx/10040/2210/how-to-enable-ssh-shell-in-cpanel/
If not, you can use Terminal/putty to access th-cam.com/video/FXbqO61_NVc/w-d-xo.html
Tony thanks! Ive been using a certain host for years that gave me wildcard certs, until recently they started to charge $80 a year. Don't get me wrong I paid for increased security certs for my ecom sites, but no way I was willing to pay that for 30 or so sites that are auto blogs and are affiliate sites.
Very helpful even in 2023
So helpful, thank u s much it works so easy thanks ❤❤❤❤
please how exactly did you do it? there is no terminal in the Namecheap control panel again. please how do i go
about it?
Hi, the video is very helpful but i want to know that how would the SSL be renewed automatically itself? Can you please give me an answer to this question? Thank you
So according to the flow of actions, the cronjob does generate a new SSL certificate and key, but you must handle SSL installation yourself anyway. Is there a way to actually install the SSL for the domain using SSH?
Must I have the web site created first? I had 2 domains without use. Yesterday I renewed those domains, but they no longer have the positivessl. If I haven't created a website yet, how would I do the procedure? Is it that to create the web it asks me to already have the certificate?
Thanks a lot, it saved me over 100$ today.
Right on!
Thanks. One Q though: If im making a site on Squarespace.. and use them to activate SSL, will I still need SSL on NameCheap? Or is that redundant then?? Im guessing I dont need to double up on SSL since Squarespace offers it free when building on their site??
Squarespace automatically issue ssl when you connect your domain with squarespace website
Brilliant! Thank you so much!
My cPanel doesn't have terminal in the advanced section
check video description
I don't find a terminal in the c panel. What should I do...?
You can connect directly via SSH th-cam.com/video/FXbqO61_NVc/w-d-xo.html
My sites are hosted on Namecheap but I don´t have that "terminal" option inside my "advance" tab on my cpanel.
I'm not sure why, but you can also use Terminal on Mac or Putty on Windows to connect to your Namecheap server directly th-cam.com/video/FXbqO61_NVc/w-d-xo.html
You can activate the terminal in the option manage shell/ enable ssh access, then the terminal appears
@@nakoruru666 Fantastic! Thank you Pakita and Tony
@@nakoruru666 Had this issue and worked for me.thanks
My keys are 3 time smaller. And it says Begin EC private keys and End EC private keys where as yours says Begin RSA keys?? Is it ok or any problem is going on.
Hello Tony, Looks like the cron job is no longer installing the certificates. I have a running cron job, but the certificates have not been installed. Any workaround this, please?
Thanks Tony. Amazing tutorial but a few things that seem to go wary... may be due to my hosting vs. your exact situation. Had some issues regenerating the .key and .cer files following your instructions as it seems mine went to a different folder.
Also had to add --server letsencrypt as Eli pointed out or it would not work - not sure why this occurred.
Are you able to show what your cronjob looks like? Wanting to make sure the right one is autopopulated in my situation.
Sorry Jacob, I don't have this hosting account anymore. Perhaps another commenter can share theirs or you can reply here with yours
@@TonyTeachesTech Thanks for responding. I got sick of NameCheap's terrible customer service and actually decided to go with SiteGround hosting anyways. They do the entire Lets Encrypt process free including renewal. Much easier!
Is this a wildcard SSL certificate that includes all the subdomains as well?
Or do I have to install this again seperately for all the subdomains on that domain?
This is not a wildcard SSL. You'll have to do that separately
@@TonyTeachesTech How would we add to subdomains? Would it be just like adding to www? Just add a couple of extra -d subdomain.maindomain.com ?
@@haganlife Yep!
@michaeldixon5024 I too am looking for a wildcard subdomain solution.
I know it's been 3 years but did you find one?
I have my domain on namecheap but my server is not from namecheap. Will it work too?
At 4:30 its not working.
I also don't see the domain on that server just my files.
Hi Tony. Again, thanks for this. Having a problem with the certificate not covering the www version of the site. I get the browser notice saying my connection is not private and I can’t click through to the site. Also, my client is getting the same warning message on one of the pages but can click through. How do I fix this? I’m a web designer, not a developer, so I’m not code-savvy. Appreciate your help!
“.acme.sh/acme.sh --server letsencrypt --issue -d website.com -d www.website.com -w /home/username/website.com or public_html“
HI mate, i managed to get the cert done from zeroSSL, but autorenewal seems not ok, I noted cronjob created, at cpanel, what can i do to fix autorenewal ?
Hey Tony, thanks for the video. I did dis in my nemacheap account for 3 subdomains that I have and 2 days ago afeter 3 months they expired, the setup doesn't work for me, Do you have an idea why?
Great video, great content.
Thanks man!
My pleasure!
I don't have cpanel because I only use the trial plan in Namecheap :( seems like I still need to buy a plan in order to get the SSL certificate, what do you suggest? or what plan do you actually use for your website hosted with namecheap?
Can this be done using a subdomain wildcard?
Thanks for the video trully appreciate but the Terminal is not available in my cpanel... not sure if this was pull out or just changed to another name
Does this help th-cam.com/video/NfN6gGJkg3g/w-d-xo.html
Thanks @Tony Teacges Tech. Very Useful Video. In Cron Jobs I am also seeing the corn task of acme sh script. Is it mean that it auto-renews particular domains after 90 days? Waiting for your reply on it.
Yes
Yep
Is there a set of written instructions or blog post with the commands? Trying to start and stop the video or to blow up the screen well enough to read the commands is not that easy.
Sorry I don't have that for you
Hoped this was the answer to my prayers but on going to my cPanel to advanced section there is no Terminal icon present 😥
1.Go to search bar and search (manage Shell)
2. Then turn on manage Shell
Then back to search bar and search term
Hi Tony! Thanks for the Video.
I am struggling with the Auto Rewnew part, By default no corn job is added to cpanel's crontab. To explore this further I tried adding --renew force to your code and set a cronjob manually but I still have to copy paste this in cpanel's manage SSL section. Is there a way to automate the whole procesS? Let me know. Thanks!
Cheers
I've always seen the cron created automatically. I'm not sure what to say for the other cases, sorry
Hey Yash, did you solve it?
Tony, thank you for this :o) Now that my domain is up and running with SSL, what must I do to get this newly generated SSL certificate to also work for the "www" version of my domain? I would be most appreciative for your response.
So sorry, that was an oversight of mine not to include that in the video. To do this, add an additional -d www.example.com to your acme command.
@@TonyTeachesTech Thank you.
@@TonyTeachesTech How I do this if the certificate is already installed?
@@juliochavez5564 Also missed this, did you find out how to do it after install?
I just re-issued and updated the certificate in Cpanel and www was included
Yes but Name cheap remove th Terminal option ? now what ?
check the description of vid, they didn't remove it, you just need to enable it
I don´t have Terminal option :(
www.namecheap.com/support/knowledgebase/article.aspx/10040/2210/how-to-enable-ssh-shell-in-cpanel/
Thank you, friend.
i dont find the terminal in my namecheap cpanel. is it not available in all their hosting services?
under manage shell check enable ssh access then the terminal icon appears under advanced
Thank you brother.
If anybody gets the "could not get nonce" error. For me it was just a matter of trying again. I have also read that it can be due to system clocks being out of sync or incorrect updates.
Please can you tell how to configure it for lifetime so that every year we may not need to renew
it s great but i dont have a terminal in advanced section of cpanel ???? what to do then ???
I'm not sure
Yor're the man! cheers bro!
Glad to help! Cheers
Unfortunately it seems Namecheap or cPanel has removed the option to use the terminal. Is there another way to add the Let's Encrypt SSL certificate? Many thanks.
This video wasn't what I was looking, but maybe I can help you out.
if you are on a shared hosting you first need to activate SSH keys, this is a protocol for you to connect to the cPanel server from your local machine.
if this doesn't work, you can always contact name cheap support team, its really efficient, this terminal walkthrough comes from them.
When you activate this, the terminal will appear in the cPanel menu.
Too add something more, if you are in a shared hosting plan you don't get sudo permissions.
This help article should help you enable terminal www.namecheap.com/support/knowledgebase/article.aspx/10040/2210/how-to-enable-ssh-shell-in-cpanel/
Works like charm! A question that I have, will this method auto-renew for the following years, or is there more to do? Thanks for the tutorial!
It should auto renew. Check under the cron job section of your cPanel to see if there is a task to handle the renew just to be sure.
@@TonyTeachesTech Hello! thanks for this amazing video. I did all the configurations and a cron job was created in the cPanel which is scheduled every 14 minutes. With this command: "/home/user/.acme.sh"/acme.sh --cron --home "/home/user/.acme.sh" > /dev/null
Will this cron job generate the new certificate? Thanks for your help
BTW just out of curiousity. Is there any way to force an auto-renew of letsencrypt SSL on namecheap?
Run a crontab
Terminal Missing:
Scroll all the way to the bottom click on Manage SSH
Enable SSH access
Go Back and Terminal would on the CPanel under advance
🙏
Thanks
Thanks a lot man. I have installed my first free SSL certificate following your guide. I have a question: when the certificate finishes in three months, have to do this process again, or are there some renewal? Thanks and best regards.
Check in your Cpanel under the Advanced section and look at Cron Jobs to see if there is an acme.sh cronjob in there. If so, you should be good to go.
@@TonyTeachesTech Hi, what should be the command in case to have to add the task to cronjob manually?
@@JoseRojasDev i have this: 5 0 * * * "/home/domain_folder/.acme.sh"/acme.sh --cron --home "/home/domain_folder/.acme.sh" > /dev/null where domain folder is the folder with the alias name of the domain.
@@felixgp This run every 5 minutes on 0 hours?
Hey, I need some help with this if you can.
I get stuck at "Processing" after "Verifying", and required an extra signup step (which I may or may not have done correctly, I am not sure). Do you have an updated method for this?
No, I'm not aware of any extra steps like that. Sorry
@@TonyTeachesTech @Justin Logan, same problem guys. use --debug at last and it shows
apache:
apache doesn't exist.
nginx:
nginx doesn't exist.
socat:
@@MiamiPapi I made new ac for zerossl and added to it and it worked.
Don't use ZeroSSL. Add the argument --server letsencrypt at the end.
Acme uses ZeroSSL now.
How do I go past this?
So do we need to do this every 90 days?
Thank you so much for the relevance, Could you PLEASE, Help Check what to use instead, as Namecheap cPanel do NOT have "Terminal" any more, Thank you as you respond...
In cPanel go to Manage Shell and click the option to enable SSH access.
Thank you! very valuable information.
Glad it was helpful!
Please do a video on how to install the ssl on multiple domain on namecheap, i followed your process but it's only working for the first domain, the second domain i just get processing... till it timeout
Repeating the steps in this video for multiple domains will work
I am having a weird issue. I have finished the installation, and it works nicely. Except when I add the www. to my domain, then it looks like as if it is not protected. And even Namecheap says only the www-less domain is protected by SSL. What could be the issue?
To answer my own question and for anyone that might run into this problem:
You can add -d domainname to your arguments before the -w part. As many as you need, however due note that for whatever reason only mail.example com, example com, www example com will be added, the rest will error out.
Hello! Great video! I have a question, in shared hosting I needed to set txt records to verify my domain ownership than the cert were issued.. have you any tutorial on how to use api dns or how to install certbots on shared stellar hosting? I see some api references but I don't understand where to write the token etc..
I don't have that type of video, sorry
Thank you very much for the video, I congratulate you for the vineyard, it helped me a lot. But I have two questions, why does the certificate not work with www? And if it is possible to extend it for much longer? Make it annual and not for just 2 or 3 months
That was an oversight of mine not to include www in the video. To do that, try something like this:
acme.sh --issue -d site4.xyz -d www.site4.xyz -w /home/username/site4.xyz/
As for the 3 month limit of the cert, this is a restriction imposed by the certificate authority (Let's Encrypt in this case) and cannot be changed.
@@TonyTeachesTech Is there a way we can automate the SSL installation? so that it does the installation for us every three months
@@savanablessing6431 Check in your Cpanel under the Advanced section and look at Cron Jobs to see if there is an acme.sh cronjob in there. If so, you should be good to go
I have a cron job running a command in the acme.sh path with every 14 minutes . This is the auto renew cron job?
at the time of writing, though, note you'll have to do this every 3 months - the duration of a Letsencrypt certificate. If you have your own server you can configure automatic renewals, don't know about third party hosts...
When I type "ls" command, I don't see my domain name. I see public_html. Can you please tell me where should I put my main name and where folder path.
You should. Is your website hosted on that server that you're logged into? Sometimes people have multiple cpanels within their Namecheap account
Help..... When I go to the c panel, under advance, there is no icon named terminal... Has Namecheap moved it....
Found it
Oh good
Do you have to do this every time the certificate renews?
Thanks man for this video. It was very useful.
A QUICK QUESTION PLEASE: Can I install this same Certificate and the Key generated on to other domains that I have on the same Cpanel? Or do I have to repeat the entire process for each domain? I'll be grateful for your response.
how long does this certificate last?
Thank you tony sir...😆😆😆😆😆😆😆😆😆😆
You're welcome
Hello do I need to buy hosting from namecheap to host my domain name so I can have cpanel to do the process? Thanks. :)
That's a good question. I think the answer is yes
Why does my cpanel in NameCheap not have a "terminal" access?
Check the description.
My website is now secure in a browser, but still appears as not secure from a mobile device... Any help?
Does the mobile website share the same domain name and URL as the desktop website?
Another question: if I need an SSL for another website under that same account, what do I do?
You can repeat the steps in this video, but this time with the domain for the other website
you could have added commands in description
Hey I did follow your video, but I don't know why I am getting zeroSSL instead of Letsencrypt ssl certificate.
Oh I don't know either
@@TonyTeachesTech Yup I found the reason, they changed their default from letsEncrypt to ZeroSSL, and they did this because the plugin is owned by ZeroSSL. Hope this helps, cheers!
Hi Tony. Can you show us how to Auto Renew the SSL? Is it possible?
This certificate will auto-renew via a cronjob. You can see this for yourself in your cpanel > Cron Jobs
How can Install a wild card Lets encrypt ssl cert in namecheap
Hi, my hosting that is gbnetwork.my does not have the "terminal". how do I execute this?
www.namecheap.com/support/knowledgebase/article.aspx/10040/2210/how-to-enable-ssh-shell-in-cpanel/
Why terminal icon doesnt found in meddle east users
Not sure
Its does not work for me please help :/
Making a website for someone with namecheap. When I type ls in the terminal, I get "access-logs cpbackup-exclude.conf etc logs lscache mail perl5 public_ftp public_html ssl tmp www"
Why is that?
Same. Did you find an answer?
I've followed the instructions but its not working. I had a look in cpanel under Namecheap SSL and it appears that the free Positive SSL that comes with my account was activated. Do I need to de-activate the Namecheap SSL before my Let's Encrypt SSL will work?
I think I know the problem. When I issued the command ".acme.sh/acme.sh --issue -d example.com -w /home/username/public_html" I didn't use 'www.example.com'. I checked 'example.com' and that work - the clue was checking "SSL/TLS Status" in cpanel. So perhaps I misinterpreted the instructions. Do I now just redo the steps again using 'www.example.com'?
Yes, you'll want to remove the existing SSL before you can use the one from Let's Encrypt. I believe I show you how to do this in the video.