CKAN เป็นระบบ data portal ​platform สำหรับการเก็บและเผยแพร่ข้อมูลแบบ opendata ซึ่งมีคุณสมบัติพื้นฐาน เช่น การค้นหาข้อมูล การใช้ข้อมูลผ่าน API การแชร์ข้อมูล ตลอกจนยังสามารถเพิ่มคุณสมบัติใหม่ๆ ได้อีก ผ่าน extension ซึ่งมี extension ที่น่าสนใจมากมาย สำหรับท่านที่สนใจเรื่อง OpenData อยู่สามารถใช้ CKAN ทำ portal ได้ครับ สำหรับข้อมูลที่สามารถแผยแพร่บน CKAN ได้มีหลายรูปแบบ ทั้ง csv, json, xml, rdf หรือแม้ระทั่ง url ธรรมดาๆ ทั้งนี้ขึ้นอยู่กับการประยุกต์ใช้ การติดตั้ง CKAN ทำได้หลายวิธี

  • ติดตั้งจาก source code
  • ติดตั้งจาก package
  • ติดตั้งโดยใช้ Docker

สำหรับผมเลือกวิธีการติดตั้ง CKAN ผ่าน binary package บน Ubuntu 12.04 วิธีการติดตั้งก็ง่ายมากๆ เริ่มจากติดตั้ง package ที่จำเป็นกันก่อน

sudo apt-get install -y nginx apache2 libapache2-mod-wsgi libpq5 python-pastescript python-pip python-dev

ดาวน์โหลด CKAN debian package มา

wget http://packaging.ckan.org/python-ckan_2.2_amd64.deb

จากนั้น enable mod wsgi ให้ apache

sudo a2enmod wsgi
sudo service apache2 restart

สั่งติดตั้ง python-ckan

sudo dpkg -i python-ckan_2.2_amd64.deb

จากนั้น ติดตั้ง postgresql กับ solr-jetty

sudo apt-get install -y postgresql solr-jetty

แก้ไข config ของ jetty ในไฟล์ /etc/default/jetty เพิ่มข้อมูลเข้าไปดังนี้

NO_START=0
JETTY_HOST=127.0.0.1
JETTY_PORT=8983
JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64/

สั่ง start jetty อีกรอบ

sudo service jetty start

สร้าง user ใน postgresql และสร้างฐานข้อมูลให้ CKAN

sudo -u postgres createuser -S -D -R -P ckan_default

sudo -u postgres createdb -O ckan_default ckan_default -E utf-8

ติดตั้ง python module เพิ่ม

cd /usr/lib/ckan/default/src/ckan

pip install -r requirements.txt

แก้ไขไฟล์ /etc/ckan/default/production.ini ตรง sqlalchemy.url กำหนด username, password ของ postgresql ให้ถูกต้อง

sudo ckan db init

เพิ่ม user sysadmin ให้ CKAN ดังนี้

ckan sysadmin add admin

สั่ง restart apache และ enginx ดังนี้

sudo service apache2 restart
sudo service nginx restart

เปิด browser แล้ว browse ไปที่เซิร์ฟเวอร์ของคุณกันได้เลย คุณจะได้หน้าตาของ CKAN แบบนี้

ลองเพิ่ม organization กับ dataset เข้าไปสักหน่อย

เพิ่มเติมอีกหน่อย หากต้องการให้สามารถอัพโหลดข้อมูลไปยัง CKAN ได้ สร้างไดเรคทอรีสำหรับเก็บข้อมูล

sudo mkdir -p /var/lib/ckan/default

sudo chown www-data /var/lib/ckan/default

sudo chmod u+rwx /var/lib/ckan/default

แก้ไข ckan.storage_path ใน /etc/ckan/default/production.ini ให้ถูกต้อง

ckan.storage_path = /var/lib/ckan/default

สั่ง reload apache2 แค่นี้ก็ใช้งานได้แล้ว

sudo service apache2 reload

สำหรับ extension ต่างๆ ที่คุณสามารถเพิ่มความสามารถให้ CKAN ตามไปดูต่อกันได้ที่ extensions.ckan.org ครับ

Comments are closed.