Technical Anshu
Tutorials Blog
🗂️ OrangeHRM Server Setup

OrangeHRM Server Setup Complete Guide for Small Offices

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.

✍️ Technical Anshu🖥️ Windows / Linux Server🆓 Free Open-Source Edition
🎥 Watch the complete OrangeHRM server setup in the video, step by step

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.

OrangeHRM Dashboard — after first login (illustration)
Dashboard Quick Launch My Actions ------------------ ---------------------- Leave List 2 leave requests pending Time Sheet 1 timesheet to approve My Leave Apply for leave Employees on Leave Today: 1 Total Employees: 24 (example figures)

What a working OrangeHRM dashboard looks like after setup — counts are examples, your office numbers will differ.

1

What OrangeHRM Starter Actually Gives You

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:

  1. In Starter: Admin, PIM (employee records), Leave, Time, Attendance and Maintenance modules
  2. Not in Starter: Recruitment, Performance, Buzz and a few add-ons such as LDAP login — those are paid territory
  3. For most small offices, Starter covers the daily pain: records, leave and attendance

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.

2

Requirements Before You Touch the Installer

OrangeHRM is a PHP web application, so the server needs a standard AMP stack. Per OrangeHRM's own installation guide:

  1. Apache HTTP Server 2.2 or later
  2. PHP 7.4 or later (OrangeHRM 5.x supports PHP 7.4 to 8.1)
  3. MySQL 5.5 or later, or MariaDB 5.5 or later
  4. A machine that stays on during office hours — an ordinary office PC is honestly enough for a small team

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.

3

Run the Web Installer

The installation itself is a browser wizard — no code editing. The honest order:

  1. Download the OrangeHRM Starter zip from the official OrangeHRM website — never from a random file-sharing mirror
  2. Extract it into the web root, for example C:\xampp\htdocs\orangehrm on Windows or /var/www/html/orangehrm on Linux
  3. Create an empty database in MySQL or MariaDB, and a database user for OrangeHRM — do not hand the installer your MySQL root password to keep
  4. Open http://localhost/orangehrm (or the server IP from another PC) and follow the wizard: licence, system check, database details, then create the admin account
  5. Use a strong admin password and note it in your office password records — this one account controls every employee record

If 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.

4

First Login and the Company Skeleton

Log in as admin and build the skeleton before adding a single employee — fifteen minutes here saves rework for years:

  1. Admin → Organization → General Information: company name, country, contact details
  2. Admin → Organization → Structure: your departments or branches as units
  3. Admin → Job → Job Titles and Pay Grades: the roles that actually exist in your office
  4. Admin → Organization → Locations: office locations, even if there is only one

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.

5

Add Employees, Then Open ESS Accounts

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.

6

The Part Tutorials Skip — Protect the Data

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:

  1. Only named admins get admin accounts — never one shared admin password for the whole office
  2. Serve OrangeHRM over HTTPS, even on the office LAN, once real data goes in
  3. Back up the database and the uploaded files folder on a schedule, with one copy outside this machine
  4. Keep PHP, MySQL and OrangeHRM itself updated — an unpatched HR portal is a gift to anyone who reaches it

Do these four and a free system is a responsible system. Skip them and the spreadsheet on one person's laptop was honestly safer.

🔴 One honest warning: "free" means the software costs nothing — it does not mean the responsibility is free. Whoever runs this server owns backups, updates and access control. Decide who that person is before the data goes in, not after the first problem.

🎥 Watch the Complete Setup Video

See the full OrangeHRM server setup on screen — installation, configuration and the first login, step by step.

▶️ Watch Full Video
❓ Common Questions (FAQ)

Is OrangeHRM really free to run on our own server?

Yes. 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.

What server do we need for a small office?

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.

Can employees apply for leave themselves?

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.

This guide is based on the Technical Anshu OrangeHRM video • Stuck on a step? Ask in the video comments 🙏