In this tutorial, I will show you how to install FreeIPA(an open-source
integrated Identity and Authentication solution for Linux and Unix based
systems) on CentOS 8.
What is FreeIPA?
FreeIPA (FreeIPA) is an open-source integrated Identity and Authentication solution for Linux
and Unix based systems. It provides centralized authentication by storing data
about user, groups, hosts, and other objects. It provides an integrated
identity management service for Linux, Mac, and Windows.
FreeIPA is based on the 389 Directory Server, Kerberos, SSSD, Dogtag, NTP, and
DNS.
It provides a web-based interface to manage Linux users and clients in your
realm from the central location.
The setup and configuration is a 2 step process, with a minimum of 2
machines...
- a machine for installing FreeIPA server components
- a machine for installing FreeIPA client components to connect and authenticate with the server
Step 1 : Install FreeIPA server
-
Edit the '/etc/hosts/' file and and add your server ip and hostname.
- 192.168.1.107 services.localhost.com services
-
By default, FreeIPA package is not available in the CentOS standard
repository.
-
Enable it with the below command
- dnf module enable idm:DL1 Sync the repository with the below command
- dnf distro-sync Install the FreeIPA server
- dnf install ipa-server ipa-server-dns –y
-
ipa-server-install
To accept the default shown in brackets, press the Enter key.Do you want to configure integrated DNS (BIND)? [no]:Server host name [freeipa.mydomain10.com]:services.localhost.comPlease confirm the domain name [mydomain10.com]:services.localhost.comThe kerberos protocol requires a Realm name to be defined.This is typically the domain name converted to uppercase.Please provide a realm name [MYDOMAIN10.COM]:Certain directory server operations require an administrative user.This user is referred to as the Directory Manager and has full accessto the Directory for system management tasks and will be added to theinstance of directory server created for IPA.The password must be at least 8 characters long.Directory Manager password:Password (confirm): <specify-pwd-here>The IPA server requires an administrative user, named 'admin'.This user is a regular system account used for IPA server administration.IPA admin password:Password (confirm): <specify-pwd-here>Do you want to configure chrony with NTP server or pool address? [no]:Continue to configure the system with these values? [no]: yesThe ipa-server-install command was successful
-
Configure firewall rules
-
firewall-cmd
--add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps}
--permanent
firewall-cmd –reload
-
firewall-cmd
--add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps}
--permanent
-
Open a browser and try to access https://services.localhost.com, you
should be redirected to a login page (specify user as admin and pwd )
Step 2 : Install FreeIPA client
-
Edit the '/etc/hosts/' file and and add your server ip and
hostname.Add the server and client ip's
- 192.168.1.107 services.localhost.com services
- 192.168.1.103 ol83.localhost.com ol83
-
Install the FreeIPA client
- yum install ipa-client
-
ipa-client-install--mkhomedir
Provide the domain name of your IPA server (ex: example.com): services.localhost.com
Provide your IPA server name (ex: ipa.example.com): services.localhost.com
Proceed with fixed values and no DNS discovery? [no]: yes
Do you want to configure chrony with NTP server or pool address? [no]:
Client hostname: ol83.localhost.com
Realm: LOCALHOST.COM
DNS Domain: services.localhost.com
IPA Server: services.localhost.com
BaseDN: dc=localhost,dc=com
Continue to configure the system with these values? [no]: yes
Synchronizing time
No SRV records of NTP servers found and no NTP server or pool address was provided.
Using default chrony configuration.
Attempting to sync time with chronyc.
Time synchronization was successful.
User authorized to enroll computers:admin
Password for admin@LOCALHOST.COM:<admin-pwd-goes-here>
Successfully retrieved CA cert
…
The ipa-client-install command was successful -
Open a browser and try to access https://services.localhost.com, click
on 'Hosts' tab to see the host get added...


