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 --ignore-platform-reqs
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>
#ganti dengan domain anda
ServerName ildis.local
#ErrorLog /var/log/apache2/advanced.local.error.log
#CustomLog /var/log/apache2/advanced.local.access.log combined
AddDefaultCharset UTF-8
Options FollowSymLinks
DirectoryIndex index.php index.html
RewriteEngine on
RewriteRule /\. - [L,F]
DocumentRoot /path/to/ildis/
<Directory /path/to/ildis/>
AllowOverride none
<IfVersion < 2.4>
Order Allow,Deny
Allow from all
</IfVersion>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
# if a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward the request to index.php
RewriteRule ^ index.php [L]
</Directory>
# redirect to the URL without a trailing slash (uncomment if necessary)
#RewriteRule ^/admin/$ /admin [L,R=301]
Alias /admin /path/to/ildis/backend/
# prevent the directory redirect to the URL with a trailing slash
RewriteRule ^/admin$ /admin/ [L,PT]
<Directory /path/to/ildis/backend/>
AllowOverride none
<IfVersion < 2.4>
Order Allow,Deny
Allow from all
</IfVersion>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
# if a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward the request to index.php
RewriteRule ^ index.php [L]
</Directory>
</VirtualHost>
Terminal window
sudo nano /etc/nginx/sites-available/ildis
nginx
server {
set $project_root /path/to/ildis.go.id;
#set $fcgi_server 127.0.0.1:9000;
set $fcgi_server unix:/var/run/php-fpm/example.socket;
charset utf-8;
client_max_body_size 128M;
listen 80;
server_name ildis.go.id;
root $project_root/;
index index.php;
access_log /var/log/nginx/ildis.access.log combined;
error_log /var/log/nginx/ildis.error.log warn;
location ^~ /backend {
rewrite ^/backend(.*)$ /backend/$1 last;
}
location ^~ /backend/ {
root $project_root;
# uncomment the following, if you want to enable speaking URL in the backend
#try_files $uri $uri/ /backend/index.php$is_args$args;
location ~ /\.(ht|svn|git) {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass $fcgi_server;
try_files $uri =404;
}
}
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~* \.(?:css|js|jpg|jpeg|gif|png|ico|woff2?|ttf|svg|eot|webp|pdf)$ {
expires 30d;
access_log off;
add_header Cache-Control "public";
try_files $uri =404;
}
location ~ /\.(ht|svn|git|env|DS_Store) {
deny all;
}
location ~ ^/(vendor|node_modules|\.vagrant|vagrant|DATABASE|\.github)(/|$) {
deny all;
return 403;
}
location ~* ^/(Vagrantfile|composer\.(json|lock|phar)|package\.json|\.bowerrc|\.gitignore|README.*|CHANGE.*|codeception\.yml|requirements\.php|yii(_test)?(\.bat)?)$ {
deny all;
return 403;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass $fcgi_server;
try_files $uri =404;
}
}

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>
#ganti dengan domain anda
ServerName ildis.local
#ErrorLog /var/log/apache2/advanced.local.error.log
#CustomLog /var/log/apache2/advanced.local.access.log combined
AddDefaultCharset UTF-8
Options FollowSymLinks
DirectoryIndex index.php index.html
RewriteEngine on
RewriteRule /\. - [L,F]
DocumentRoot /path/to/ildis/
<Directory /path/to/ildis/>
AllowOverride none
<IfVersion < 2.4>
Order Allow,Deny
Allow from all
</IfVersion>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
# if a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward the request to index.php
RewriteRule ^ index.php [L]
</Directory>
# redirect to the URL without a trailing slash (uncomment if necessary)
#RewriteRule ^/admin/$ /admin [L,R=301]
Alias /admin /path/to/ildis/backend/
# prevent the directory redirect to the URL with a trailing slash
RewriteRule ^/admin$ /admin/ [L,PT]
<Directory /path/to/ildis/backend/>
AllowOverride none
<IfVersion < 2.4>
Order Allow,Deny
Allow from all
</IfVersion>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
# if a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward the request to index.php
RewriteRule ^ index.php [L]
</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 RECAPTCHA_SITE_KEY.

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

Referensi :