How to Install Sentrifugo HRM on CentOS 7

Sentrifugo HRM is a free and open source Human Resource Management application. It is well suited for small and medium-size organizations. It includes an employee self-service portal feature. With the self-service portal, employees can see policy documents, such as employee handbooks. It comes with a performance appraisal module that helps to track the performance of the employee overtime.

Sentrifugo makes HR process smoother and easier, as it includes numerous features like

  • Time Management
  • Employee self service
  • Performance Appraisal
  • Human Resource
  • Background Check
  • Leave Management
  • Policy Documents
  • Analytics
  • Dashboard Customization
  • Widgets & Shortcuts
  • Applicant Tracking
  • Employee Onboarding
  • Recruitment Management
  • Expense Management
  • Asset Management
  • Disciplinary Management

Pre-requisites

  • Apache - Web Server
  • PHP
  • PHP Extensions
  • MariaDB Database

Update System

sudo yum update

Install Basic Packages

sudo yum install vim git wget unzip

Change SELinux mode to Permissive

Edit the /etc/selinux/config file as follows and reboot the system

sudo vim /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.

SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.

SELINUXTYPE=targeted

Install PHP

For installing PHP 7EPEL and Remi repository need to install and enable on CentOS 7 system with the below commands.

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Install yum-utils, it is a collection of tools and programs for managing yum repositories, installing debug packages, source packages, extended information from repositories and administration. Use the yum-config-manager program to enable Remi repository as the default repository for installing PHP 7.3 version.

sudo yum install yum-utils
sudo yum-config-manager --enable remi-php73

Install PHP and the required extensions.

sudo yum install php php-gd php-mysqli php-mbstring php-curl php-cli php-pear php-devel php-openssl

Configure the timezone in php.ini file. Uncomment date.timezone = and enter the respective timezone.

sudo vim /etc/php.ini

date.timezone = Asia/Kolkata

Install Apache

sudo yum install httpd

Start and enable the Apache services at boot time.

sudo systemctl start httpd
sudo systemctl enable httpd

Install MariaDB Database

By default CentOS 7 base repository provides MariaDB 5.5 version, which will work for osTicket application. But in this tutorial, we will install the latest version of MariaDB 10.4

Create repo for MariaDB 10.4

sudo vim /etc/yum.repos.d/MariaDB.repo

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Install MariaDB and its dependencies

sudo yum install MariaDB-server

Start and enable the MariaDB Server services at boot time.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Configure MariaDB

sudo mysql_secure_installation

Create Database and user account for Sentrifugo

sudo mysql -u root -p

create database sentrifugodb character set UTF8 collate utf8_general_ci;
create user 'sentrifugouser'@'localhost' identified BY 'Linuxyogi@123';
grant all privileges on sentrifugodb.* to sentrifugouser@localhost;
flush privileges;

Install Sentrifugo

Create a new document root directory called "sentrifugo" and download the latest release and extract the files.

sudo mkdir -p /var/www/html/sentrifugo

cd /var/www/html/

sudo wget http://www.sentrifugo.com/home/downloadfile?file_name=Sentrifugo.zip -O Sentrifugo.zip

sudo unzip Sentrifugo.zip
sudo mv Sentrifugo_3.2/* sentrifugo/
sudo rm -rf Sentrifugo.zip Sentrifugo_3.2

Change the ownership of support directory.

sudo chown -R apache:apache sentrifugo

Allow http and https services from Firewall for Sentrifugo web installer and Dashboard access.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

Temporarily disable the SELinux mode with the following command. This change is valid for the current runtime session only.

sudo setenforce 0

Web Installation to Setup Sentrifugo

Open browser and navigate to http://<server-ip>/sentrifugo and make sure all prerequisites are marked green. Click Next.

example- http://10.0.0.10/sentrifugo

Fill the Sentrifugo Database name, Database username and Database password for Database connection. Click Confirm.

Configure Application settings. Set the Application name and email id and Click Confirm.

Configure Mail Server settings. In my case, i am using Office365 mail configuration for mail flow for the application. Click Confirm.

Make sure all prerequisites, database, application and mail server settings are completed for the final check. Click Finish.

After finish you will get the credentials to login into the Sentrifugo HRM dashboard with pdf download option. Open the link mentioned in the page to login into dashboard.

Login into the application for post installation configuration.