On-Premise Installation

1. Prerequisite

Before you proceed with installation you need to ensure you have following softwares installed and setup on system:

1.1 PHP

Software works best with PHP 7.4 however it’s minimum requirement is PHP 5.6. Following PHP extensions are also required:
  1. mcrypt
  1. mbstring
  1. gd
  1. pdo
  1. fileinfo
  1. xml
  1. curl
  1. zip

1.2 MySQL 5.7

Software works best with MySQL 5.7, however it’s minimum requirement is MySQL 5.6.

1.3 Apache 2.4

Any web server can work, however SnapHRM has been extensively tested with Apache web server. So, we recommend Apache 2.4. This guide also give instructions for Apache 2.4 only.

1.4 Composer

Latest version of composer is required. Install using:

$ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

2. Setup

2.1 Getting Code on Server

Project is managed via Git and it is recommended to deploy using Git for easier updates. For this, you also need to ensure Git is installed on server.

You will be given a Repository URL via email.

Clone the repository at a desired place on your server and point the document root of your domain to the public folder in the code. For example, if you clone the repository to /var/www/html/hrm and you domain is hrm.example.com then the server must load from /var/www/html/hrm/public when the domain is visited. An example configuration for Apache2 is given below:

<Directory /var/www/html/hrm/>
        Options Indexes FollowSymLinks
        AllowOverride all
        Require all granted
<VirtualHost *:80>
        ServerName hrm.example.com
        DocumentRoot /var/www/html/hrm/public

Note: If you do not have SSH access to the server, use the Archive URL received in the email. However, you will not access to advantages of Git deployment with archive.

Note: You need to point the server to the public folder in the code, and not the root folder.

2.2 Setup Database

Create a database in MySQL with name of your choice (say snaphrm) using a web database manager or command line. Collation should be utf8_general_ci.

2.3 Follow the installer

Now, open your domain hrm.example.com. You will notice that an installer appears. Follow the instructions.

Note: You can skip SMTP settings, but you will need to configure them manually in the .env file in the root folder later.