Let’s Encrypt SSL certificate in Namecheap AutoRenewal – Verified & working – Using ACME.sh
Anuj Singh Tomar
Posted on September 18, 2020
NameCheap doesn't support Let's Encrypt natively, But provides option so you can setup LetEncrypt SSL certificates using different utilities like getSSL or ACME.sh, having used both found acme.sh to be quite better and simple to use + it supports auto renewal too.
1 - Enable SSH to get into your shared hosting server with your cpanel username.(You can get keys & login from your terminal or use inbuilt capnel terminal for quick access)
2 - Get the certs
#Get acme.sh utility
curl https://get.acme.sh | sh
#Source the Environment variables
source ~/.bashrc
#Register your email with Lets's Encrypt to be notified any renewals issue
acme.sh --register-account --accountemail email@example.com
# At this moment a cron entry already has been setup for autorenewal which will auto renew after 60 days., You can update /dev/null to something like this if you need the log
crontab -l | grep acme.sh
10 0 * * * "/home/_CPANEL_USERNAME_/.acme.sh"/acme.sh --cron --home "/home/_CPANEL_USERNAME_/.acme.sh" >> /home/_CPANEL_USERNAME_/.acme_cron_log
4 – Issue a test cert to check if all working
#webroot will be any directory in which your domain exist, give path accordingly.
acme.sh --issue --webroot ~/public_html -d yourdomain.com --staging
5 – issue an actual Certificate
acme.sh --issue --webroot ~/public_html -d yourdomain.com --force
#In ourput you will see success if all goes fine & key/Certs/chaincerts/csr will be stored under below location, you can refer those if you intend to apply those using cpanel GUI manually
~/.acme.sh/yourdomain.com/
6 - Apply Cert to website using cPnel hook
acme.sh --deploy --deploy-hook cpanel_uapi --domain yourdomain.com
7 – You should be able to see your domain with SSL in cpanel under SSL/TLS -> Manage all certs
8 - Force HTTP-HTTPS redirection
If you see option to enable you can enforce HTTP from cpanel itself:
cPanel->Domains
In case it is greyed out, which could be in case you have multiple domains like www.yourdomain.com for which you don’t have the cert , Enable the redirection from “redirects” or simply add below lines in .htaccess file
#always backup as a thumb of rule
vi ~/public_html/.htaccess
Or
vi ./yourdomain.com/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
9 – test your website in new window with URL: https://yourdomain.com or http://yourdomain.com( in http it should redirect automatically to https)
So you are all done now, If you need a more detailed Article you can checkout the original article on below link:
devops.egyan.space
Glad if this helped you, You can now buy me a coffee if this was helpful:
Posted on September 18, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
September 18, 2020