IceHrm
  • Introduction
  • Getting Started
    • Introduction
    • Installation
    • Manual Installation
    • Securing icehrm installation
    • Basic Settings
    • Mobile App
    • AWS S3 File Storage
  • Employees
    • Employee Management
    • Employee Data Import
    • User permissions
  • Time and Attendance
    • Attendance Module
    • Timesheets
  • Documents
    • HR Form Management
    • Document Management
  • Leave Management
    • Vacation and Leave Management
    • Company Leave Policy
    • Leave Requests and Approval
  • Recruitment
    • Recruitment Management
  • Training and Reviews
    • Training Module
    • Performance Reviews
  • Travel Module
  • Payroll
    • Salary
    • Payroll Management
    • Import - Export Payrolls
    • Building Payroll For India
  • Expenses
    • Expense Management
  • Insights
    • Charts
    • Reporting
  • Other Modules
    • Company Assets
    • Reporting
    • Data Import
  • Api and Single Sign-on
    • Rest Api
    • Using LDAP
    • Sign-In with SAML (Okta)
  • Mobile Application
    • Attendance Tracking
    • My Leave
  • FAQ
    • Upgrade IceHrmPro
    • FAQ
    • Close Cloud Account
    • Blog
  • Developer Guide
    • Setup Development Environment
    • Creating First Extension
    • Adding a DB Migration
    • Adding Entries to DB
  • Release Notes
    • Release Notes IceHrmPro
    • Release Notes IceHrm Open Source
Powered by GitBook
On this page
  • Clone the IceHrm repo
  • Check prerequisites
  • Install Virtual Box
  • Install Vagrant
  • Build Frontend Assets
  • Add Development Configuration
  • Start Vagrant

Was this helpful?

  1. Developer Guide

Setup Development Environment

Here you will learn how to setup your development environment for icehrm

PreviousBlogNextCreating First Extension

Last updated 4 years ago

Was this helpful?

Clone the IceHrm repo

$ git clone https://github.com/gamonoid/icehrm.git

Check prerequisites

You will be more productive when using vagrant for your development environment

Install Virtual Box

Please download and install virtual box for your platform from here:

Install Vagrant

Instructions for installing vagrant

Then we need to install vagrant host updater plugin

$ vagrant plugin install vagrant-hostsupdater

Build Frontend Assets

Icehrm has two pakage.json files. Once under the root and the other one under /web directory. NPM should run on both locations

$ npm install
$ cd web
$ npm install
$ cd ..
$ npm install -g gulp-cli
$ gulp

Add Development Configuration

Create file icehrm/app/config.php

<?php
$protocol = $_SERVER["REQUEST_SCHEME"] ? : 'http';
define('CLIENT_NAME', 'icehrm');

// ------- Vagrant ---------
ini_set('error_log', '/vagrant/app/data/icehrm.log');
define('APP_BASE_PATH', '/vagrant/core/');
define('CLIENT_BASE_PATH', '/vagrant/app/');
define('BASE_URL',$protocol.'://icehrm.os/web/');
define('CLIENT_BASE_URL',$protocol.'://icehrm.os/app/');

define('APP_DB', 'icehrm');
define('APP_USERNAME', 'dev');
define('APP_PASSWORD', 'dev');
define('APP_HOST', 'localhost');
define('APP_CON_STR', 'mysqli://'.APP_USERNAME.':'.APP_PASSWORD.'@'.APP_HOST.'/'.APP_DB);
// ----------------------------



//file upload
define('FILE_TYPES', 'jpg,png,jpeg');
define('MAX_FILE_SIZE_KB', 10 * 1024);

Start Vagrant

The pre-built IceHrm vagrant box contains php 7.3 / nginx and MySQL 5.7 installed. Nginx configurations are loaded from icehrm/deployment/vagrant

$ vagrant up

Then navigate to and login with credentails, admin / admin

https://www.virtualbox.org/wiki/Downloads
https://www.vagrantup.com/docs/installation
http://icehrm.os