Cara Install CKAN untuk Open Data Portal di Ubuntu 20.04

Install CKAN Open Data Portal

Comprehensive Knowledge Archive Network (CKAN) adalah perangkat lunak open source untuk portal open data, CMS yang dapat membantu kita dalam mengelola dan menerbitkan sekumpulan data. CKAN digunakan oleh pemerintah pusat dan daerah, lembaga penelitian, dan organisasi lain untuk mempublikasikan data.

Contoh pemakaian di Indonesia yaitu Satu Data Indonesia (SDI) yang merupakan kebijakan tata kelola data pemerintah dengan tujuan untuk menciptakan data berkualitas, mudah diakses, dan dapat dibagipakaikan antar instansi pusat dan daerah. Kebijakan SDI ini tertuang dalam Peraturan Presiden No. 39 Tahun 2019 tentang Satu Data Indonesia. Melalu SDI, seluruh data pemerintah dan data instansi lain yang terkait dapat bermuara di Portal Satu Data Indonesia (data.go.id). Contoh pemerintah daerah yang memiliki portal open data yaitu Open Data Jakarta, Open Data Bandung, dan Open Data Kalimantan Barat.

Tech Stack

CKAN dikembangkan dengan menggunakan bahasa pemrograman Python sebagai backend, JavaScript sebagai frontend, database PostgreSQL dan search engine Solr. CKAN memungkinkan untuk ditambahkan ekstensi atau fitur tambahan karena memakai arsitektur modular. Selain itu CKAN juga memiliki fitur API.

System Requirements

Hardware Requirements

Untuk portal dengan skala nasional dengan trafik tinggi:

  • 2 server dengan RAM 8GB. Satu server untuk web dan satunya lagi untuk database/Solr
  • Storage 160GB. Web server bisa saja lebih besar, sesuai kebutuhan, seberapa banyak data yang ingin disimpan
  • Quad core processor. Lebih cepat lebih baik

Untuk portal level daerah dengan trafik lebih rendah:

  • 2 server dengan RAM 2GB
  • Storage 80GB
  • Dual core processor

Web dan database dapat digabungkan dalam satu server yang sama, tetapi CKAN merekomendasikan memisahkannya demi alasan keamanan.

Software Requirements

Operating system
Direkomendasikan menggunakan Ubuntu 16.04 64bit, CKAN tersedia dalam paket .deb. CKAN juga sudah diuji di CentOS dan distribusi Linux utama lainnya.

Web server

  • Apache
  • Nginx, untuk https dan caching
  • Python 2.7.x

Database server

  • Postgres 9.3+
  • Redis
  • Tomcat/Jetty + Solr

System requirements di atas berdasarkan hosting guidelines CKAN, update terakhir 20-12-2017.

Perangkat Tutorial

Perangkat yang digunakan di tutorial ini:

  • VPS 1CPU, RAM 2GB, Disk 50GB
  • Ubuntu 20.04
  • Nginx 1.18
  • Python 3.8.5
  • Supervisor 4.1.0
  • PostgreSQL 12.4
  • Redis 5.0.7
  • Solr 3.6.2
  • CKAN package 2.9.1

Port yang digunakan:

ServicePortUsed for
Nginx80Proxy
uWSGI8080Web server
uWSGI8800DataPusher
Solr/Jetty8983Search
PostgreSQL5432Database
Redis6379Search

1. Install CKAN package

Update Ubuntu.

Install package dependencies.

Download CKAN package.

Install CKAN package.

2. Install PostgreSQL

Install PostgreSQL database.

Cek apakah PostgresSQL terinstall dengan baik dengan cara menampilkan database yang ada.

Membuat user PostgreSQL dengan nama ckan_default.

Membuat database PostgreSQL dengan nama ckan_default.

Cek apakah database ckan_default berhasil dibuat.

Hasilnya.

3. Install Solr

Install Solr engine.

Buka file konfigurasi Tomcat.

Ubah default port Tomcat dari 8080 ke nomor 8983.

Ganti file default schema.xml dengan symlink ke file CKAN schema yang disertakan di dalam sources.

Restart Solr dengan merestart tomcat.

4. Konfigurasi CKAN

Buka file konfigurasi CKAN.

Aktifkan opsi solr_url dengan menghapus hashtag (#).

URL untuk CKAN site, misalnya memakai subdomain data.defnex.com.

Opsi untuk koneksi ke database PostgreSQL, misalnya username = ckan_default, password = secretpassword, dan database = ckan_default.

Inisialisasi database CKAN.

Hasilnya.

Restart Supervisor dan cek statusnya.

Hasilnya.

Restart Nginx.

5. Pengujian

Uji dengan browse http://localhost atau http://data.defnex.com.

CKAN web frontpage
CKAN web frontpage

6. Install SSL

Backup file default konfigurasi server block ckan.

Buka file konfigurasi ckan.

Masukkan opsi server_name dan log.

Tes konfigurasi Nginx.

Restart Nginx.

Uji kembali mengakses http://data.defnex.com, apakah tidak ada masalah setelah konfigurasi Nginx diubah.

Install certbot untuk Let’s Encrypt SSL.

Request SSL untuk data.defnex.com.

Uji browse https://data.defnex.com.

CKAN dengan protokol https
CKAN dengan protokol https

7. Membuat sysadmin user

Gunakan CKAN command line interface untuk membuat sysadmin user pertama kali dan bisa juga untuk membuat test data.

Mengaktifkan virtualenv.

Membuat user baru dengan nama musa dan menjadikannya sebagai sysadmin.

Hasilnya.

Atau jika ingin menjadikan user yang sudah ada sebagai sysadmin.

Uji sysadmin user yang baru dibuat dengan login di web CKAN.

CKAN dashboard
CKAN dashboard

8. Pemakaian Resources

Mengecek pemakaian resources VPS yang terpakai dengan menggunakan htop.

Resources VPS yang terpakai
Resources VPS yang terpakai

Selamat mencoba 🙂

Default image
Musa Amin
I am a Linux System Administrator and also write many tutorials about Linux, Cloud, and Open Source. Hire me via email hai[at]musaamin.web.id.

Leave a Reply