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 dibagi pakaikan 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, atau Open Data Kalimantan Barat.
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.
Untuk portal dengan skala nasional dengan trafik tinggi :
Untuk portal level daerah dengan trafik lebih rendah :
Web dan database dapat digabungkan dalam satu server yang sama, tetapi CKAN merekomendasikan memisahkannya demi alasan keamanan.
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
Database server
System requirements di atas berdasarkan hosting guidelines CKAN, update terakhir 20-12-2017.
Berikut ini merupakan perangkat yang digunakan di tutorial ini, yaitu :
Port yang digunakan :
Service | Port | Used for |
---|---|---|
Nginx | 80 | Proxy |
uWSGI | 8080 | Web server |
uWSGI | 8800 | Data Pusher |
Solr/Jetty | 8983 | Search |
PostgreSQL | 5432 | Database |
Redis | 6379 | Search |
Update Ubuntu.
sudo apt update sudo apt upgrade -y
Install package dependencies.
sudo apt install -y libpq5 redis-server nginx supervisor
Download CKAN package.
wget http://packaging.ckan.org/python-ckan_2.9-py3-focal_amd64.deb
Install CKAN package.
sudo dpkg -i python-ckan_2.9-py3-focal_amd64.deb
Install PostgreSQL database.
sudo apt install postgresql -y
Cek apakah PostgresSQL terinstall dengan baik dengan cara menampilkan database yang ada.
sudo -u postgres psql -l
Membuat user PostgreSQL dengan nama ckan_default.
sudo -u postgres createuser -S -D -R -P ckan_default
Membuat database PostgreSQL dengan nama ckan_default.
sudo -u postgres createdb -O ckan_default ckan_default -E utf-8
Cek apakah database ckan_default berhasil dibuat.
sudo -u postgres psql -l
Hasilnya.
Install Solr engine.
sudo apt install solr-tomcat -y
Buka file konfigurasi Tomcat.
sudo nano /etc/tomcat9/server.xml
Ubah default port Tomcat dari 8080 ke nomor 8983.
Connector port="8983" protocol="HTTP/1.1"
Ganti file default schema.xml dengan symlink ke file CKAN schema yang disertakan di dalam sources.
sudo mv /etc/solr/conf/schema.xml /etc/solr/conf/schema.xml.bak sudo ln -s /usr/lib/ckan/default/src/ckan/ckan/config/solr/schema.xml /etc/solr/conf/schema.xml
Restart Solr dengan merestart tomcat.
sudo systemctl restart tomcat9
Buka file konfigurasi CKAN.
sudo nano /etc/ckan/default/ckan.ini
Aktifkan opsi solr_url dengan menghapus hashtag (#).
solr_url=http://127.0.0.1:8983/solr
URL untuk CKAN site, misalnya memakai subdomain data.defnex.com.
ckan.site_url = http://data.defnex.com
Opsi untuk koneksi ke database PostgreSQL, misalnya username = ckan_default, password = secretpassword, dan database = ckan_default.
sqlalchemy.url = postgresql://ckan_default:secretpassword@localhost/ckan_default
Inisialisasi database CKAN.
sudo ckan db init
Hasilnya.
2020-11-13 07:12:12,813 INFO [ckan.cli.db] Initialize the Database 2020-11-13 07:12:15,420 INFO [ckan.model] CKAN database version upgraded: base -> ccd38ad5fced (head) 2020-11-13 07:12:15,420 INFO [ckan.model] Database initialised Initialising DB: SUCCESS
Restart Supervisor dan cek statusnya.
sudo supervisorctl reload sudo supervisorctl status
Hasilnya
ckan-datapusher:ckan-datapusher-00 RUNNING pid 2711, uptime 0:00:21 ckan-uwsgi:ckan-uwsgi-00 RUNNING pid 2712, uptime 0:00:21 ckan-worker:ckan-worker-00 RUNNING pid 2713, uptime 0:00:21
Restart Nginx.
sudo systemctl restart nginx
Uji dengan browser http://localhost atau http://data.defnex.com.
Backup file default konfigurasi server block ckan.
cd /etc/nginx/sites-available/
sudo cp ckan ckan.bak
Buka file konfigurasi ckan.
sudo nano ckan
Masukkan opsi server_name dan log.
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache:30m max_size=250m; proxy_temp_path /tmp/nginx_proxy 1 2; server { listen 80; server_name data.defnex.com; client_max_body_size 100M; location / { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $host; proxy_cache cache; proxy_cache_bypass $cookie_auth_tkt; proxy_no_cache $cookie_auth_tkt; proxy_cache_valid 30m; proxy_cache_key $host$scheme$proxy_host$request_uri; # In emergency comment out line to force caching # proxy_ignore_headers X-Accel-Expires Expires Cache-Control; } access_log /var/log/nginx/data.defnex.com_access.log; error_log /var/log/nginx/data.defnex.com_error.log warn; }
Tes konfigurasi Nginx.
sudo nginx -t
Restart Nginx.
sudo systemctl restart nginx sudo systemctl status nginx
Uji kembali mengakses http://data.defnex.com, apakah tidak ada masalah setelah konfigurasi Nginx diubah.
Install certbot untuk Let’s Encrypt SSL
sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot
Request SSL untuk data.defnex.com.
sudo certbot --nginx -d data.defnex.com
Uji browser https://data.defnex.com.
Gunakan CKAN command line interface untuk membuat sysadmin user pertama kali dan bisa juga untuk membuat test data.
Mengaktifkan virtualenv.
. /usr/lib/ckan/default/bin/activate cd /usr/lib/ckan/default/src/ckan
Membuat user baru dengan nama musa dan menjadikannya sebagai sysadmin.
ckan -c /etc/ckan/default/ckan.ini sysadmin add musa email=trial@musaamin.web.id name=musa
Hasilnya.
User "musa" not found Create new user: musa? [Y/n]: y Password : Repeat for confirmation: Successfully created user: musa Added musa as sysadmin
Atau jika ingin menjadikan user yang sudah ada sebagai sysadmin.
ckan -c /etc/ckan/default/ckan.ini sysadmin add musa
Uji sysadmin user yang baru dibuat dengan login di web CKAN.
Mengecek pemakaian resources VPS yang terpakai dengan menggunakan htop.
sudo apt install htop -y htop
cPanel & WHM juga menawarkan skrip bawaan yang memaksimalkan keamanan partisi /tmp. Hal ini dilakukan…
berikut adalah cara mengatasi error ImunifyAV has not detected any compatible hosting panel as well…
CentOS 7 tidak akan mendapatkan pembaruan apa pun setelah Juni 2024. Selain itu, mirrorlist.centos.org tidak…
DNS di server cyberpanel tidak mau bekerja, di cek pada error log keluar pesan seperti…
saat upgrade cyberpanel, keluar pesan error seperti berikut: django.db.utils.OperationalError: (1045, "Access denied for user 'cyberpanel'@'localhost'…
Untuk melakukan restart cyberpanel lewat SSH silahkan jalankan perintah berikut: systemctl restart lscpd