How to Install Sentrifugo HRM on Ubuntu 18.04 LTS

Sentrifugo is a powerful Human Resource Management System (HRM) written in PHP that uses MySQL/MariaDB to store its database. It is a feature-rich and easily configurable application software that can be used to track the employee's performance, vacation dates, roles, privileges and much more. Sentrifugo comes with lots of modules like Appraisal, Time Management, Leave Management, Employee Management, Analytics, Hiring/Recruitment, Background Check and Service Desk that makes your organization’s HR process easier. Sentrifugo exists in a free OpenSource version and in a paid edition. In this tutorial, we will install the OpenSource version.

In this tutorial, we will be going to explain how to install Sentrifugo on Ubuntu 18.04 LTS server.


  • A server running Ubuntu 18.04.
  • A non-root user with sudo privileges.

Install Apache, PHP, and MariaDB

Let's start with installing Apache and MariaDB server to your system by running the following command:

sudo apt-get install apache2 mariadb-server -y

Install PHP along with required libraries by running the following command:

sudo apt-get install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2 php7.2-ldap php7.2-zip php7.2-curl unzip wget -y

Once all the packages are installed, start Apache and MariaDB service and enable them to start on boot time with the following command:

sudo systemctl start apache2
sudo systemctl start mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb

Configure MariaDB

Next, you will need to secure MariaDB installation. You can secure it by running the mysql_secure_installation script:

sudo mysql_secure_installation

Answer all the questions as below:

    Enter current password for root (enter for none): ENTER
    Set root password? [Y/n]: N
    Remove anonymous users? [Y/n]: Y
    Disallow root login remotely? [Y/n]: Y
    Remove test database and access to it? [Y/n]:  Y
    Reload privilege tables now? [Y/n]:  Y

Once the MariaDB is secured, log in to MariaDB shell:

mysql -u root -p

Enter your root password when prompt, then create a database for Sentrifugo:

MariaDB [(none)]> CREATE DATABASE sentrifugodb;

Next, create a user for Sentrifugo and grant privileges:

MariaDB [(none)]> CREATE USER 'sentrifugo'@'localhost' IDENTIFIED BY 'howtoforge';
MariaDB [(none)]> GRANT ALL ON sentrifugodb.* TO 'sentrifugo'@'localhost' IDENTIFIED BY 'howtoforge' WITH GRANT OPTION;

Next, flush the privileges with the following command:


Finally, exit from the MariaDB shell:

MariaDB [(none)]> exit;

Download and Install Sentrifugo

You can download the latest version of Sentrifugo from their official website with the following command:

cd /tmp
wget -O

Next, unzip the downloaded file with the following command:


Next, copy the extracted directory to the Apache web root directory and provide proper permissions:

sudo cp -r 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/

Edit the Sentrifugo application.ini file:

nano /var/www/html/sentrifugo/application/configs/application.ini

and change the line:

phpSettings.error_reporting = E_All


phpSettings.error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

In line 4 of the file.

Next, create an Apache virtual host file for Sentrifugo with the following command:

sudo nano /etc/apache2/sites-available/sentrifugo.conf

Add the following lines:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/sentrifugo

    <Directory /var/www/html/sentrifugo/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined


Save and close the file. Then, enable virtual host file with the following command:

sudo a2ensite sentrifugo

Next, enable Apache rewrite module and reload Apache service with the following command:

sudo a2enmod rewrite
sudo systemctl restart apache2

Access Sentrifugo

Now, open your web browser and type the URL You will be redirected to the following page:

Checking prerequisites

Once all the requirements are satisfied. Then, click on the Next button. You should see the following page:

Database settings

Here, provide your database details and click on the Next button. You should see the following page:

Application name

Next, provide your Application name and email address. Then, click on the Next button. You should see the following page:

Mail server settings

Next, provide your SMTP server details and click on the Confirm button. You should see the following page:

Final installation check

Now, click on the Finish button to Finish button. You should see the following page:

Installation finished

Note: If you can't login with the username displayed there, use the email address that you entered during setup instead of the username.

Now, click on the Follow this link to open the application. You should see the following page:

Sentrifugo Login

Here, provide your login details and click on the LOG IN button. You should see the Sentrifugo default dashboard in the following page:

Sentrifugo dashboard

Virtual machine image download of this tutorial

This tutorial is available as ready to use virtual machine image in ovf/ova format that is compatible with VMWare and Virtualbox. The virtual machine image uses the following login details:

SSH / Shell Login

Username: administrator
Password: howtoforge

This user has sudo rights.

Sentrifugo Login

Username: [email protected]
Password: 5bcf25a528bf9

MySQL Login

Username: root
Password: howtoforge

The IP of the VM is, it can be changed in the file /etc/netplan/01-netcfg.yaml. Please change all the above passwords to secure the virtual machine.

Share this page:

8 Comment(s)