How to install OrangeHRM on a CentOS 7 VPS

orangehrmlogoIn the following article we are going to explain how you can install and run OrangeHRM on your CentOS 7 VPS. OrangeHRM is a superb, scalable Human Resource Management solution written in PHP. It has the following features:

  •  Administration Module
  • Personal Information Management
  • Leave Module
  • Time Module
  • Employee Self Service Module
  • Recruitment/ Applicant Tracking Module
  • Performance Module


We will be using our SSD 1 Linux VPS Hosting plan for this tutorial.


As always, make sure your CentOS 7 VPS is fully up-to-date with the command below:

# yum update


Your first step is to install Linux Apache, MariaDB & PHP or better known by LAMP. LAMP is actually an acronym for a web services solution stack consisting of Linux, the Apache HTTP Server, the MySQL or MariaDB database engines, and the PHP, Perl or Python programming language. Issue the following:

# yum install httpd openssl mod_ssl mariadb mariadb-server mysql unzip

After the LAMP installation is complete, enable Apache and MariaDB to start on boot and start them with the below commands:

# systemctl enable mariadb && systemctl enable httpd

# systemctl start httpd && systemctl start mariadb

For further configuration tweaks on Apache, PHP and MariaDB, check our excellent blog post.

Next run the MariaDB post-installation script mysql_secure_installation:

# mysql_secure_installation

Configure it like this:

- Set root password? [Y/n] y
- 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


You need to enter the Apache document root directory, download and unzip the OrangeHRM installation zip file. The underneath commands will do the job:

# cd /var/www/html
# wget -O orangehrm.unzip
# unzip orangehrm.unzip

Move the files and directories from the unpackacked directory into your current working directory (Apache’s document root)

# mv orangehrm-3.3.1/* . && mv orangehrm-3.3.1/.htaccess .

Now, open the Apache configuration file:

# vim /etc/httpd/conf/httpd.conf

Locate the ‘<Directory “/var/www/html”>‘ section and change the value of the line : ‘AllowOverride None‘ to ‘AllowOverride All‘ . This action will enable .htaccess files to be used by your web server.

So, after you are done, the section should look like this:

<Directory "/var/www/html">
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    # The Options directive is both complicated and important.  Please see
    # for more information.
    Options Indexes FollowSymLinks

    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    AllowOverride All

    # Controls who can get stuff from this server.
    Require all granted

Next, open the MariaDB configuration file. We are using the following command:

# vim /etc/my.cnf

Anywhere under the [mysqld] block place the following line: event_scheduler = ON . Then restart MariaDB for the changes to take effect:

# systemctl restart mariadb

Set the correct ownership:

# chown apache: /var/www/html/ -R

To finish the OrangeHRM installation, open your favorite browser and navigate to . Accept the license and enter your preferred database configuration information once you reach the Database Configuration part.

You can also leave the default database values.

In ‘step 3: System Check’, make sure all listed items are green and OK.

Next, create your admin username and password. The installation will start once you click the ‘Install’ button after the confirmation of your set up in the last ‘Step 5: Confirmation’.

Congratulations, you have successfully installed OrangeHRM on your CentOS 7 VPS.

Of course you don’t have to do any of this if you use one of our Linux VPS Hosting services, in which case you can simply ask our expert Linux admins to install this for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

How to install Elxis CMS on CentOS 7
Install osCommerce on a CentOS 7 Linux VPS
Install Magento on an Ubuntu 14.04 VPS and Enable Redis as Back End Cache
  • jelliott


    Author Reply

    This is implied in the article but is never actually called out. You need to make sure PHP is installed – LAMP install command shoud be:

    yum install httpd openssl mod_ssl mariadb mariadb-server mysql unzip php php-mysql