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:
-
Kontrol Data: Anda memiliki kendali penuh atas data pelacakan
waktu Anda. Tidak ada pihak ketiga yang memiliki akses ke informasi sensitif
ini. -
Privasi: Data Anda tetap berada di server Anda, meminimalkan
risiko pelanggaran data dan masalah privasi. -
Kustomisasi: Anda dapat menyesuaikan Kimai agar sesuai dengan
kebutuhan spesifik Anda, menambahkan fitur dan integrasi khusus. -
Biaya: Self-hosting seringkali lebih hemat biaya daripada
berlangganan layanan pelacakan waktu berbasis cloud, terutama untuk tim yang
lebih besar. -
Keamanan: Anda bertanggung jawab atas keamanan server Anda,
memungkinkan Anda menerapkan langkah-langkah keamanan yang kuat.
Prasyarat
Sebelum memulai, pastikan Anda memiliki hal berikut:
-
Server Ubuntu yang berfungsi (disarankan versi terbaru LTS – Long Term
Support). - Akses ke server dengan hak sudo.
- Pengetahuan dasar tentang baris perintah Linux.
-
Akses ke domain atau subdomain (opsional, tetapi disarankan untuk akses yang
lebih mudah). - Software SSH Client (Misalnya Putty atau Terminal)
Kerangka Posting Blog: Self-Hosting Kimai di Server Ubuntu
-
Pendahuluan
- Apa itu Kimai?
- Mengapa melakukan self-hosting Kimai?
- Prasyarat
-
Menyiapkan Server Ubuntu
- Memperbarui Sistem
- Menginstal Apache, MariaDB, dan PHP
- Mengamankan MariaDB
- Mengkonfigurasi PHP
- Menginstal Ekstensi PHP yang Diperlukan
-
Mengunduh dan Menginstal Kimai
- Mengunduh Kimai
- Membuat Direktori Kimai
- Mengekstrak Kimai
- Mengatur Izin Direktori
-
Mengkonfigurasi Apache untuk Kimai
- Membuat Konfigurasi Virtual Host Apache
- Mengaktifkan Konfigurasi Virtual Host
- Mengaktifkan Modul Rewrite
- Memulai Ulang Apache
-
Mengkonfigurasi Kimai
- Mengakses Antarmuka Web Kimai
- Mengkonfigurasi Database
- Membuat Akun Administrator
- Mengkonfigurasi Pengaturan Sistem
-
Mengamankan Instalasi Kimai Anda
- Mengaktifkan HTTPS dengan Let’s Encrypt
- Mengkonfigurasi Firewall
- Pembaruan Rutin
-
Konfigurasi Tambahan (Opsional)
- Mengkonfigurasi Cron Jobs untuk Pemeliharaan
- Integrasi Email
- Konfigurasi Backup
-
Tips Pemecahan Masalah
- Masalah Umum dan Solusinya
-
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:
-
sudo apt update
-
sudo apt upgrade
1.2 Menginstal Apache, MariaDB, dan PHP
Kimai memerlukan server web, database, dan PHP. Instal komponen-komponen ini:
-
sudo apt install apache2 mariadb-server php libapache2-mod-php
1.3 Mengamankan MariaDB
Setelah instalasi, amankan instalasi MariaDB dengan menjalankan:
-
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).
-
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:
-
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:
-
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
:
-
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:
-
sudo mkdir /var/www/kimai
2.3 Mengekstrak Kimai
Ekstrak file Kimai ke direktori yang baru dibuat:
-
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:
-
sudo chown -R www-data:www-data /var/www/kimai
-
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.
-
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:
-
sudo a2ensite kimai.conf
3.3 Mengaktifkan Modul Rewrite
Kimai membutuhkan modul rewrite Apache untuk berfungsi dengan benar:
-
sudo a2enmod rewrite
3.4 Memulai Ulang Apache
Mulai ulang Apache untuk menerapkan perubahan:
-
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:
-
sudo mysql -u root -p
-
CREATE DATABASE kimai;
-
CREATE USER 'kimaiuser'@'localhost' IDENTIFIED BY 'password';
-
GRANT ALL PRIVILEGES ON kimai.* TO 'kimaiuser'@'localhost';
-
FLUSH PRIVILEGES;
-
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.
-
sudo apt install certbot python3-certbot-apache
-
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:
-
sudo ufw allow OpenSSH
-
sudo ufw allow 'Apache Full'
-
sudo ufw enable
5.3 Pembaruan Rutin
Pastikan untuk secara teratur memperbarui sistem Ubuntu dan Kimai Anda untuk
menambal kerentanan keamanan.
-
sudo apt update
-
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:
-
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!
“`