Lewati ke konten
GitHub

Instalasi ILDIS

Instalasi ILDIS pada halaman ini paling menggambarkan kondisi instalasi pada lingkungan pengembangan (development). Namun section instalasi manual terutama pada Sistem Operasi Ubuntu dapat mewakili kondisi lingkungan production. Anda dapat langsung ke bagian instalasi manual jika anda ingin segera memasang ILDIS pada lingkunga production lalu melihat referensi konfigurasi yang direkomendasikan pada halaman deployment.

Untuk mengunduh ILDIS anda dapat melakukan clone repositori ildis menggunakan perintah berikut :

Terminal window
git clone https://github.com/bphndigitalservice/ildis.git

Anda juga dapat mengunduh rilis terakhir ILDIS pada website di sini




ILDIS dapat dipasang pada berbagai macam sistem operasi seperti Linux, Windows, atau macOS. Pada tahap development kami menyarankan anda untuk menggunakan Vagrant.

Instalasi ILDIS dengan menggunakan vagrant adalah cara yang paling mudah dan cepat. Namun sebelum itu pastikan terlebih dahulu bahwa pada perangkat anda telah terpasang Vagrant dan VirtualBox.

PERTHATIAN!! Sebelum itu anda harus membuat Github Personal Token terlebih dahulu di sini. Pada halaman tersebut anda dapat memilih Generate New Token lalu pilih Generate new token (classic) dan pilih Expiration sesuai kebutuhan anda. Centang repo seperti pada gambar :

Github PAT

Selanjutnya copy Personal Access Token Tersebut ke file vagrant/config/vagrant-local.yml pada bagian github_token :

vagrant-local.yml
# Your personal GitHub token
github_token: <your personal access token>
# Read more: https://github.com/blog/1509-personal-api-tokens
# You can generate it here: https://github.com/settings/tokens
# Guest OS timezone
timezone: Asia/Jakarta
# Are we need check box updates for every 'vagrant up'?
box_check_update: false
# Virtual machine name
machine_name: ildis4
# Virtual machine IP
ip: 192.168.83.137
# Virtual machine CPU cores number
cpus: 1
# Virtual machine RAM
memory: 1024

Setelah itu anda dapat mengeksekusi perintah berikut :

iTerm
vagrant up

Berikut adalah contoh proses booting virtual machine dengan perintah vagrant up berhasil :

vagrant up

Jika virtual machine sudah berjalan, selanjutnya adalah masuk ke virtual machine menggunakan ssh dengan perintah berikut:

iTerm
vagrant ssh

Maka anda akan masuk ke dalam virtual machine dengan ildisv4 seperti contoh berikut:

vagrant ssh

Selanjutnya adalah melakukan setup project ILDIS dengan perintah berikut :

vagrant@ildis4:~
cd /app && composer install && php init

Jika semua proses sudah selesai selanjutnya anda dapat melakukan konfigurasi ILDIS pada file .env. Sebelum itu copy terlebih dahulu file konfigurasi contoh dengan perintah berikut:

vagrant@ildis4:~
cp .env.example .env

Setelah itu anda dapat mengubah konfigurasi file .env sesuai dengan kebutuhan anda. Berikut adalah isi dari file konfigurasi:

.env
# Environment configuration file for the application.
YII_ENV=prod
YII_DEBUG=true
# Database configuration
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=
DB_DATABASE=ildis_v4
DB_DATABASE_PORT=3306
PUBLIC_DOMAIN=http://ildis-frontend.test
# Cookie validation keys for different environments
COOKIE_VALIDATION_KEY_BE=
COOKIE_VALIDATION_KEY_FE=
# reCAPTCHA configuration
RECAPTCHA_SITE_KEY=
RECAPTCHA_SECRET_KEY=

Jika semua konfigurasi sudah selesai, buat database dengan nama sesuai dengan yang anda buat pada file konfigurasi. Di sini misalnya ildis_v4:

vagrant@ildis4:~
mysql -u root

Lalu buat database dengan perintah berikut:

mysql
create database ildis_v4; //tekan enter
exit;

Selanjutnya anda dapat melakukan migrasi database dengan perintah berikut:

vagrant@ildis4:~
mysql -u root ildis_v4 < /app/DATABASE/ildis_v4.sql

Jika semua berjalan dengan baik maka anda dapat mengakses laman ILDIS pada :

Jika semua berjalan lancar maka anda akan mendapatkan tampilan seperti ini :

Sukses Instalasi ILDIS Frontend

Jika Anda tidak ingin menggunakan Vagrant, ILDIS dapat dipasang secara manual pada sistem Anda. Namun perlu dipahami bahwa instalasi manual membutuhkan pemahaman dasar tentang konfigurasi server web (Apache/Nginx), virtual host, serta permission file dan folder.

Bagian ini menjelaskan cara instalasi manual pada lingkungan :

  • Windows menggunakan XAMPP
  • Linux/macOS menggunakan PHP, Composer, dan MySQL

Terminal window
brew tap shivammathur/php
brew install php@7.4 mysql nginx git composer

Setelah itu, tambahkan PHP 7.4 ke PATH:

Terminal window
echo 'export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Terminal window
cd /var/www
git clone https://github.com/bphndigitalservice/ildis.git
composer install
php init
Terminal window
cp .env.example .env

Edit file .env:

.env
# Database configuration
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=yourpassword
DB_DATABASE=ildis_v4
DB_DATABASE_PORT=3306
Terminal window
mysql -u root -p ildis_v4 < DATABASE/ildis_v4.sql

Buat file:

Terminal window
sudo nano /etc/apache2/sites-available/ildis.conf
<VirtualHost *:80>
ServerName ildis-frontend.test
DocumentRoot /var/www/ildis/frontend/web
<Directory /var/www/ildis>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName ildis-backend.test
DocumentRoot /var/www/ildis/backend/web
<Directory /var/www/ildis/backend/web>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Terminal window
sudo nano /etc/nginx/sites-available/ildis
nginx
server {
charset utf-8;
client_max_body_size 128M;
sendfile off;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name ildis-frontend.test;
root root /var/www/ildis/;
index index.php;
access_log /etc/nginx/log/frontend-access.log;
error_log /etc/nginx/log/frontend-error.log;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_pass 127.0.0.1:9000;
#sesuaikan dengan versi php fpm anda
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
try_files $uri =404;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}
server {
charset utf-8;
client_max_body_size 128M;
sendfile off;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name ildis-backend.test;
root /var/www/ildis/backend/;
index index.php;
access_log /etc/nginx/log/backend-access.log;
error_log /etc/nginx/log/backend-error.log;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
try_files $uri =404;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}

Lalu aktifkan config-nya:

Terminal window
sudo brew services restart nginx
127.0.0.1 ildis-frontend.test
127.0.0.1 ildis-backend.test

Akses Aplikasi :




Clone ILDIS ke dalam folder htdocs:

Terminal window
cd C:\xampp\htdocs
git clone https://github.com/bphndigitalservice/ildis.git ildis

Atau ekstrak file rilis dari GitHub Releases

Terminal window
cd C:\xampp\htdocs\ildis
composer install
php init
Terminal window
copy .env.example .env

Edit file .env dan sesuaikan nilai dengan kredensial MySQL / MariaDB anda.

Terminal window
mysql -u root -p ildis_v4 < DATABASE/ildis_v4.sql

Atau gunakan phpMyAdmin untuk import manual.

Edit file C:\xampp\apache\conf\extra\httpd-vhosts.conf, tambahkan :

httpd-vhosts.conf
<VirtualHost *:80>
ServerName ildis-frontend.test
DocumentRoot /var/www/ildis/frontend/web
<Directory /var/www/ildis>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName ildis-backend.test
DocumentRoot /var/www/ildis/backend/web
<Directory /var/www/ildis/backend/web>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

Edit file hosts:

hosts
C:\Windows\System32\drivers\etc\hosts

Tambahkan baris berikut:

hosts
127.0.0.1 ildis-frontend.test ildis-backend.test

Restart Apache dari XAMPP Control Panel.




Untuk membuat user awal anda dapat menggunakan user :

User Default
username : sample
password: C~;4dwqWh>(!%:e,<r

Untuk membuat user dengan CLI anda dapat menggunakan command berikut :

Membuat User
php yii user/create

Pada halaman konfigurasi terdapat entry COOKIE_VALIDATION_KEY_BE dan COOKIE_VALIDATION_KEY_FE kedua entry tersebut harus diisi untuk validasi cookie agar mekanisme keamanan dapat berjalan dengan benar.

.env
...
# Cookie validation keys for different environments
COOKIE_VALIDATION_KEY_BE=
COOKIE_VALIDATION_KEY_FE=
...

Untuk generate COOKIE_VALIDATION_KEY_BE / COOKIE_VALIDATION_KEY_FE anda dapat mengeksekusi perintah berikut :

Terminal
bash <(curl -s https://raw.githubusercontent.com/bphndigitalservice/ildis-helper-scripts/refs/heads/main/generate_cookie_keys.sh)



Google reCAPTCHA v3 membantu melindungi ILDIS dari bot tanpa interaksi pengguna pada halaman Login Admin (backend). Berikut ini adalah langkah-langkah untuk mendapatkan Site Key dan Secret Key dari Google reCAPTCHA v3.

Langkah-langkah Mendapatkan reCAPTCHA v3 Key

Section titled “Langkah-langkah Mendapatkan reCAPTCHA v3 Key”
1. Kunjungi Halaman Admin Google reCAPTCHA
Section titled “1. Kunjungi Halaman Admin Google reCAPTCHA”

Buka link berikut di browser Anda:

https://www.google.com/recaptcha/admin/create

Anda harus login menggunakan akun Google.

Isi form yang tersedia dengan detail sebagai berikut:

  • Label Nama identifikasi untuk project kamu. Misalnya: MyILDIS

  • reCAPTCHA Type Pilih opsi:

reCAPTCHA v3
  • Domains Masukkan domain tempat anda akan menggunakan reCAPTCHA, tanpa https:// dan tanpa /. Contoh:
ildis-backend.test
jdih.kemenkum.go.id
  • Owners Secara default diisi dengan akun anda. Bisa ditambahkan owner lain jika perlu.

  • Accept the reCAPTCHA Terms of Service Centang checkbox ini untuk menyetujui ketentuan.

  • (Optional) Centang “Send alerts to owners” jika ingin menerima notifikasi keamanan dari Google.

Klik tombol Submit untuk mendaftar.

Setelah submit, kamu akan melihat dua key penting:

  • Site Key Copy value pada bagian ini ke entry COOKIE_VALIDATION_KEY_FE.

  • Secret Key Copy value pada bagian ini ke entry COOKIE_VALIDATION_KEY_BE.

Referensi :