ipa-server-install(1)

๐Ÿ“ฆ
version 4.13.4 ยท 2 versions
, in centos-stream 10, centos-stream 9, fedora 43, fedora 44

๐Ÿ’– ipa-server-install โ€” IPA Manual Pages ๐Ÿ’–

okay bestie, gather round, because this is the big one. this is the manual page for ipa-server-install, from the IPA Manual Pages, and it's giving main character energy fr fr. buckle up. ๐ŸŽ€


โœจ NAME โœจ

ipa-server-install โ€” Configure an IPA server. yes that's it. that's the whole vibe. you're setting up an IPA server. slay.


โœจ SYNOPSIS โœจ

ipa-server-install [OPTION]...

literally just the command plus whatever options your heart desires. ๐Ÿ’…


โœจ DESCRIPTION โœจ

so what does this thing actually do? it configures all the services an IPA server needs. that means:

  • setting up a Kerberos Key Distribution Center (KDC) and a Kadmin daemon with an LDAP back-end ๐ŸŽซ
  • configuring Apache ๐ŸŒ
  • configuring NTP โฐ
  • optionally configuring and starting an LDAP-backed DNS server ๐ŸŒˆ
  • and by default, a dogtag-based CA gets configured to issue server certificates ๐Ÿ”

it's a whole glow-up for your server. one command, many services, no cap.


โœจ OPTIONS โœจ

๐ŸŒธ BASIC OPTIONS ๐ŸŒธ

  • -r REALM_NAME, --realm=REALM_NAME โ€” the Kerberos realm name for your new IPA deployment.
it is strongly recommended to use an upper-cased version of the primary DNS domain name of your IPA deployment. and listen, you will not be able to establish trust with Active Directory unless the realm name is the upper-cased domain name. like, that's just the rules. also: the realm name cannot be changed after the installation. so choose wisely, bestie. ๐Ÿ’€
  • -n DOMAIN_NAME, --domain=DOMAIN_NAME โ€” the primary DNS domain of the IPA deployment, e.g. example.com. this DNS domain should contain the SRV records generated by the IPA server installer. and important: the specified DNS domain must not contain DNS records of any other LDAP or Kerberos based management system (like Active Directory or MIT Kerberos). not sharing, sorry.
strongly recommended: use a lower-cased name of the IPA Kerberos realm name. the primary DNS domain name cannot be changed after the installation. periodt. ๐Ÿ’…
  • -p DM_PASSWORD, --ds-password=DM_PASSWORD โ€” the password to be used by the Directory Server for the Directory Manager user. ๐Ÿ”‘
  • -a ADMIN_PASSWORD, --admin-password=ADMIN_PASSWORD โ€” the password for the IPA admin user. ๐Ÿ‘‘
  • --mkhomedir โ€” create home directories for users on their first login. cozy. ๐Ÿ 
  • --hostname=HOST_NAME โ€” the fully-qualified DNS name of this server. ๐Ÿฆ‹
  • --ip-address=IP_ADDRESS โ€” the IP address of this server. if this address does not match the address the host resolves to and --setup-dns is not selected, the installation will fail. ๐Ÿ˜ญ if the server hostname is not resolvable, a record for the hostname and IP_ADDRESS is added to /etc/hosts. this option can be used multiple times to specify more IP addresses of the server (e.g. multihomed and/or dualstacked server). so extra, so iconic.
Configure chronyd to use this NTP server. This option can be used multiple times and it is used to specify exactly one time server.
  • --ntp-server=NTP_SERVER โ€” configure chronyd to use this NTP server. this option can be used multiple times and it is used to specify exactly one time server. โฐ
  • --ntp-pool=NTP_SERVER_POOL โ€” configure chronyd to use this NTP server pool. this option is meant to be a pool of multiple servers resolved as one host name. the pool's servers may vary but the pool address will still be the same, and chrony will choose only one server from this pool. it's giving โœจdelegationโœจ.
  • -N, --no-ntp โ€” do not configure the NTP client (chronyd). bye bye time sync ๐Ÿ‘‹
  • --idstart=IDSTART โ€” the starting user and group id number (default random). ๐ŸŽฒ
  • --idmax=IDMAX โ€” the maximum user and group id number (default: idstart+199999). if set to zero, the default value will be used. ๐Ÿงฎ
  • --no-hbac-allow โ€” don't install the allow_all HBAC rule. that rule lets any user from any host access any service on any other host. it is expected that users will remove this rule before moving to production. so like, it's a starter rule, not a forever rule. ๐Ÿ™ˆ
  • --ignore-topology-disconnect โ€” ignore errors reported when IPA server uninstall would lead to a disconnected topology. ๐Ÿ•ธ๏ธ
  • --ignore-last-of-role โ€” ignore errors reported when IPA server uninstall would lead to removal of the last CA/DNS server or DNSSec master. โš ๏ธ
  • --no-ui-redirect โ€” do not automatically redirect to the Web UI. ๐Ÿšซ
  • --ssh-trust-dns โ€” configure OpenSSH client to trust DNS SSHFP records. ๐Ÿ”
  • --no-ssh โ€” do not configure the OpenSSH client. ๐Ÿ™…
  • --no-sshd โ€” do not configure the OpenSSH server. ๐Ÿ™…
  • --subid โ€” configure SSSD as data source for subid. ๐Ÿ†”
  • --skip-mem-check โ€” skip checking for minimum required memory. living dangerously, love that for you ๐Ÿ’€
  • -d, --debug โ€” enable debug logging when more verbose output is needed. ๐Ÿ›
  • -U, --unattended โ€” an unattended installation that will never prompt for user input. perfect for when you're not there. set it and forget it. ๐Ÿค–
  • --dirsrv-config-file โ€” the path to the LDIF file that will be used to modify configuration of dse.ldif during installation of the directory server instance. ๐Ÿ“„

๐ŸŽ€ CERTIFICATE SYSTEM OPTIONS ๐ŸŽ€

  • --external-ca โ€” generate a CSR for the IPA CA certificate to be signed by an external CA. handing off the signing, very collaborative of you ๐Ÿซถ
  • --external-ca-type=TYPE โ€” type of the external CA. possible values are "generic" and "ms-cs". default value is "generic". use "ms-cs" to include the template name required by Microsoft Certificate Services (MS CS) in the generated CSR (see --external-ca-profile for full details). ๐Ÿข
  • --external-ca-profile=PROFILE_SPEC โ€” specify the certificate profile or template to use at the external CA. when --external-ca-type is "ms-cs" the following specifiers may be used:
    • <oid>:<majorVersion>[:<minorVersion>] โ€” specify a certificate template by OID and major version, optionally also specifying minor version.
    • <name> โ€” specify a certificate template by name. the name cannot contain any : characters and cannot be an OID (otherwise the OID-based template specifier syntax takes precedence).
    • default โ€” if no template is specified, the template name "SubCA" is used. ๐ŸŒธ
  • --external-cert-file=FILE โ€” file containing the IPA CA certificate and the external CA certificate chain. the file is accepted in PEM and DER certificate and PKCS#7 certificate chain formats. this option may be used multiple times. ๐Ÿ“œ
  • --random-serial-numbers โ€” enable Random Serial Numbers (RSN) and certificate pruning. this option is enabled by default if the system is installed with a 389-ds version that supports LMDB, or if another CA in the topology is configured with Random Serial Numbers. this option remains present to avoid issues with automation. in mixed environments where existing CA servers are configured with sequential numbers, it is recommended to replace the sequential servers as soon as reasonably possible. ๐Ÿ”ข
  • --no-pkinit โ€” disables pkinit setup steps. ๐Ÿ™…
  • --dirsrv-cert-file=FILE โ€” file containing the Directory Server SSL certificate and private key. the files are accepted in PEM and DER certificate, PKCS#7 certificate chain, PKCS#8 and raw private key and PKCS#12 formats. this option may be used multiple times. ๐Ÿ”
  • --http-cert-file=FILE โ€” file containing the Apache Server SSL certificate and private key. the files are accepted in PEM and DER certificate, PKCS#7 certificate chain, PKCS#8 and raw private key and PKCS#12 formats. this option may be used multiple times. ๐ŸŒ
  • --pkinit-cert-file=FILE โ€” file containing the Kerberos KDC SSL certificate and private key. the files are accepted in PEM and DER certificate, PKCS#7 certificate chain, PKCS#8 and raw private key and PKCS#12 formats. this option may be used multiple times. ๐ŸŽซ
  • --dirsrv-pin=PIN โ€” the password to unlock the Directory Server private key. ๐Ÿ”‘
  • --http-pin=PIN โ€” the password to unlock the Apache Server private key. ๐Ÿ”‘
  • --pkinit-pin=PIN โ€” the password to unlock the Kerberos KDC private key. ๐Ÿ”‘
  • --dirsrv-cert-name=NAME โ€” name of the Directory Server SSL certificate to install. ๐Ÿท๏ธ
  • --http-cert-name=NAME โ€” name of the Apache Server SSL certificate to install. ๐Ÿท๏ธ
  • --pkinit-cert-name=NAME โ€” name of the Kerberos KDC SSL certificate to install. ๐Ÿท๏ธ
  • --ca-cert-file=FILE โ€” file containing the CA certificate of the CA which issued the Directory Server, Apache Server and Kerberos KDC certificates. the file is accepted in PEM and DER certificate and PKCS#7 certificate chain formats. this option may be used multiple times. use this option if the CA certificate is not present in the certificate files. ๐Ÿ’œ
  • --pki-config-override=FILE โ€” file containing overrides for CA and KRA installation. ๐Ÿ› ๏ธ
  • --ca-subject=SUBJECT โ€” the CA certificate subject DN (default CN=Certificate Authority,O=REALM.NAME). RDNs are in LDAP order (most specific RDN first). ๐Ÿ“›
  • --subject-base=SUBJECT โ€” the subject base for certificates issued by IPA (default O=REALM.NAME). RDNs are in LDAP order (most specific RDN first). ๐Ÿ“›
  • --ca-signing-algorithm=ALGORITHM โ€” signing algorithm of the IPA CA certificate. possible values are SHA1withRSA, SHA256withRSA, SHA384withRSA, SHA512withRSA. default value is SHA256withRSA. use this option with --external-ca if the external CA does not support the default signing algorithm. โœ๏ธ
  • --key-type-size=TYPE:SIZE โ€” specifies the key type and size for the HTTP, LDAP, PKINIT and RA certificates (if configured with a CA). the format is type:size where type is the type of key and size is the number representing the number of bits. currently type only supports RSA keys. the sizes will depend on what the crypto engines and CA profiles support. typical RSA sizes are 2048, 3072, 4096, 7168 and 8192. the default is rsa:2048. ๐Ÿ—๏ธ

๐Ÿฆ‹ HSM OPTIONS ๐Ÿฆ‹

  • --token-name=TOKEN_NAME โ€” the PKCS#11 token name if using an HSM to store and generate private keys. ๐Ÿชช
  • --token-library-path=TOKEN_LIBRARY_PATH โ€” the full path to the PKCS#11 shared library needed to access the HSM device. ๐Ÿ“š
  • --token-password=TOKEN_PASSWORD โ€” the PKCS#11 token password for the HSM. ๐Ÿ”‘
  • --token-password-file=TOKEN_PASSWORD_FILE โ€” the full path to a file containing the PKCS#11 token password. ๐Ÿ“„

๐Ÿ’œ SECRET MANAGEMENT OPTIONS ๐Ÿ’œ

  • --setup-kra โ€” install and configure a KRA on this server. ๐Ÿคซ

๐ŸŒˆ DNS OPTIONS ๐ŸŒˆ

okay so IPA provides an integrated DNS server which can be used to simplify IPA deployment. if you decide to use it, IPA will automatically maintain SRV and other service records when you change your topology. auto-maintenance? we love to see it. โœจ

the DNS component in IPA is optional, and you may choose to manage all your DNS records manually on another third party DNS server. that's valid too, bestie. ๐Ÿซถ

IPA DNS is not a general-purpose DNS server. if you need advanced features like DNS views, do not deploy IPA DNS. it's giving specialist, not generalist. ๐Ÿ’…
  • --setup-dns โ€” bestie, this sets up an integrated DNS server, creates the DNS zone you specified with --domain, and fills it with all the service records necessary for IPA deployment. In cases where the IPA server name does not belong to the primary DNS domain and is not resolvable using DNS, it also creates a DNS zone containing the IPA server name. ๐Ÿ’…
This option requires that you either specify at least one DNS forwarder through --forwarder or use --no-forwarders. No forwarder, no setup.

Also, you can set up DNS at any time after the initial IPA server install by running ipa-dns-install (see ipa-dns-install(1)). But heads up: IPA DNS cannot be uninstalled. It's giving permanent. ๐Ÿ˜ญ

  • --forwarder=IP_ADDRESS โ€” adds a DNS forwarder to the DNS configuration. You can use this option multiple times to specify more forwarders, but at least one must be provided, unless the --no-forwarders option is specified. Stack 'em up. โœจ
  • --no-forwarders โ€” do not add any DNS forwarders. Root DNS servers will be used instead. Periodt. ๐Ÿ’…
  • --auto-forwarders โ€” adds DNS forwarders configured in /etc/resolv.conf to the list of forwarders used by IPA DNS. It's literally reading your resolv.conf. ๐Ÿฆ‹
  • --forward-policy=first|only โ€” DNS forwarding policy for global forwarders specified using other options. Defaults to first if no IP address belonging to a private or reserved ranges is detected on local interfaces (RFC 6303). Defaults to only if a private IP address is detected. So it's like, first is the fallback vibe, only is the private-IP vibe. ๐Ÿ”ฅ
  • --reverse-zone=REVERSE_ZONE โ€” the reverse DNS zone to use. This option can be used multiple times to specify multiple reverse zones. More zones, more fun. ๐ŸŽ€
  • --no-reverse โ€” do not create reverse DNS zone. Simple. ๐Ÿ’€
  • --auto-reverse โ€” try to resolve reverse records and reverse zones for server IP addresses. If neither is resolvable, creates the reverse zones. It's giving 'I'll handle it'. ๐Ÿงš
  • --zonemgr โ€” the e-mail address of the DNS zone manager. Defaults to hostmaster@DOMAIN. So that's the default contact. ๐Ÿ‘‘
  • --no-host-dns โ€” do not use DNS for hostname lookup during installation. Skip the DNS detective work. ๐Ÿ™ˆ
  • --no-dns-sshfp โ€” do not automatically create DNS SSHFP records. No auto SSHFP for you. ๐Ÿ’…
  • --no-dnssec-validation โ€” disable DNSSEC validation on this server. Turning it off. ๐Ÿ’€
  • --allow-zone-overlap โ€” allow creation of (reverse) zone even if the zone is already resolvable. But bestie, using this option is discouraged as it results in later problems with domain name resolution. So maybe don't? ๐Ÿ˜ญ
  • --dns-over-tls โ€” configure DNS over TLS. Secure vibes only. ๐Ÿ”ฅ
  • --dot-forwarder=IP_ADDRESS#HOSTNAME โ€” add a DNS-over-TLS-enabled forwarder in the format of ip#hostname, e.g.: 1.2.3.4#dns.example.com. This option can be used multiple times. Encrypted forwarding, we love to see it. โœจ
  • --dns-over-tls-cert=FILE โ€” certificate to use for DNS over TLS. If empty, a new certificate will be requested from IPA CA. So if you leave it blank, IPA CA hooks you up. ๐ŸŽ€
  • --dns-over-tls-key=FILE โ€” key for the certificate specified in --dns-over-tls-key. (Yes, it says --dns-over-tls-key in the description, we're keeping it exactly as the original because rules are rules.) ๐Ÿ”‘
  • --dns-policy=relaxed|enforced โ€” encrypted DNS policy. If enforced, DNS communications will only be allowed through the configured encrypted DNS methods. If relaxed, unencrypted DNS queries will be allowed. So strict mode vs chill mode. ๐Ÿ’…

๐Ÿ’– SID GENERATION OPTIONS ๐Ÿ’–

  • --netbios-name=NETBIOS_NAME โ€” the NetBIOS name for the IPA domain. If not provided, this is determined based on the leading component of the DNS domain name. Running ipa-adtrust-install for a second time with a different NetBIOS name will change the name. Please note that changing the NetBIOS name might break existing trust relationships to other domains. So like, be careful, it's giving risky. ๐Ÿ˜ญ
  • --rid-base=RID_BASE โ€” first RID value of the local domain. The first POSIX ID of the local domain will be assigned to this RID, the second to RID+1 etc. See the online help of the idrange CLI for details. Numbers go brrr. ๐Ÿ”ข
  • --secondary-rid-base=SECONDARY_RID_BASE โ€” start value of the secondary RID range, which is only used in the case a user and a group share numerically the same POSIX ID. See the online help of the idrange CLI for details. Edge case but make it count. ๐Ÿ’œ

๐ŸŒˆ AD TRUST OPTIONS ๐ŸŒˆ

  • --setup-adtrust โ€” configure AD Trust capability. Trust issues? No, trust setup. โœจ
  • --enable-compat โ€” enables support for trusted domains users for old clients through Schema Compatibility plugin. SSSD supports trusted domains natively starting with version 1.9. For platforms that lack SSSD or run older SSSD version one needs to use this option. When enabled, slapi-nis package needs to be installed and schema-compat-plugin will be configured to provide lookup of users and groups from trusted domains via SSSD on IPA server. These users and groups will be available under cn=users,cn=compat,$SUFFIX and cn=groups,cn=compat,$SUFFIX trees. SSSD will normalize names of users and groups to lower case.

In addition to providing these users and groups through the compat tree, this option enables authentication over LDAP for trusted domain users with DN under compat tree, i.e. using bind DN uid=administrator@ad.domain,cn=users,cn=compat,$SUFFIX.

LDAP authentication performed by the compat tree is done via PAM 'system-auth' service. This service exists by default on Linux systems and is provided by pam package as /etc/pam.d/system-auth. If your IPA install does not have default HBAC rule 'allow_all' enabled, then make sure to define in IPA special service called 'system-auth' and create an HBAC rule to allow access to anyone to this rule on IPA masters.

As 'system-auth' PAM service is not used directly by any other application, it is safe to use it for trusted domain users via compatibility path.

๐Ÿ’€ UNINSTALL OPTIONS ๐Ÿ’€

  • --uninstall โ€” uninstall an existing IPA installation. Bye bye. ๐Ÿ‘‹
  • -U, --unattended โ€” an unattended uninstallation that will never prompt for user input. It just does the thing. No questions asked. ๐Ÿ’…

๐Ÿ’€ DEPRECATED OPTIONS ๐Ÿ’€

  • -P MASTER_PASSWORD, --master-password=MASTER_PASSWORD โ€” the kerberos master password (normally autogenerated). So like, deprecated but still here. ๐Ÿ˜ญ

โœจ EXIT STATUS โœจ

  • 0 if the (un)installation was successful
  • 1 if an error occurred

๐ŸŒธ SEE ALSO ๐ŸŒธ


And that's the tea, bestie. This iconic manual page is from the IPA source, version/date Feb 17 2017, for ipa-server-install(1). Stay slay. ๐Ÿ’–

๐Ÿ“ฆ where this page comes from