This documentation is applicable only for IceHrm Open Source.
Application Requirements
Before installing IceHrm, ensure your server meets the following software and hardware requirements.
Software Requirements
Operating System
- Debian 9+ or Ubuntu 16.04+ (recommended)
- Other Linux distributions with equivalent package support
Web Server
- Nginx (recommended) or Apache 2.4+
Database
- MySQL 5.7 or MySQL 8.0
- MariaDB 10.3+ is also supported
PHP
IceHrm supports all PHP versions above 7.4.
Required PHP Extensions
The following PHP extensions must be installed and enabled:
php-mysql
php-gd
php-xml
php-mbstring
php-curl
php-zip
php-json
php-intl
Hardware Requirements
The following table provides recommended hardware specifications based on the number of employees:
| Employees | CPU Cores | RAM | Storage |
|---|---|---|---|
| Up to 100 | 1 vCPU | 1 GB | 20 GB |
| Up to 500 | 2 vCPU | 2 GB | 50 GB |
| Up to 2000 | 4 vCPU | 4 GB | 100 GB |
Storage requirements may increase based on document uploads and attachment usage.
Installation Overview
The general installation process involves:
- Prepare the server - Install required software packages
- Configure the database - Create MySQL database and user
- Download IceHrm - Get the latest release
- Configure the web server - Set up Nginx or Apache virtual host
- Run the installer - Complete setup via web-based installer
- Configure cron jobs - Set up scheduled tasks
- Configure additional features - PDF generation, email, etc.
Detailed steps for installing IceHrm on a Linux server is provided in the next section.
Cron Configuration
IceHrm requires a cron job to handle scheduled notifications, reminders, and background tasks.
Add the following entry to your crontab:
# Edit crontab
crontab -e
# Add the following line (runs every 5 minutes)
*/5 * * * * /usr/bin/php /path/to/icehrm/app/cron.php
Replace /path/to/icehrm with your actual installation path.
The cron job is required for handling various background tasks such as email notifications and report generation.