<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Certbot on Janusworx</title><link>https://janusworx.com/tags/certbot/</link><description>Recent content in Certbot on Janusworx</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>feedback@janusworx.com (Mario Jason Braganza)</managingEditor><webMaster>feedback@janusworx.com (Mario Jason Braganza)</webMaster><copyright>© 2026, Mario Jason Braganza</copyright><lastBuildDate>Fri, 31 May 2024 11:12:17 +0530</lastBuildDate><atom:link href="https://janusworx.com/tags/certbot/index.xml" rel="self" type="application/rss+xml"/><item><title>Notes to Self on Renewing Wildcard Letsencrypt Certs Manually With Lego</title><link>https://janusworx.com/work/notes-to-self-on-renewing-wildcard-letsencrypt-certs-manually-with-lego/</link><pubDate>Fri, 31 May 2024 11:12:17 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/notes-to-self-on-renewing-wildcard-letsencrypt-certs-manually-with-lego/</guid><description>&lt;p&gt;&lt;br&gt;
&lt;br&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/lego-logo.svg" alt="" /&gt;
 
 
 &lt;/figure&gt;&lt;/p&gt;
&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;
&lt;p&gt;image courtesy, the &lt;a href="https://github.com/go-acme/lego" target="_blank" rel="noreferrer"&gt;Lego Github page&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;I want to someday, automate all my domain certificate renewals.&lt;br&gt;
Namecheap doesn’t support it, ergo my move to &lt;a href="https://porkbun.com/about" target="_blank" rel="noreferrer"&gt;Porkbun&lt;/a&gt;.&lt;br&gt;
And &lt;code&gt;certbot&lt;/code&gt; doesn’t support Porkbun, so I’ve moved to &lt;a href="https://github.com/go-acme/lego" target="_blank" rel="noreferrer"&gt;Lego&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I still need to someday figure out how to do this automatically, but for now, since all is in place, this is the new manual process.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You’ll need to generate a Porkbun API key along with its associated secret, and store it somewhere safe and secure. (This is a one time thing, the &lt;a href="https://kb.porkbun.com/article/190-getting-started-with-the-porkbun-api" target="_blank" rel="noreferrer"&gt;Generating API keys&lt;/a&gt; section here describes how)&lt;/li&gt;
&lt;li&gt;Another one time step is to &lt;a href="https://go-acme.github.io/lego/installation/" target="_blank" rel="noreferrer"&gt;get Lego installed&lt;/a&gt; and have it &lt;a href="https://go-acme.github.io/lego/dns/porkbun/" target="_blank" rel="noreferrer"&gt;generate your certs&lt;/a&gt;,
and then have your applications, point to where they are.&lt;/li&gt;
&lt;li&gt;Command to renew: &lt;code&gt;PORKBUN_SECRET_API_KEY=&amp;quot;your-api-*secret*&amp;quot; PORKBUN_API_KEY=&amp;quot;your-porkbun-api-key&amp;quot; ./lego --domains your-domain.tld --domains *.domain.tld --email your-email@domain --dns porkbun renew&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;And the renewal’s done!&lt;/li&gt;
&lt;li&gt;Restart yer engines … err your applications&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; et voilà!&lt;/li&gt;
&lt;li&gt;If you have multiple machines, figure out a way to securely transfer the certs there too.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Feedback on this post? Mail me at &lt;a href="mailto:&amp;amp;#102;&amp;amp;%23101;&amp;amp;%23101;&amp;amp;%23100;&amp;amp;%2398;&amp;amp;%2397;&amp;amp;%2399;&amp;amp;%23107;&amp;amp;%2364;&amp;amp;%23106;&amp;amp;%2397;&amp;amp;%23110;&amp;amp;%23117;&amp;amp;%23115;&amp;amp;%23119;&amp;amp;%23111;&amp;amp;%23114;&amp;amp;%23120;&amp;amp;%2346;&amp;amp;%2399;&amp;amp;%23111;&amp;amp;%23109;?subject=%22Feedback on post: Notes to Self on Renewing Wildcard Letsencrypt Certs Manually With Lego
%22" &gt;feedback at this domain&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;

P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;
Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;
P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;in my case Nginx&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Notes to Self on Renewing Wildcard Certbot Certs</title><link>https://janusworx.com/work/notes-to-self-on-renewing-wildcard-certbot-certs/</link><pubDate>Sat, 20 Aug 2022 11:45:54 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/notes-to-self-on-renewing-wildcard-certbot-certs/</guid><description>&lt;p&gt;&lt;em&gt;(Update, 2024-03-15: I now use lego. will update this post later.)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;After struggling to renew my certs for the third time in a row, hopefully these pointers should keep me on track for the next time.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Namecheap does &lt;em&gt;not&lt;/em&gt; yet support automatic wildcard renewal for the Letsencrypt/Certbot combo. Check next year.&lt;/li&gt;
&lt;li&gt;Have your Namecheap control panel open and ready.&lt;/li&gt;
&lt;li&gt;Switch to &lt;code&gt;root&lt;/code&gt; or run the command below with &lt;code&gt;sudo&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Command to renew: &lt;code&gt;certbot certonly --manual --manual-public-ip-logging-ok --preferred-challenges dns-01 -d *.domain.com -d domain.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;certbot&lt;/code&gt; will then, print a couple of lines that you need to add as a &lt;code&gt;TXT&lt;/code&gt; record in the Namecheap DNS control panel.&lt;/li&gt;
&lt;li&gt;When you do that, make sure you set the &lt;code&gt;TTL&lt;/code&gt; of the record, to a minute, so that you can redo stuff quicker, if you mess up.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;certbot&lt;/code&gt; might ask you to do multiple records. Read the instructions carefully.&lt;/li&gt;
&lt;li&gt;When you check to see if the &lt;code&gt;TXT&lt;/code&gt; record is set, search for the whole domain name. For e.g. &lt;code&gt;_acme-challenge.domain.blah&lt;/code&gt; instead of just &lt;code&gt;domain.blah&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If you’ve done all of the above, hopefully things should go smoothly and the certificate should renew.&lt;/li&gt;
&lt;li&gt;Restart Nginx and you’re done.&lt;/li&gt;
&lt;li&gt;If you have multiple machines, figure out a way to securely transfer the certs there too.
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item></channel></rss>