OpenDK

OpenDK

OpenDK (Open Data Kecamatan) adalah platform open source berbasis web yang dikembangkan untuk mendukung pengelolaan data dan pelayanan administrasi di tingkat kecamatan. OpenDK dirancang agar kecamatan dapat mengintegrasikan data desa-desa yang menggunakan OpenSID dan menyajikan data yang akurat untuk keperluan perencanaan, pemantauan, serta pelayanan publik.

OpenDK dikembangkan oleh komunitas OpenSID, yang fokus pada penyediaan solusi berbasis teknologi bagi pemerintah desa dan kecamatan di Indonesia. Dengan OpenDK, kecamatan dapat memperkuat tata kelola pemerintahan dan mendukung upaya transparansi serta akuntabilitas publik.

1. Persyaratan Sistem

System requirements untuk OpenDK:

  • PHP 7.2.5+
  • MySQL 5.7.8+ atau MariaDB 5.7.8+
  • Apache atau Nginx
  • Composer

Sebelum memulai deploy, siapkan:

  • VPS atau server dengan OS Ubuntu 24.04
  • Akses SSH ke server
  • Domain yang sudah diarahkan ke server

2. Persiapan Server

Update sistem

sudo apt update
sudo apt upgrade -y

Install Apache

sudo apt install apache2 -y

Install MariaDB

sudo apt install mariadb-server -y

Tambah repository PPA ondrej/php

sudo add-apt-repository ppa:ondrej/php -y
sudo apt upgrade -y

Install PHP 8.3 dan extension yang dibutuhkan

sudo apt install libapache2-mod-php8.3 php8.3 php8.3-cli php8.3-common \
  php8.3-apcu php8.3-mbstring php8.3-gd php8.3-intl \
  php8.3-xml php8.3-soap php8.3-bcmath php8.3-mysql php8.3-zip \
  php8.3-curl php8.3-tidy php8.3-imagick -y

Install Composer

sudo wget https://getcomposer.org/download/latest-stable/composer.phar -O /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

3. Buat Database

Login ke MariaDB

sudo mysql

Buat database dan user

CREATE DATABASE opendk;
GRANT ALL PRIVILEGES ON opendk.* TO 'opendk'@'localhost' IDENTIFIED BY 'rahasia';
FLUSH PRIVILEGES;
exit

4. Konfigurasi Apache

Buat konfigurasi virtual host

sudo nano /etc/apache2/sites-available/opendk.nama.desa.id.conf

Masukkan konfigurasinya

<VirtualHost *:80>
    ServerName opendk.nama.desa.id
    DocumentRoot /var/www/opendk.nama.desa.id/public
    <Directory /var/www/opendk.nama.desa.id/public>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog /var/log/apache2/opendk.nama.desa.id_error.log
    CustomLog /var/log/apache2/opendk.nama.desa.id_access.log combined
</VirtualHost>

Aktifkan modul rewrite, virtual host, dan restart apache2

sudo a2enmod rewrite
sudo a2ensite opendk.nama.desa.id
sudo systemctl restart apache2		

5. Install SSL

Install certbot

sudo apt install certbot python3-certbot-apache -y	

Request sertifikat SSL

sudo certbot --non-interactive \
    -m [email protected] \
    --agree-tos \
    --no-eff-email \
    --apache -d opendk.nama.desa.id \
    --redirect	

6. Install OpenDK

Download source code OpenDK dari GitHub

git clone https://github.com/OpenSID/OpenDK.git opendk	

Buat file .env

cd opendk
cp .env.example .env

Buka file .env

nano .env

Atur konfigurasinya

DB_DATABASE=opendk
DB_USERNAME=opendk
DB_PASSWORD=rahasia

Install dependensi

composer install

Migrate database

php artisan migrate

Jawab yes untuk pertanyaan Do you really wish to run this command?

Do you really wish to run this command? (yes/no) [no] 
> yes

Pindahkan direktori ke /var/www

sudo mv ../opendk /var/www/opendk.nama.desa.id 

Ubah user-group direktori

sudo chown -R www-data:www-data /var/www/opendk.nama.desa.id

Akses https://opendk.nama.desa.id untuk melanjutkan instalasi.

  1. Klik Cek Kebutuhan untuk memeriksa server requirements
  2. Jika semuanya sudah terpenuhi, klik Cek Hak Akses untuk memeriksa hak akses direktori
  3. Jika semuanya sudah terpenuhi, klik Konfigurasi Lingkungan untuk melakukan pengaturan environment
  4. Klik Form Penyetelan Wizard
  5. Masukkan Nama Aplikasi, pilih Lingkungan Aplikasi yaitu Produksi, pilih Tidak untuk Debug Aplikasi, dan masukkan URL Aplikasi yaitu https://opendk.nama.desa.id, klik Setel Basis Data
  6. Masukkan Nama Basis Data, Pengguna Basis Data, dan Kata Sandi Basis Data, klik Setel Aplikasi
  7. Klik Pasang
  8. Jika instalasi berhasil ditampilkan pesan Dashboard Kecamatan berhasil DIPASANG ..., klik Klik di sini untuk keluar