OrangeHRM Starter is a free, open-source HR system you run on your own server — employee records, leave, attendance and reports under your roof, not on a monthly per-employee bill. This guide covers the full setup honestly, including the parts most tutorials skip: who should own the data, and how to protect it.
Every small office reaches the same point: employee details live in one Excel file, leave requests live in WhatsApp messages, and nobody can answer a simple question like how many leave days does this person have left without twenty minutes of digging. OrangeHRM fixes that with one login and one database. This guide walks the complete server setup — requirements, installation, the first admin login, adding employees, and the security setup that HR data honestly demands — in the same order shown in the video.
What a working OrangeHRM dashboard looks like after setup — counts are examples, your office numbers will differ.
OrangeHRM comes in two families. The Starter edition is free and open source — you download it, install it on your own server and own everything. The paid editions add modules like Recruitment and Performance on a subscription. Be clear about the split before you promise anyone anything:
The system runs in a browser. One server in your office, and every manager and employee opens it from their own machine — nothing is installed on staff PCs.
OrangeHRM is a PHP web application, so the server needs a standard AMP stack. Per OrangeHRM's own installation guide:
On Windows, the easiest way to get Apache, MySQL and PHP together is XAMPP, which OrangeHRM's own guide recommends. On Linux, the same three pieces come from the normal package manager (a LAMP stack). Whichever route you take, do not install OrangeHRM on the same Windows login everyone uses for daily work — give the server its own machine or at least its own corner, because this database will hold salary-adjacent, identity-document-level information.
The installation itself is a browser wizard — no code editing. The honest order:
C:\xampp\htdocs\orangehrm on Windows or /var/www/html/orangehrm on Linuxhttp://localhost/orangehrm (or the server IP from another PC) and follow the wizard: licence, system check, database details, then create the admin accountIf the wizard's system check complains, it is almost always a missing PHP extension or a folder-permission issue. Fix what it names; do not skip past warnings, because the same problem returns later as a broken page.
Log in as admin and build the skeleton before adding a single employee — fifteen minutes here saves rework for years:
Keep the structure as simple as your office really is. A 12-person office does not need five levels of hierarchy in the software just because the software allows it.
Employees go in through the PIM module — one record per person with personal details, job details, reporting manager and emergency contact. For more than a handful of staff, use the CSV import instead of typing (there is a full guide in this series).
The second step is what turns a database into a system: give each employee an ESS (Employee Self Service) login under Admin → Users, linked to their employee record. With ESS, staff check their own leave balance and apply for leave themselves — which is exactly the WhatsApp chaos you are replacing. Admin and ESS roles are not the same thing, and that difference matters; it has its own guide too.
Stop and be honest about what now sits on this server: names, phone numbers, addresses, joining dates, ID documents, leave and attendance history. In most offices this is the single most sensitive database that exists — more sensitive than the accounts PC, because it is about people. The full security guide is in this series; the non-negotiables are:
Do these four and a free system is a responsible system. Skip them and the spreadsheet on one person's laptop was honestly safer.
See the full OrangeHRM server setup on screen — installation, configuration and the first login, step by step.
▶️ Watch Full VideoYes. OrangeHRM Starter is free and open source — you download it from the official OrangeHRM website, install it on your own Windows or Linux server, and there is no per-employee fee. Paid editions exist and add modules like Recruitment and Performance, but records, leave and attendance in Starter cost nothing.
A normal office PC that stays on during working hours is enough for a small team. The software needs Apache 2.2 or later, PHP 7.4 or later, and MySQL 5.5 or MariaDB 5.5 or later. On Windows, XAMPP provides all three together; on Linux it is the standard LAMP stack.
Yes. Give each employee an ESS (Employee Self Service) login linked to their record. They can then check their leave balance, apply for leave and view their details from a browser, and the manager approves inside OrangeHRM instead of on WhatsApp or paper.