Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Automatic certificate renewal uses a cronjob to run the update command twice a day.

     1. Ensure the following command returns successfully. It will not make any changes. It will be used in the cronjob to update the certificate if it is in need of renewal.

Code Block
languagebash
titleTesting Automatic Update Command
user@ls:/var/www# sudo ./certbot-auto --config /etc/letsencrypt/configs/ls.datim4u.org.conf certonly --dry-run
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Cert not due for renewal, but simulating renewal for dry run
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for cert.test2.ohie.org
Using the webroot path /var/www/html for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Generating key (4096 bits): /etc/letsencrypt/keys/0009_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0009_csr-certbot.pem
IMPORTANT NOTES:
 - The dry run was successful.

...

  • Store this script under `/etc/certbot_renewal/update_OpenHIM.sh`. 
  • Ensure it is executable by running  `chmod +x /etc/certbot_renewal/update_OpenHIM.sh`.
Code Block
languagebash
titleupdate_OpenHIM.sh
In Progress

...

  • Store this script under `/etc/certbot_renewal/renewal_cronjob.sh.
  • Ensure it is executable by running  `chmod +x /etc/certbot_renewal/renewal_cronjob.sh`.
Code Block
languagebash
titlerenewal_cronjob.sh
#!/bin/bash
## navigate to directory with ./certbot-auto
cd /path/to/certbot-auto
## check if the certificate is expiring soon and renew it if needed
sudo ./certbot-auto --config /etc/letsencrypt/configs/ls.datim4u.org.conf certonly --renew-hook "/etc/certbot_renewal/update_OpenHIM.sh" -n 
		# -n ensures a noninteractive session 
		# --renew-hook command only fires if a certificate is renewed
exit 0

...

  • Run `crontab -e`.  Add the following contents:

...

languagebash
titlechrontab -e contents

can be installed on a DATIM box to ensure that the certificate on this machine is automatically renewed. The process consists of Two Parts:

  1. Install the package `datim-auto-cert-updater`
    1. Ensure the PPA is installed
    2. Configure the installation
  2. Test the installation
    1. Immediately check that all functionality works
    2. Return in a few days and check that the cronjob is called successfully

The instructions to do these steps are outlined at the following link: https://github.com/OHIEDATIM/datim-auto-cert-updater/blob/master/docs/testing/readme.md

...