Installing the PingFederate service on Linux manually
Before you begin
-
Ensure you are signed on to your system with sufficient privileges to install and run an application.
-
Verify that you have installed the Java Runtime Environment (JRE) and that you have set the required environment variables correctly. For more information, see Installing Java in the PingFederate Server documentation.
About this task
If you have not installed PingFederate on Linux using the distribution .zip archive, you can install it manually. To install the PingFederate service on Linux manually:
Steps
-
Download the distribution
.ziparchive from the Ping Identity website. -
Extract the file into an installation directory,
<pf_install>. -
Create a new local user account for the PingFederate service, such as
pingfederate.The service account is referred to as <pf_user>.
-
Change the ownership of the PingFederate installation directory
<pf_install>and update the read-write permissions by running the following commands:chown -R <pf_user> <pf_install> chmod -R 775 <pf_install>
-
If the operating system supports systemd, install the PingFederate unit file:
-
Edit the
<pf_install>/pingfederate/sbin/linux/pingfederate.servicesystemd unit file.Replace the following variables with information from your environment:
- ${PF_VERSION}
-
The version of PingFederate.
- ${PF_USER}
-
The local user account for the PingFederate service.
- ${PF_HOME}
-
The
<pf_install>/pingfederatedirectory.For example, if<pf_install>is/opt/identity.fed, replace${PF_HOME}with/opt/identity.fed/pingfederate. - ${PF_JAVA_HOME}
-
The <JAVA_HOME> environment variable value (a directory).
-
Copy the
pingfederate.servicefile to the systemd unit files directory, for example,/etc/systemd/system.Depending on the operating system, the exact location might vary. Consult your system administrators as needed. The rest of the step assumes
/etc/systemd/systemis the systemd unit files directory. -
Run the following command to update the read-write permissions of the
pingfederate.servicesystemd unit file:chmod 664 /etc/systemd/system/pingfederate.service
-
Run the following commands to load the new system configuration changes and start the PingFederate service:
systemctl daemon-reload ;\ systemctl start pingfederate
-
Run the following commands to configure the PingFederate service to start automatically as the server boots:
systemctl enable pingfederate ;\ systemctl daemon-reload ;\ systemctl restart pingfederate
Result:
After setting up the PingFederate systemd unit file, you can run the following
systemctlcommand to manage the PingFederate service:systemctl start pingfederate systemctl stop pingfederate systemctl restart pingfederate systemctl status pingfederate
-
-
If the operating system supports SysV initialization, follow these steps to install the PingFederate script.
-
Edit the
<pf_install>/pingfederate/sbin/linux/pingfederatescript.Replace the following statements with information from your environment:
- PF_HOME=$PF_HOME
-
Replace $PF_HOME with the
<pf_install>/pingfederatedirectory.For example, if<pf_install>is/opt/identity.fed, replace $PF_HOME with/opt/identity.fed/pingfederate. - USER="pingfederate"
-
If the PingFederate service account is not
pingfederate, replace <pingfederate> with the local user account for the PingFederate service.For example, if <pf_user> ispingfed, replace <pingfederate> withpingfed.
Example:
- Example (truncated)
-
If
<pf_install>and <pf_user> are/opt/identity.fedandpingfederaterespectively, the required modifications are:... PF_HOME=/opt/identity.fed/pingfederate DIR="$PF_HOME/sbin" USER="pingfederate" ...
-
Copy the
pingfederatescript to the SysV initialization directory, for example,/etc/rc.d/init.d.The exact location might vary, depending on the operating system. Consult your system administrators, as needed. The rest of the step assumes
/etc/rc.d/init.dis the SysV initialization directory. -
Run the following command to update the read-write permissions of the
pingfederateSysV initialization script:chmod 755 /etc/rc.d/init.d/pingfederate
-
Configure the operating system to start the PingFederate service at various runlevels.
On an RHEL server, you can use the Service Configuration utility to do so.
Alternatively, the initialization directories associated with various runlevels can accept manual symbolic links of the
pingfederatescript by running theln -s <source> <target>command.Example:
You can create the following symbolic links on an RHEL server where runlevels 2 and 4 are not used:
ln -s /etc/rc.d/init.d/pingfederate /etc/rc3.d/S84pingfederate ln -s /etc/rc.d/init.d/pingfederate /etc/rc5.d/S84pingfederate ln -s /etc/rc.d/init.d/pingfederate /etc/rc0.d/K15pingfederate ln -s /etc/rc.d/init.d/pingfederate /etc/rc1.d/K15pingfederate ln -s /etc/rc.d/init.d/pingfederate /etc/rc6.d/K15pingfederate
Some operating systems might require a restart of the system to activate the new scripts. Consult your system administrators as needed.
-
Next steps
After setting up the PingFederate SysV initialization script, you can use the Service Configuration utility or run the following service commands to manage the PingFederate service:
service pingfederate start service pingfederate stop service pingfederate restart service pingfederate status