Cara Install dan Konfigurasi Horilla HRM SelfHosted Mudah

Cara Install dan Konfigurasi Horilla HRM SelfHosted

Persiapan Sebelum Instalasi

Sebelum kita masuk ke dalam tutorial instalasi Horilla HRM, kita perlu memastikan bahwa infrastruktur dan dependensi utama telah tersedia.

1. Spesifikasi Server yang Dibutuhkan

Untuk menjalankan Horilla HRM secara self-hosted, berikut spesifikasi minimal yang direkomendasikan:

  • CPU: Dual-core 2GHz
  • RAM: Minimal 4 GB (disarankan 8 GB)
  • Storage: 20 GB SSD (tergantung jumlah pengguna)
  • OS: Ubuntu 20.04 LTS atau CentOS 8
  • Web Server: Apache atau Nginx
  • Database: MySQL 5.7+ atau MariaDB 10+

“Sistem HRM yang stabil dimulai dari pondasi server yang kuat dan terkonfigurasi dengan benar.”

2. Dependensi yang Harus Terinstal

Berikut adalah daftar komponen yang wajib ada:

  1. PHP 8.1 atau terbaru (modul: php-mysql, php-curl, php-mbstring, php-xml)
  2. Composer
  3. Git
  4. MySQL/MariaDB
  5. Apache2/Nginx

Tips: Gunakan Docker untuk mengisolasi lingkungan instalasi agar lebih mudah dipelihara dan dipindahkan ke server lain.

Langkah-langkah Install Horilla HRM SelfHosted

Langkah-langkah Install Horilla HRM SelfHosted

Cara install dan konfigurasi Horilla HRM SelfHosted bisa dilakukan dengan mengikuti langkah sistematis berikut.

1. Clone Repositori Horilla HRM

git clone https://github.com/horilla/horilla-hrm.git /var/www/horilla
cd /var/www/horilla

2. Instalasi Dependensi

Gunakan Composer untuk menginstal semua dependensi:

composer install

Pastikan file .env.example diklon menjadi .env dan dikonfigurasi.

3. Pengaturan File Konfigurasi

Edit file .env untuk mengatur koneksi database dan detail lingkungan:

cp .env.example .env
nano .env

Parameter penting yang perlu diperhatikan:

  • DB_CONNECTION=mysql
  • DB_HOST=127.0.0.1
  • DB_PORT=3306
  • DB_DATABASE=horilla_db
  • DB_USERNAME=root
  • DB_PASSWORD=password_anda

Setup Database dan Migrasi

1. Buat Database Horilla HRM

Masuk ke MySQL dan jalankan:

CREATE DATABASE horilla_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

2. Migrasi Struktur Database

Setelah file .env siap, jalankan perintah:

php artisan migrate
php artisan db:seed

Ini akan membuat tabel, relasi, dan data awal seperti role pengguna.

Konfigurasi Web Server

Konfigurasi web server sangat penting agar Horilla HRM dapat diakses melalui browser.

1. Konfigurasi Apache

Contoh virtual host di /etc/apache2/sites-available/horilla.conf:

<VirtualHost *:80>
    ServerName hrm.perusahaananda.local
    DocumentRoot /var/www/horilla/public

<Directory /var/www/horilla/public>
        AllowOverride All
        Require all granted
    </Directory>

ErrorLog ${APACHE_LOG_DIR}/horilla_error.log
    CustomLog ${APACHE_LOG_DIR}/horilla_access.log combined
</VirtualHost>

2. Aktifkan Site dan Modul

a2ensite horilla
a2enmod rewrite
systemctl restart apache2

3. Konfigurasi Nginx (Alternatif)

server {
    listen 80;
    server_name hrm.perusahaananda.local;

root /var/www/horilla/public;
    index index.php index.html;

location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }
}

Setting Horilla HRM Self-Hosted Pasca Instalasi

Setting Horilla HRM Self-Hosted Pasca Instalasi

Setelah sistem berjalan, kita perlu melakukan beberapa setting Horilla HRM self-hosted tambahan.

1. Buat Admin User

Masuk ke sistem melalui localhost atau domain lokal Anda dan buat akun admin:

php artisan horilla:admin

2. Setting Cron Job

Untuk fitur otomatisasi (absensi, pengingat kontrak, dll):

* * * * * php /var/www/horilla/artisan schedule:run >> /dev/null 2>&1

3. Konfigurasi Email

Akses .env:

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=...
MAIL_PASSWORD=...
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="HR Perusahaan"

Tabel Proses Instalasi vs Waktu Rata-rata

Langkah Estimasi Waktu (Menit) Tools yang Digunakan
Setup Server & Dependensi 15-20 Terminal, SSH
Clone dan Install Horilla 5-10 Git, Composer
Konfigurasi .env & DB 10 MySQL, Editor
Migrasi DB & Seed Data 5 Artisan
Setup Web Server & Domain Lokal 15 Apache/Nginx
Konfigurasi Cron & Email 10 Crontab, Mail Server
Total Rata-rata 60–70 menit

Optimasi Keamanan dan Performa

Agar setup Horilla HRM di server sendiri berjalan optimal, lakukan langkah-langkah berikut:

1. Gunakan HTTPS

Install Let's Encrypt:

sudo apt install certbot python3-certbot-apache
sudo certbot --apache

2. Lindungi Akses Panel Admin

  1. Batasi akses dengan .htaccess atau IP whitelisting
  2. Aktifkan 2FA (jika tersedia di versi Horilla terbaru)

3. Optimasi Cache & Session

Gunakan Redis:

CACHE_DRIVER=redis
SESSION_DRIVER=redis

Keuntungan: Kecepatan akses hingga 2x lipat lebih cepat dibandingkan file-based session.

FAQ Seputar Instalasi Horilla HRM

Apakah Horilla HRM gratis dan open-source?
Ya, Horilla HRM tersedia secara gratis di GitHub dengan lisensi terbuka (MIT/GPL).

Apakah bisa diinstal di Windows?
Bisa, namun lebih stabil jika menggunakan Linux environment seperti Ubuntu Server.

Bagaimana jika ingin menghosting di VPS?
Prosesnya serupa, Anda hanya perlu mengarahkan domain ke IP VPS dan membuka port 80/443.

Bisakah diintegrasikan dengan fingerprint scanner?
Versi terbaru Horilla HRM mendukung API untuk integrasi perangkat eksternal.

Apakah tersedia fitur multi-language?
Ya, Horilla HRM mendukung banyak bahasa termasuk Bahasa Indonesia.

Kesimpulan

Cara Install dan Konfigurasi Horilla HRM SelfHosted memang memerlukan pemahaman teknis dasar, namun dengan panduan ini, kita dapat menyelesaikannya dalam waktu kurang dari 90 menit. Dengan kontrol penuh atas sistem dan data, perusahaan mendapatkan keamanan dan fleksibilitas lebih tinggi.

Mengoptimalkan konfigurasi server dan aplikasi, menjaga keamanan serta konsistensi sistem akan membantu jangka panjang. Jangan lupa untuk terus memantau versi terbaru dari Horilla untuk mendapatkan fitur dan patch keamanan terkini.

Key Takeaways

  • Horilla HRM Self-Hosted menawarkan kontrol penuh, keamanan, dan fleksibilitas.
  • Instalasi memerlukan Linux server, PHP, Composer, dan MySQL.
  • Waktu instalasi rata-rata sekitar 60–70 menit.
  • Konfigurasi tambahan seperti email dan cron sangat penting untuk operasional otomatis.
  • Optimasi cache dan keamanan dengan HTTPS & Redis mempercepat dan mengamankan sistem.