How to Install and Configure Sentrifugo HRMS with Nginx on Ubuntu 18.04

0
1949

Today, we are going to learn about how to install and setup Sentrifugo HRMS on Ubuntu 18.04. Sentrifugo HRMS is a free and open-source human resource management system (HRMS) software that allows easy management of human resource process in small to mid-sized business across a variety of industries. It offers a number of adaptable features to meet the needs of both managers and employees including;

  • It comes bundled with appraisal modules that enables managers to access the performance of their employees.
  • Enables employees to access and manage individual information
  • Helps in making hiring decisions through its comprehensive job candidate background checks.
  • Provides leave management option for a department or an entire business unit.

Sentrifugo has got a handful of features which you can read more about here.

Installing Sentrifugo HRMS on Ubuntu 18.04

Pre-requisite

As a pre-requisite, Sentrifugo requires a LEMP/LAMP Stack. Therefore, before you can proceed with this guide, ensure that LEMP Stack in installed, at least in this guide since we are going to run Sentrifugo with Nginx web server.

Regarding PHP, ensure that the MySQL PDO as well as the GD libraries are installed. You can verify this as shown  below;

php7.2 -m | egrep 'pdo_|gd'
gd
pdo_mysql

If the modules listed above are not available, install them as shown below;

sudo apt install php7.2-{mysql,gd}

Create a Database for Sentrifugo HRMS

Create a database that can be used to store Sentrifugo application data.

sudo mysql -u root -p
create database sentrifugo;

After that, you need to create a database user account for exclusively management of Sentrifugo. Be sure to grant this user all privileges on the Sentrifugo database;

grant all privileges on sentrifugo.* to [email protected] identified by "PASSWORD";

Flush the database privileges to reload the database grant tables and exit the database;

flush privileges;
quit

Download Sentrifugo application

Once your server has met the above per-requisites, go ahead and download the Sentrifugo application from Sentrifugo download page to your web root directory.

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

After downloading it, unzip it to your web root directory as shown below.

unzip /tmp/sentrifugo.zip -d /var/www/html/

This will extract Sentrifugo application to Sentrifugo_3.2. Move this directory to sentrifugo and set the proper permissions for the application.

sudo mv /var/www/html/Sentrifugo_3.2/ /var/www/html/sentrifugo
sudo chown -R www-data.www-data /var/www/html/sentrifugo
sudo chmod -R 755 /var/www/html/sentrifugo

Configure Nginx

After you have installed Sentrifugo and set the proper permissions, create Nginx server block for Sentrifugo application as shown below;

sudo vim /etc/nginx/sites-available/sentrifugo
# Server block configuration
#
server {
        listen 80;
        #
        # Define the web root directory;
        root /var/www/html/sentrifugo;
        # Add index.php to the list
        index index.php index.html index.htm;
        server_name hr.example.com;
        # Add nginx Rewrite Rules for Sentrifugo
        location / {
                try_files $uri $uri/ /index.php?$args;
        }
        # pass PHP scripts to FastCGI server
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

}

Enable Sentrifugo server block and restart Nginx

sudo ln -s /etc/nginx/sites-available/sentrifugo /etc/nginx/sites-enabled/

Before you can restart Nginx, verify that the configuration has no syntax errors;

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

If all is well, go ahead and restart Nginx

sudo systemctl restart nginx

Configure PHP FPM to set the correct timezone. Edit the file /etc/php/7.2/fpm/php.ini such that your configuration looks like;

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = Africa/Nairobi

Configure Sentrifugo HRMS

Once you are done with the configuration above, it is time to configure Sentrifugo. Most of the next configurations  will be done from the web interface. Therefore, navigate to the browser and enter the IP/hostname address of your server in order to access Sentrifugo.

sentrifugo-web-setup-wizard

Since all the per-requisites are met, click Next to configure Sentrifugo database. Be sure to enter the database connection details set above.

sentrifugo-db-configuration

Click Confirm to proceed and then confirm that you want to proceed.

Next, you need to configure Sentrifugo Applications settings and an email ID for authenticating to Mail Server.

sentrifugo-app-settings

Configure Mail Server settings.

sentrifugo-mail-server-settings

Configuration final checks.

configuration-final-check

Click finish to finalize on the configurations. This will take you to a page where you are given the link to access the application and the login credentials.

sentrifugo-login-credentials

The Sentrifugo has been successfully installed. If you login to your email account, you will see an email confirming the successful installation. Now, click on the link to access the Sentrifugo web login user interface.

sentrifugo-web-login-ui

Login with the credentials shown on the Finish configuration page. Once you login for the first time, you are welcomed by Sentrifugo default dashboard as shown below;

sentrifugo-default-dashboard

The default dashboard introduces you to a configuration wizard where you can enable modules essential to your human resource processes, configure the standards used in your organization, provide your organization information, configure business unit and departments and configure service request settings used in your organization.

sentrifugo-analytics-dashboard

Well, feel free to configure this amazing HRMS tool as it best suits you. We hope this was informative. Enjoy your resource management.

LEAVE A REPLY

Please enter your comment!
Please enter your name here