Skip to main content

certbot plugin to allow acme dns-01 authentication & installation of a name managed in cPanel.

Project description

certbot-dns-cpanel

Plugin to allow acme dns-01 authentication of a name managed in cPanel. Useful for automating and creating a Let's Encrypt certificate (wildcard or not) for a service with a name managed by cPanel, but installed on a server not managed in cPanel.

Named Arguments

Argument Description
--certbot-dns-cpanel:cpanel-credentials <file> cPanel credentials INI file (required)
--certbot-dns-cpanel:cpanel-propagation-seconds <seconds> The number of seconds to wait for DNS to propagate before asking the ACME server to verify the DNS record (Default: 30)

Install

pip install certbot-dns-cpanel

Credentials

Download the file credentials.ini.example and rename it to credentials.ini. Edit it to set your cPanel url, username and password.

# The url cPanel url
# include the scheme and the port number (usually 2083 for https)
certbot_dns_cpanel:cpanel_url = https://cpanel.example.com:2083

# The cPanel username
certbot_dns_cpanel:cpanel_username = user

# The cPanel password
certbot_dns_cpanel:cpanel_password = hunter2

Example

You can now run certbot using the plugin and feeding the credentials file. For example, to get a wildcard certificate for *.example.com and example.com:

certbot certonly \
--authenticator certbot-dns-cpanel:cpanel \
--certbot-dns-cpanel:cpanel-credentials /path/to/credentials.ini \
-d 'example.com' \
-d '*.example.com'

You can also specify a installer plugin with the --installer option:

certbot run \
--authenticator certbot-dns-cpanel:cpanel \
--installer apache \
--certbot-dns-cpanel:cpanel-credentials /path/to/credentials.ini \
-d 'example.com' \
-d '*.example.com'

You may also install the certificate onto a domain on your cPanel account:

certbot run \
--authenticator certbot-dns-cpanel:cpanel \
--installer certbot-dns-cpanel:cpanel \
--certbot-dns-cpanel:cpanel-credentials /path/to/credentials.ini \
-d 'example.com' \
-d '*.example.com'

Depending on your provider you may need to use the --certbot-dns-cpanel:cpanel-propagation-seconds option to extend the DNS propagation time.

Docker

A docker image badjware/certbot-dns-cpanel, based on certbot/certbot is provided for your convenience:

docker run -it \
-v /path/to/credentials.ini:/tmp/credentials.ini \
badjware/certbot-dns-cpanel \
certonly \
--authenticator certbot-dns-cpanel:cpanel \
--certbot-dns-cpanel:cpanel-credentials /tmp/credentials.ini \
-d 'example.com' \
-d '*.example.com'

Additional documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

certbot-dns-cpanel-0.4.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

certbot_dns_cpanel-0.4.0-py2.py3-none-any.whl (9.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file certbot-dns-cpanel-0.4.0.tar.gz.

File metadata

  • Download URL: certbot-dns-cpanel-0.4.0.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for certbot-dns-cpanel-0.4.0.tar.gz
Algorithm Hash digest
SHA256 81210bab9762bf1f52b9dc76d5269ab297edb6d17662d26dff5d6d78eb9565ef
MD5 9896bc523c5c8de1cb4d8c9d77ec4772
BLAKE2b-256 9098c304cc5281968ee50679bdc9329b326793817446ca8692c308b5f6d84272

See more details on using hashes here.

File details

Details for the file certbot_dns_cpanel-0.4.0-py2.py3-none-any.whl.

File metadata

  • Download URL: certbot_dns_cpanel-0.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for certbot_dns_cpanel-0.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9cc94654fa6684bc0d95800d725a926637e6d163875241071ca96e76fdaea42e
MD5 5db9e51d0fab9da4c0b9c06c9d76fe83
BLAKE2b-256 7ef3017b3387d370c03f09ac6c8cdbac737022b52c64f00f9f3222dd54af24fb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page