From Fedora Project Wiki


Installation IPA server


  1. For testing purposes, a machine (or VM) with at least 1GB of RAM and 4 GB of free disk space for binaries, data and logs should be plenty to set up and run an IPA master.
  2. Make sure /etc/hosts is sane and your hostname does not appear in either the IPv4 or IPv6 localhost lines.
  3. If you have an existing AD server in your network, choose a different name for the IPA server realm name. Clients that use DNS autodiscovery to find the KDC to use may get confused and try to authenticate to the AD KDC. It is recommended that FreeIPA and AD serves different domains.

How to test


The ideal way to test this is with an isolated DNS install using IPA as the DNS server.

First, install the FreeIPA server package:

# dnf install freeipa-server

Make sure you have a real hostname set (and not localhost.localdomain):

# hostname
With DNS

We recommend installing FreeIPA with integrated DNS service as it will make client autodiscovery much easier. You will just need to make sure that the domain managed by FreeIPA is properly delegated to the FreeIPA server or that your VMs are configured to use FreeIPA server directly (by configuring your DHCP server or manually updating /etc/resolv.conf).

# dnf install bind bind-dyndb-ldap
# ipa-server-install --setup-dns

Or with all options on the command-line:

# ipa-server-install -a Secret123 -p Secret123 --realm=EXAMPLE.COM --hostname --setup-dns --forwarder=<forwarder IP> -U

Substitute you existing DNS server's IP for <forwarder IP>, or pass --no-forwarders.

Without DNS

For a fully-interactive install run:

# ipa-server-install

You can optionally provide all options on the command-line:

# ipa-server-install -a Secret123 -p Secret123 --realm=EXAMPLE.COM --hostname -U

Create Test User

Create a user that we'll use to test logging into the Service Providers with. You can create more than one if you'd like.

Become the IPA administrator

# kinit admin

Add a user:

# ipa user-add --first=Timmy --last=Test --street='123 Main St' --city=Anytown --password ttest

You will be prompted twice for a password.

Become that new user and reset the password (all administratively set passwords in IPA need to be reset by the user):

# kinit ttest

Verify the basics

Ideally each of these installation steps will conclude with no errors and a running set of IPA services.

To briefly test the installation:

# kinit admin  # (the password is the admin password, or the password from -a)

Show our own user entry:

# ipa user-show admin

And make sure nss can see us too:

# id admin
# getent passwd admin

Verify DNS

Verify these only if you installed with a DNS server.

# dig

Look for a line like this in the output:      86400   IN      A
# host has address

Configure the Firewall

We aren't really testing IPA here so for simplicity sake let's just disable the firewall altogether. If you were deploying a real system you would want to individually open the necessary ports as reported at the end of the IPA server installation.

# systemctl stop firewalld.service
# systemctl disable firewalld.service
# iptables -F


Clean up credentials, just to be sure:

# kdestroy -A

Expected Results

All the test steps should end with the specified results.