How to add a domain to an existing set of certs using acme.sh?

@ovunque
Please retry the last grep search again.
grep -ERi 'posthook|renewhook'

1 Like

_savedomainconf "Le_PostHook" "$_post_hook" "base64" _savedomainconf "Le_RenewHook" "$_renew_hook" "base64" Le_PostHook="$(_readdomainconf Le_PostHook)" Le_RenewHook="$(_readdomainconf Le_RenewHook)" issue "$Le_Webroot" "$Le_Domain" "$Le_Alt" "$Le_Keylength" "$Le_RealCertPath" "$Le_RealKeyPath" "$Le_RealCACertPath" "$Le_ReloadCmd" "$Le_RealFullChainPath" "$Le_PreHook" "$Le_PostHook" "$Le_RenewHook" "$Le_LocalAddress" "$Le_ChallengeAlias"

This is not what I expected.
Maybe Iā€™m looking in the wrong placeā€¦
Please show:
find / -name born2.run.conf

1 Like

Only one result
~/.acme.sh/born2.run/born2.run.conf

(In case you're wondering, can't run a find from / because of the shared hosting. Has to start from home dir)

(Re video game: I broke the suspense by trying to get this site up and running on a node server. Certs are easier there. You beat me to it.)

Following that folder structure, list the .conf file of the domain you renewed with the hook cpanel -f
and then also show the contents.
ls -l ~/.acme.sh/domain.name/domain.name.conf
cat ~/.acme.sh/domain.name/domain.name.conf

1 Like

Results:
~/.acme.sh/trillionpictures.com/trillionpictures.com.conf

Are you also playing a game?
I asked you to list the file and show the contents of it.

ls -l ~/.acme.sh/trillionpictures.com/trillionpictures.com.conf
cat ~/.acme.sh/trillionpictures.com/trillionpictures.com.conf

1 Like

This is becoming a movie.
A really long one.

longer thanā€¦
tora! tora! tora!

2 Likes

Results:
Le_Domain='trillionpictures.com'
Le_Alt='www.trillionpictures.com,totallypostal.net,www.totallypostal.net,starsandstrife.com,www.starsandstrife.com,feathercollectionproject.com,www.feathercollectionproject.com,www.born2.run,born2.run,fixitamerica.org,www.fixitamerica.org,keeperofthedream.net,www.keeperofthedream.net,opq-design.com,www.opq-design.com,radical4.media,www.radical4.media,radical4media.com,www.radical4media.com,samself.com,www.samself.com,savingbarbarasizemore.com,www.savingbarbarasizemore.com'
Le_Webroot='~/public_html/'
Le_PreHook=''
Le_PostHook=''
Le_RenewHook=''

Le_Keylength=''
Le_OrderFinalize='https://acme-v02.api.letsencrypt.org/acme/finalize/57630353/5225577689'
Le_LinkOrder='https://acme-v02.api.letsencrypt.org/acme/order/57630353/5225577689'
Le_LinkCert='https://acme-v02.api.letsencrypt.org/acme/cert/0482467a217f2d41453695345280f85702ae'
Le_CertCreateTime='1600313810'
Le_CertCreateTimeStr='Thu Sep 17 03:36:50 UTC 2020'
Le_NextRenewTimeStr='Mon Nov 16 03:36:50 UTC 2020'
Le_NextRenewTime='1605411410'
Le_DeployHook='cpanel_uapi,'

I started at 8am on this.

That should have been shown... :frowning:
I think I missed something...

Try:
grep -ERi 'posthook|renewhook' ~/.acme.sh/

[the dot after the slash may have hidden that folder]

You also failed to show (again) - PUT DOWN THE TV REMOTE - LOL

1 Like

~/.acme.sh/munich72.trillionpictures.com/munich72.trillionpictures.com.conf:Le_PostHook='' ~/.acme.sh/munich72.trillionpictures.com/munich72.trillionpictures.com.conf:Le_RenewHook='' ~/.acme.sh/longplay.trillionpictures.com/longplay.trillionpictures.com.conf:Le_PostHook='' ~/.acme.sh/longplay.trillionpictures.com/longplay.trillionpictures.com.conf:Le_RenewHook='' ~/.acme.sh/sevendeadlysins.trillionpictures.com/sevendeadlysins.trillionpictures.com.conf:Le_PostHook='' ~/.acme.sh/sevendeadlysins.trillionpictures.com/sevendeadlysins.trillionpictures.com.conf:Le_RenewHook='' ~/.acme.sh/starsandstrife.com/starsandstrife.com.conf:Le_PostHook='' ~/.acme.sh/starsandstrife.com/starsandstrife.com.conf:Le_RenewHook='' ~/.acme.sh/trillionpictures.com/trillionpictures.com.conf:Le_PostHook='' ~/.acme.sh/trillionpictures.com/trillionpictures.com.conf:Le_RenewHook='' ~/.acme.sh/www.trillionpictures.com/www.trillionpictures.com.conf.removed:Le_PostHook='' ~/.acme.sh/www.trillionpictures.com/www.trillionpictures.com.conf.removed:Le_RenewHook='' ~/.acme.sh/runwithme.trillionpictures.com/runwithme.trillionpictures.com.conf:Le_PostHook='' ~/.acme.sh/runwithme.trillionpictures.com/runwithme.trillionpictures.com.conf:Le_RenewHook='' ~/.acme.sh/born2.run/born2.run.conf.removed:Le_PostHook='' ~/.acme.sh/born2.run/born2.run.conf.removed:Le_RenewHook='' ~/.acme.sh/born2.run/born2.run.conf:Le_PostHook='' ~/.acme.sh/born2.run/born2.run.conf:Le_RenewHook='' ~/.acme.sh/acme.sh: _savedomainconf "Le_PostHook" "$_post_hook" "base64" ~/.acme.sh/acme.sh: _savedomainconf "Le_RenewHook" "$_renew_hook" "base64" ~/.acme.sh/acme.sh: Le_PostHook="$(_readdomainconf Le_PostHook)" ~/.acme.sh/acme.sh: Le_RenewHook="$(_readdomainconf Le_RenewHook)" ~/.acme.sh/acme.sh: issue "$Le_Webroot" "$Le_Domain" "$Le_Alt" "$Le_Keylength" "$Le_RealCertPath" "$Le_RealKeyPath" "$Le_RealCACertPath" "$Le_ReloadCmd" "$Le_RealFullChainPath" "$Le_PreHook" "$Le_PostHook" "$Le_RenewHook" "$Le_LocalAddress" "$Le_ChallengeAlias"

They are all =ā€™ā€™ EMPTY :frowning:
I did not expect that.

Where/how did you modify the cron job with the added ā€œ--deploy-hook cpanelā€?

1 Like

I didnā€™t modify the cron job. I didnā€™t dare touch that thing.

Want me to update it?

I don't think you can add that parameter in there anyway.
Perhaps somehow manually editing each conf file to show:
Le_RenewHook='cpanel'

But that is also a guess.
Maybe you can test one domain file out with that.

1 Like

Iā€™m perfectly happy to delete that cron job and run this manually every 3 months.
That is hardly a burden.

That is the ā€œdefaultā€ job; it only tries to renews all certs once a day(as issued) and possibly tries to update itself.
But we know it isnā€™t updating itself v2.8.6 is not the latest.

So I thought once you updated HOW you got a cert (with the --deploy-hook added) it would ā€œrememberā€ that (for that cert).
But it didnā€™t store that parameter with that domain ā€¦ anywhere we could find.

So future renewals will also fail to integrate with cPanelā€¦

1 Like

But presumably we can keep updating (manually) with --deploy-hook cpanel each time, and thatā€™ll work, correct?

Tedious but yeah
unless there is a ā€œglobalā€ command for that
Like:
~/.acme.sh/acme.sh --renew-all --deploy-hook cpanel
[another guess]

You will have to script one line for each cert in your job:
/.acme.sh/acme.sh --renew -d one --deploy-hook cpanel
/.acme.sh/acme.sh --renew -d two --deploy-hook cpanel
ā€¦
/.acme.sh/acme.sh --renew -d twenty --deploy-hook cpanel

[actually not one per domain - one per cert]

1 Like

Gah!!! So be it. Every 3 months I inch ever closer to this being easy and authoritatively comprehensible, while the process develops new wrinkles I never seem to catch up to.

1 Like