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.
Unduh ILDIS
Section titled “Unduh ILDIS”Git Clone
Section titled “Git Clone”Untuk mengunduh ILDIS anda dapat melakukan clone repositori ildis menggunakan perintah berikut :
git clone https://github.com/bphndigitalservice/ildis.git
Ekstrak Manual
Section titled “Ekstrak Manual”Anda juga dapat mengunduh rilis terakhir ILDIS pada website di sini
Vagrant
Section titled “Vagrant”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 :
Selanjutnya copy Personal Access Token Tersebut ke file vagrant/config/vagrant-local.yml
pada bagian github_token
:
# Your personal GitHub tokengithub_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 timezonetimezone: Asia/Jakarta
# Are we need check box updates for every 'vagrant up'?box_check_update: false
# Virtual machine namemachine_name: ildis4
# Virtual machine IPip: 192.168.83.137
# Virtual machine CPU cores numbercpus: 1
# Virtual machine RAMmemory: 1024
Setelah itu anda dapat mengeksekusi perintah berikut :
vagrant up
Berikut adalah contoh proses booting virtual machine dengan perintah vagrant up berhasil :
Jika virtual machine sudah berjalan, selanjutnya adalah masuk ke virtual machine menggunakan ssh dengan perintah berikut:
vagrant ssh
Maka anda akan masuk ke dalam virtual machine dengan ildisv4 seperti contoh berikut:
Selanjutnya adalah melakukan setup project ILDIS dengan perintah berikut :
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:
cp .env.example .env
Setelah itu anda dapat mengubah konfigurasi file .env
sesuai dengan kebutuhan anda. Berikut adalah isi dari file konfigurasi:
# Environment configuration file for the application.YII_ENV=prodYII_DEBUG=true
# Database configurationDB_HOST=localhostDB_USER=rootDB_PASSWORD=DB_DATABASE=ildis_v4DB_DATABASE_PORT=3306
PUBLIC_DOMAIN=http://ildis-frontend.test
# Cookie validation keys for different environmentsCOOKIE_VALIDATION_KEY_BE=COOKIE_VALIDATION_KEY_FE=
# reCAPTCHA configurationRECAPTCHA_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
:
mysql -u root
Lalu buat database dengan perintah berikut:
create database ildis_v4; //tekan enterexit;
Selanjutnya anda dapat melakukan migrasi database dengan perintah berikut:
mysql -u root ildis_v4 < /app/DATABASE/ildis_v4.sql
Jika semua berjalan dengan baik maka anda dapat mengakses laman ILDIS pada :
- http://ildis-frontend.test (untuk frontend)
- http://ildis-backend.test (untuk halaman admin)
Jika semua berjalan lancar maka anda akan mendapatkan tampilan seperti ini :
Instalasi Manual (Tanpa Vagrant)
Section titled “Instalasi Manual (Tanpa Vagrant)”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
A. Linux / macOS
Section titled “A. Linux / macOS”1. Instalasi Prasyarat
Section titled “1. Instalasi Prasyarat”brew tap shivammathur/phpbrew install php@7.4 mysql nginx git composer
Setelah itu, tambahkan PHP 7.4 ke PATH:
echo 'export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"' >> ~/.zshrcsource ~/.zshrc
sudo add-apt-repository ppa:ondrej/php -ysudo apt-get updatesudo apt install -y php7.4 php7.4-cli php7.4-common php7.4-curl php7.4-mbstring php7.4-intl php7.4-mysql php7.4-xml php7.4-fpm php7.4-gd php7.4-zip php7.4-xdebug unzip nginx mysql-server
Catatan: Jika
add-apt-repository
belum tersedia, jalankansudo apt-get install software-properties-common
.
2. Unduh dan Pasang ILDIS
Section titled “2. Unduh dan Pasang ILDIS”cd /var/wwwgit clone https://github.com/bphndigitalservice/ildis.gitcomposer installphp init
3. Konfigurasi .env
Section titled “3. Konfigurasi .env”cp .env.example .env
Edit file .env:
# Database configurationDB_HOST=localhostDB_USER=rootDB_PASSWORD=yourpasswordDB_DATABASE=ildis_v4DB_DATABASE_PORT=3306
4. Import Database
Section titled “4. Import Database”mysql -u root -p ildis_v4 < DATABASE/ildis_v4.sql
5. Konfigurasi Apache Virtual Host
Section titled “5. Konfigurasi Apache Virtual Host”Buat file:
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>
Konfigurasi Nginx
Section titled “Konfigurasi Nginx”sudo nano /etc/nginx/sites-available/ildis
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:
sudo brew services restart nginx
sudo systemctl restart nginx
6. Edit /etc/hosts
Section titled “6. Edit /etc/hosts”127.0.0.1 ildis-frontend.test127.0.0.1 ildis-backend.test
Akses Aplikasi :
- http://ildis-frontend.test (untuk frontend)
- http://ildis-backend.test (untuk halaman admin)
B. Windows dengan XAMPP
Section titled “B. Windows dengan XAMPP”1. Unduh dan Pasang XAMPP
Section titled “1. Unduh dan Pasang XAMPP”- Unduh dari https://www.apachefriends.org/index.html
- Install dengan pilihan default
- Aktifkan Apache dan MySQL melalui XAMPP Control Panel
2. Unduh ILDIS
Section titled “2. Unduh ILDIS”Clone ILDIS ke dalam folder htdocs
:
cd C:\xampp\htdocsgit clone https://github.com/bphndigitalservice/ildis.git ildis
Atau ekstrak file rilis dari GitHub Releases
3. Setup Proyek
Section titled “3. Setup Proyek”cd C:\xampp\htdocs\ildiscomposer installphp init
4. Buat File .env
Section titled “4. Buat File .env”copy .env.example .env
Edit file .env
dan sesuaikan nilai dengan kredensial MySQL / MariaDB anda.
5. Import Database
Section titled “5. Import Database”mysql -u root -p ildis_v4 < DATABASE/ildis_v4.sql
Atau gunakan phpMyAdmin untuk import manual.
6. Buat Virtual Host
Section titled “6. Buat Virtual Host”Edit file C:\xampp\apache\conf\extra\httpd-vhosts.conf
, tambahkan :
<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:
C:\Windows\System32\drivers\etc\hosts
Tambahkan baris berikut:
127.0.0.1 ildis-frontend.test ildis-backend.test
Restart Apache dari XAMPP Control Panel.
User Default Backend / Admin
Section titled “User Default Backend / Admin”Untuk membuat user awal anda dapat menggunakan user :
username : samplepassword: C~;4dwqWh>(!%:e,<r
Membuat user dengan CLI
Section titled “Membuat user dengan CLI”Untuk membuat user dengan CLI anda dapat menggunakan command berikut :
php yii user/create
Konfigurasi Tambahan
Section titled “Konfigurasi Tambahan”Cookie Validation Key
Section titled “Cookie Validation Key”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.
...
# Cookie validation keys for different environmentsCOOKIE_VALIDATION_KEY_BE=COOKIE_VALIDATION_KEY_FE=
...
Untuk generate COOKIE_VALIDATION_KEY_BE
/ COOKIE_VALIDATION_KEY_FE
anda dapat mengeksekusi perintah berikut :
bash <(curl -s https://raw.githubusercontent.com/bphndigitalservice/ildis-helper-scripts/refs/heads/main/generate_cookie_keys.sh)
$phpScript = Invoke-RestMethod -Uri "https://raw.githubusercontent.com/bphndigitalservice/ildis-helper-scripts/refs/heads/main/generate_cookie_keys.php"php -r $phpScript
Google Recaptcha Key
Section titled “Google Recaptcha Key”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.
2. Daftarkan Situs Baru
Section titled “2. Daftarkan Situs Baru”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.testjdih.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.
3. Salin Site Key dan Secret Key
Section titled “3. Salin Site Key dan Secret Key”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 :