blob: 71bb3a90e22d64616faef51dfebb620eef5d9e01 [file]
.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
.\" DO NOT EDIT! Generated from XML source.
.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "A2MD" 1 "2026-09-22" "Apache HTTP Server" "a2md"
.SH NAME
a2md \- Show and manipulate Apache Managed Domains
.SH "SYNOPSIS"
.PP
\fB\fBa2md\fR [\fBoptions\fR] {\fBacme | add | update | drive | list | store\fR} [\fBcmd_options\fR] [\fBargs\fR]\fR
.SH "SUMMARY"
.PP
The \fBa2md\fR utility can be used to configure and update managed domains with the mod_md module for Apache HTTP Server\&. Managed Domains are virtual hosts which automatically obtain and renew TLS certificates from an ACME server\&.
.SH "OPTIONS"
.TP
\fB{-a|--acme} \fIarg\fR\fR
The url of the ACME server directory
.TP
\fB{-d|--dir} \fIarg\fR\fR
Directory for file data
.TP
\fB{-h|--help}\fR
Print usage information
.TP
\fB{-j|--json}\fR
Produce JSON output
.TP
\fB{-p|--proxy} \fIarg\fR\fR
Use the HTTP proxy url
.TP
\fB{-q|--quiet}\fR
Produce less output
.TP
\fB{-t|--terms} \fIarg\fR\fR
You agree to the terms of services (url)
.TP
\fB{-v|--verbose}\fR
Produce more output
.TP
\fB{-V|--version}\fR
Print version
.SH "ACME SERVER COMMANDS"
.PP
\fB\fBa2md acme\fR {newreg | delreg | agree | authz | validate} [opts] [args]\fR
.PP
Play with the ACME server\&. For most of the commands you need to specify the url of the ACME server directory\&.
.TP
\fB\fBnewreg\fR \fIcontact-uri\fR [\fIcontact-uri\fR \&.\&.\&.]\fR
Register a new account at ACME server with given \fIcontact-uri\fR (email)
.TP
\fB\fBdelreg\fR \fIaccount\fR\fR
Delete an existing ACME \fIaccount\fR
.TP
\fB\fBagree\fR \fIaccount\fR\fR
Agree to ACME terms of service
.TP
\fB\fBauthz\fR \fIaccount\fR \fIdomain\fR\fR
Request a new authorization for an \fIaccount\fR and \fIdomain\fR
.TP
\fB\fBvalidate\fR \fIaccount\fR\fR
Validate \fIaccount\fR existence
.SH "MANAGED DOMAIN ADDITION"
.PP
\fB\fBa2md add\fR [opts] domain [domain \&.\&.\&.]\fR
.PP
Adds a new managed domain\&. Must not overlap with existing domains\&.
.SH "UPDATING MANAGED DOMAIN"
.PP
\fB\fBa2md update\fR \fIname\fR [opts] {domains | ca | account | contacts | agreement}\fR
.PP
Update a managed domain's properties, where \fIname\fR belongs to managed domain which will be updated\&.
.PP
URL of ACME server can be also updated if \fB-a|--acme\fR option is present\&.
.TP
\fB\fBdomains\fR \fIdname\fR [\fIdname\fR \&.\&.\&.]\fR
Update domain where \fIdname\fR is domain name which will be updated\&.
.TP
\fB\fBca\fR \fIurl\fR [\fIproto\fR]\fR
The \fIURL\fR where the CA offers its service\&. Currently only the ACME (LetsEncrypt) \fIproto\fR is implemented\&.
.TP
\fB\fBaccount\fR\fR
Account name on corresponding ACME server\&.
.TP
\fB\fBcontacts\fR \fIemail\fR [\fIemail\fR \&.\&.\&.]\fR
Contact address which will be used by ACME server to inform about renewals or changed terms of service\&.
.TP
\fB\fBagreement\fR \fIURI\fR\fR
URI pointing to terms of service of ACME server\&.
.SH "DRIVE MANAGED DOMAINS"
.PP
\fB\fBa2md drive\fR [\fImd \&.\&.\&.\fR] [\fIoptions \&.\&.\&.\fR]\fR
.PP
Drive all or the mentioned managed domains toward completeness
.TP
\fB{-c|--challenge} \fIarg\fR\fR
Which challenge type to use
.TP
\fB{-f|--force} \fIarg\fR\fR
Force driving the managed domain, even when it seems valid
.TP
\fB{-r|--reset} \fIarg\fR\fR
Reset any staging data for the managed domain
.SH "LIST MANAGED DOMAMINS"
.PP
\fB\fBa2md list\fR\fR
.PP
List all managed domamins
.SH "MANIPULATING MD STORE"
.PP
\fB\fBa2md store\fR {add | remove | list | update} [\fIopts\fR] [\fIargs\fR]\fR
.PP
Manipulate the MD store
.TP
\fB\fBadd\fR \fIdns\fR [\fIdns\fR \&.\&.\&.]\fR
Add a new managed domain dns with all the additional domain names
.TP
\fB\fBremove\fR [{-f | --force}] \fIname\fR [\fIname\fR \&.\&.\&.]\fR
Remove the managed domains \fIname\fR from the store\&. When \fB-f\fR or \fB--force\fR option is specified, force managed domain removal - be silent about missing domains
.TP
\fB\fBlist\fR\fR
List all managed domains in the store
.TP
\fB\fBupdate\fR \fIname\fR [\fIdomains\fR \fIdname\fR [\fIdname\fR \&.\&.\&.]]\fR
If \fIdomains\fR cmd is specified followed by one or more domains, MD store will be updated with those domains\&. The URL of the ACME server can be also updated if \fB-a\fR or \fB--acme\fR option is present\&.