| .\" 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-10-24" "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 DOMAINS" | |
| .PP | |
| \fB\fBa2md list\fR\fR | |
| .PP | |
| List all managed domains | |
| .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\&. | |