Thursday

19-06-2025 Vol 19

Self-hosting Kimai on an Ubuntu Server

Self-Hosting Kimai di Server Ubuntu: Panduan Lengkap

Kimai adalah aplikasi pelacakan waktu sumber terbuka yang kuat dan serbaguna.
Dengan melakukan self-hosting Kimai di server Ubuntu, Anda mendapatkan kendali
penuh atas data Anda, keamanan, dan kustomisasi. Panduan komprehensif ini akan
memandu Anda langkah demi langkah melalui proses instalasi dan konfigurasi Kimai
di server Ubuntu Anda.

Mengapa Self-Hosting Kimai?

Sebelum kita masuk ke detail teknis, mari kita pertimbangkan mengapa Anda harus
mempertimbangkan self-hosting Kimai:

  1. Kontrol Data: Anda memiliki kendali penuh atas data pelacakan
    waktu Anda. Tidak ada pihak ketiga yang memiliki akses ke informasi sensitif
    ini.
  2. Privasi: Data Anda tetap berada di server Anda, meminimalkan
    risiko pelanggaran data dan masalah privasi.
  3. Kustomisasi: Anda dapat menyesuaikan Kimai agar sesuai dengan
    kebutuhan spesifik Anda, menambahkan fitur dan integrasi khusus.
  4. Biaya: Self-hosting seringkali lebih hemat biaya daripada
    berlangganan layanan pelacakan waktu berbasis cloud, terutama untuk tim yang
    lebih besar.
  5. Keamanan: Anda bertanggung jawab atas keamanan server Anda,
    memungkinkan Anda menerapkan langkah-langkah keamanan yang kuat.

Prasyarat

Sebelum memulai, pastikan Anda memiliki hal berikut:

  1. Server Ubuntu yang berfungsi (disarankan versi terbaru LTS – Long Term
    Support).
  2. Akses ke server dengan hak sudo.
  3. Pengetahuan dasar tentang baris perintah Linux.
  4. Akses ke domain atau subdomain (opsional, tetapi disarankan untuk akses yang
    lebih mudah).
  5. Software SSH Client (Misalnya Putty atau Terminal)

Kerangka Posting Blog: Self-Hosting Kimai di Server Ubuntu

  1. Pendahuluan

    • Apa itu Kimai?
    • Mengapa melakukan self-hosting Kimai?
    • Prasyarat
  2. Menyiapkan Server Ubuntu

    • Memperbarui Sistem
    • Menginstal Apache, MariaDB, dan PHP
    • Mengamankan MariaDB
    • Mengkonfigurasi PHP
    • Menginstal Ekstensi PHP yang Diperlukan
  3. Mengunduh dan Menginstal Kimai

    • Mengunduh Kimai
    • Membuat Direktori Kimai
    • Mengekstrak Kimai
    • Mengatur Izin Direktori
  4. Mengkonfigurasi Apache untuk Kimai

    • Membuat Konfigurasi Virtual Host Apache
    • Mengaktifkan Konfigurasi Virtual Host
    • Mengaktifkan Modul Rewrite
    • Memulai Ulang Apache
  5. Mengkonfigurasi Kimai

    • Mengakses Antarmuka Web Kimai
    • Mengkonfigurasi Database
    • Membuat Akun Administrator
    • Mengkonfigurasi Pengaturan Sistem
  6. Mengamankan Instalasi Kimai Anda

    • Mengaktifkan HTTPS dengan Let’s Encrypt
    • Mengkonfigurasi Firewall
    • Pembaruan Rutin
  7. Konfigurasi Tambahan (Opsional)

    • Mengkonfigurasi Cron Jobs untuk Pemeliharaan
    • Integrasi Email
    • Konfigurasi Backup
  8. Tips Pemecahan Masalah

    • Masalah Umum dan Solusinya
  9. Kesimpulan

    • Ringkasan Manfaat Self-Hosting Kimai
    • Langkah Selanjutnya

Langkah-Langkah Detail

1. Menyiapkan Server Ubuntu

Langkah pertama adalah memastikan server Ubuntu Anda siap untuk instalasi Kimai.
Ini melibatkan memperbarui sistem, menginstal perangkat lunak yang diperlukan,
dan mengamankan instalasi MariaDB.

1.1 Memperbarui Sistem

Selalu mulai dengan memperbarui daftar paket dan meningkatkan paket yang
diinstal ke versi terbaru. Buka terminal Anda dan jalankan perintah berikut:

  1. sudo apt update
  2. sudo apt upgrade

1.2 Menginstal Apache, MariaDB, dan PHP

Kimai memerlukan server web, database, dan PHP. Instal komponen-komponen ini:

  1. sudo apt install apache2 mariadb-server php libapache2-mod-php

1.3 Mengamankan MariaDB

Setelah instalasi, amankan instalasi MariaDB dengan menjalankan:

  1. sudo mysql_secure_installation

Ikuti petunjuk di layar untuk mengatur kata sandi root, menghapus pengguna
anonim, melarang login root dari jarak jauh, dan menghapus database pengujian.

1.4 Mengkonfigurasi PHP

Sunting file konfigurasi PHP untuk memastikan Kimai berjalan dengan benar.
Filenya biasanya terletak di
/etc/php/7.4/apache2/php.ini (ganti 7.4 dengan versi PHP Anda jika
berbeda).

  1. sudo nano /etc/php/7.4/apache2/php.ini

Ubah pengaturan berikut (tekan CTRL + W untuk mencari tiap baris):

  • memory_limit = 256M (atau lebih tinggi jika diperlukan)
  • upload_max_filesize = 2M (atau lebih tinggi jika diperlukan)
  • post_max_size = 32M (atau lebih tinggi jika diperlukan)
  • max_execution_time = 300 (atau lebih tinggi jika diperlukan)

1.5 Menginstal Ekstensi PHP yang Diperlukan

Kimai memerlukan beberapa ekstensi PHP untuk berfungsi dengan benar. Instal:


  1. sudo apt install php-cli php-common php-mysql php-gd php-intl php-curl
    php-mbstring php-xml php-zip

Setelah instalasi, mulai ulang Apache:

  1. sudo systemctl restart apache2

2. Mengunduh dan Menginstal Kimai

Sekarang setelah server Anda siap, mari kita unduh dan instal Kimai.

2.1 Mengunduh Kimai

Kunjungi situs web Kimai (
https://www.kimai.org ) dan
unduh versi stabil terbaru. Anda juga dapat mengunduhnya menggunakan
wget:

  1. wget https://www.kimai.org/assets/dl/kimai2/kimai2_latest.zip (Ganti URL dengan URL unduhan yang benar)

2.2 Membuat Direktori Kimai

Buat direktori untuk file Kimai Anda:

  1. sudo mkdir /var/www/kimai

2.3 Mengekstrak Kimai

Ekstrak file Kimai ke direktori yang baru dibuat:

  1. sudo unzip kimai2_latest.zip -d /var/www/kimai (Ganti nama file zip jika berbeda)

2.4 Mengatur Izin Direktori

Atur izin yang benar untuk direktori Kimai agar server web dapat mengaksesnya:

  1. sudo chown -R www-data:www-data /var/www/kimai
  2. sudo chmod -R 755 /var/www/kimai

3. Mengkonfigurasi Apache untuk Kimai

Anda perlu mengkonfigurasi Apache untuk melayani aplikasi Kimai.

3.1 Membuat Konfigurasi Virtual Host Apache

Buat file konfigurasi virtual host baru untuk Kimai di Apache.

  1. sudo nano /etc/apache2/sites-available/kimai.conf

Tambahkan konfigurasi berikut:

    
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/kimai/public
    ServerName kimai.example.com

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

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
    
  

Ganti kimai.example.com dengan nama domain atau subdomain Anda.

3.2 Mengaktifkan Konfigurasi Virtual Host

Aktifkan konfigurasi virtual host:

  1. sudo a2ensite kimai.conf

3.3 Mengaktifkan Modul Rewrite

Kimai membutuhkan modul rewrite Apache untuk berfungsi dengan benar:

  1. sudo a2enmod rewrite

3.4 Memulai Ulang Apache

Mulai ulang Apache untuk menerapkan perubahan:

  1. sudo systemctl restart apache2

4. Mengkonfigurasi Kimai

Dengan Apache yang dikonfigurasi, Anda sekarang dapat menyelesaikan konfigurasi
Kimai melalui antarmuka web.

4.1 Mengakses Antarmuka Web Kimai

Buka browser web Anda dan navigasikan ke nama domain atau alamat IP server Anda
(misalnya, http://kimai.example.com atau http://your_server_ip).
Anda akan melihat halaman instalasi Kimai.

4.2 Mengkonfigurasi Database

Ikuti petunjuk di layar untuk mengkonfigurasi pengaturan database. Anda perlu
membuat database untuk Kimai di MariaDB:

  1. sudo mysql -u root -p
  2. CREATE DATABASE kimai;
  3. CREATE USER 'kimaiuser'@'localhost' IDENTIFIED BY 'password';
  4. GRANT ALL PRIVILEGES ON kimai.* TO 'kimaiuser'@'localhost';
  5. FLUSH PRIVILEGES;
  6. EXIT;

Masukkan kredensial ini di halaman instalasi Kimai:

  • Database Driver: MySQL
  • Host: localhost
  • Port: 3306
  • Database Name: kimai
  • User: kimaiuser
  • Password: password (gunakan kata sandi yang Anda atur)

4.3 Membuat Akun Administrator

Setelah konfigurasi database, Anda akan diminta untuk membuat akun administrator
untuk Kimai.

4.4 Mengkonfigurasi Pengaturan Sistem

Setelah akun administrator dibuat, Anda dapat mengkonfigurasi pengaturan sistem
Kimai melalui antarmuka web. Ini mencakup pengaturan zona waktu, mata uang, dan
pengaturan lainnya.

5. Mengamankan Instalasi Kimai Anda

Keamanan sangat penting. Berikut adalah beberapa langkah untuk mengamankan
instalasi Kimai Anda.

5.1 Mengaktifkan HTTPS dengan Let’s Encrypt

Mengenkripsi lalu lintas web Anda dengan HTTPS sangat penting. Let’s Encrypt
adalah otoritas sertifikat gratis yang memudahkan untuk mendapatkan sertifikat
SSL.

  1. sudo apt install certbot python3-certbot-apache
  2. sudo certbot --apache -d kimai.example.com (Ganti dengan nama domain Anda)

Ikuti petunjuk di layar untuk menyelesaikan proses instalasi sertifikat. Certbot
akan secara otomatis mengkonfigurasi Apache untuk menggunakan sertifikat SSL.

5.2 Mengkonfigurasi Firewall

Firewall membantu melindungi server Anda dari akses yang tidak sah. Jika Anda
menggunakan ufw (Uncomplicated Firewall), Anda dapat mengkonfigurasi
aturan firewall berikut:

  1. sudo ufw allow OpenSSH
  2. sudo ufw allow 'Apache Full'
  3. sudo ufw enable

5.3 Pembaruan Rutin

Pastikan untuk secara teratur memperbarui sistem Ubuntu dan Kimai Anda untuk
menambal kerentanan keamanan.

  1. sudo apt update
  2. sudo apt upgrade

Periksa juga pembaruan Kimai di situs web Kimai dan ikuti instruksi peningkatan
yang disediakan.

6. Konfigurasi Tambahan (Opsional)

Berikut adalah beberapa konfigurasi tambahan yang dapat Anda pertimbangkan:

6.1 Mengkonfigurasi Cron Jobs untuk Pemeliharaan

Anda dapat mengkonfigurasi cron jobs untuk melakukan tugas pemeliharaan secara
otomatis, seperti membersihkan data lama dan mengoptimalkan database.

Sunting crontab:

  1. crontab -e

Tambahkan entri cron berikut (contoh):

    
0 0 * * * php /var/www/kimai/bin/console kimai:plugin:update --all
0 1 * * * php /var/www/kimai/bin/console doctrine:database:backup --compress=gzip --destination=/var/backups/kimai
    
  

Ini akan memperbarui plugin Kimai setiap hari pada pukul 12 pagi dan mencadangkan
database pada pukul 1 pagi. Sesuaikan jalur dan jadwal sesuai kebutuhan.

6.2 Integrasi Email

Konfigurasikan Kimai untuk mengirim email untuk pemberitahuan dan pengingat. Ini
melibatkan konfigurasi pengaturan SMTP di antarmuka administrasi Kimai. Anda
dapat menggunakan server SMTP seperti SendGrid, Mailgun, atau server SMTP Anda
sendiri.

6.3 Konfigurasi Backup

Regular backup sangat penting untuk pencegahan kehilangan data. Konfigurasikan
pencadangan database dan file Kimai secara berkala. Anda dapat menggunakan alat
seperti mysqldump untuk pencadangan database dan rsync
untuk pencadangan file. Simpan cadangan di lokasi terpisah dari server Anda,
seperti penyimpanan cloud atau server cadangan eksternal.

7. Tips Pemecahan Masalah

Berikut adalah beberapa tips pemecahan masalah untuk masalah umum yang mungkin
Anda temui.

7.1 Masalah Umum dan Solusinya

  • Kesalahan 500: Periksa log Apache untuk kesalahan PHP dan
    pastikan semua ekstensi PHP yang diperlukan diinstal.
  • Kesalahan Database: Periksa kredensial database Anda dan
    pastikan database MariaDB sedang berjalan.
  • Tidak dapat mengakses Kimai melalui domain: Pastikan domain
    Anda mengarah ke alamat IP server Anda dan konfigurasi virtual host Apache
    Anda sudah benar.
  • Masalah Izin: Pastikan pengguna www-data memiliki
    akses yang benar ke file dan direktori Kimai.
  • Masalah Email: Periksa pengaturan SMTP Anda dan pastikan server
    email Anda dapat mengirim email.

8. Kesimpulan

Self-hosting Kimai di server Ubuntu memberi Anda kendali penuh atas data
pelacakan waktu Anda, meningkatkan privasi, dan memungkinkan kustomisasi. Dengan
mengikuti panduan langkah demi langkah ini, Anda seharusnya berhasil
menginstal dan mengkonfigurasi Kimai di server Ubuntu Anda.

8.1 Ringkasan Manfaat Self-Hosting Kimai

  • Kontrol Data: Anda memiliki kendali penuh atas data Anda.
  • Privasi: Data Anda tetap berada di server Anda.
  • Kustomisasi: Anda dapat menyesuaikan Kimai agar sesuai dengan
    kebutuhan Anda.
  • Biaya: Self-hosting seringkali lebih hemat biaya.
  • Keamanan: Anda bertanggung jawab atas keamanan.

8.2 Langkah Selanjutnya

Setelah Kimai Anda berjalan, Anda dapat mulai mengkonfigurasi pengguna, proyek,
dan aktivitas Anda. Jelajahi dokumentasi Kimai dan antarmuka administrasi untuk
mempelajari lebih lanjut tentang fitur dan kemampuan yang tersedia.

Selamat melacak waktu Anda dengan Kimai!

“`

omcoding

Leave a Reply

Your email address will not be published. Required fields are marked *