installare ckan


Una breve guida per l'installazione di CKAN su CentOS

Prendendo come riferimento la documentazione ufficiale per l'installazione di CKAN a partire dai sorgenti abbiamo creato questo tutorial di installazione specifica su CentOS 6.5, ma facilmente estensibile a una qualunque distribuzione Linux.


Nota: avendo a disposizione una infrastruttura di derivazione Debian si può procedere all'installazione di CKAN direttamente dai package seguendo sempre la documentazione ufficiale.

REQUISITI



  • Git
  • PostgreSQL
  • Python
  • Java
  • Solr
  • Jetty

git

 $ yum install git

POSTGRESQL

 $ yum install postgresql postgresql-libs postgresql-server postgresql-devel

PYTHON

 $ yum install python python-devel python-setuptools $ easy_install pip $ easy_install virtualenv

JAVA

Scarichiamo java come pacchetto rpm e procedi all'installazione

 $ rpm -ivh <nomepacchettorpm>

SOLR

Scarichiamo solr ed estrai l'archivio in /usr/local

 $ tar -xzvf solr.tgz -C /usr/local

JETTY

Scarichiamo jetty ed estrai l'archivio in /usr/local

 $ tar -xzvf jetty.tar.gz -C /usr/local

installazione ckan in python virtualenv

Attraverso i seguenti passi si procede alla creazione e attivazione del virtualenv Python, al download dei sorgenti ckan e alla loro compilazione:

 $ mkdir -p /usr/lib/default $ virtualenv --no-site-packages /usr/lib/ckan/default $ . /usr/lib/ckan/default/bin/activate $ pip install -e 'git+https://github.com/ckan/ckan.git@ckan-2.2#egg=ckan' $ pip install -r /usr/lib/ckan/default/src/ckan/requirements.txt --allow-all-external $ deactivate $ . /usr/lib/ckan/default/bin/activate

Nota: in particolare l'opzione allow-all-external è stata necessaria all'installazione e non risulta documentata nel tutorial ufficiale CKAN.

SETUP POSTGRESQL DB

Listiamo elenco db:

 $ sudo -u postgres psql -l

Controlliamo che l'encoding sia UTF-8 e procediamo alla creazione di utente e db:

 $ sudo -u postgres createuser -S -D -R -P ckan_default $ sudo -u postgres createdb -O ckan_default ckan_default -E utf-8


CONFIGURAZIONE CKAN

Creiamo il file di configurazione per CKAN e colleghiamo who.ini nella stessa directory:
$ mkdir /etc/ckan/default$ cd /usr/lib/ckan/default/src/ckan$ paster make-config ckan /etc/ckan/default/development.ini$ ln -s /usr/lib/ckan/default/src/ckan/who.ini /etc/ckan/default/who.ini

Editiamo il file development.ini in modo tale da modificare la proprietà sqlalchemy.url e ckan.site_id:

 sqlalchemy.url = postgresql://ckan_default:pass@localhost/ckan_default ckan.site_id = default



JETTY e SOLR

Deploy di Solr su Jetty assumendo di averli decompressi in /usr/local/solr e /usr/local/jetty:

 $ cd /usr/local/solr/dist $ cp solr.war /usr/local/jetty/webapps $ cp /usr/local/solr/dist/solrj-lib/* /usr/local/jetty/lib/ext $ cd /usr/local/jetty $ ln -s /usr/local/solr/example/solr

Utilizziamo lo schema.xml presente nei sorgenti di ckan:

 $ ln -s /usr/lib/ckan/default/src/ckan/ckan/config/solr/schema-2.0.xml /usr/local/solr/example/solr/collection1/conf/schema.xml

Impostiamo Jetty per girare sulla porta 8983 editando il file /usr/local/jetty/bin/jetty.sh:

 JETTY_ARGS=jetty.port=8983

Aggiorniamo la properties solr_url nel file /etc/ckan/default/development.ini:

 solr_url=http://127.0.0.1:8983/solr



creazione tabelle

Procediamo alla creazione delle tabelle su postgres:

 $ cd /usr/lib/ckan/default/src/ckan $ paster db init -c /etc/ckan/default/development.ini

Abilitazione FILE upload

Creazione della directory per il salvataggio dei file:

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

Editazione del file development.ini; è sufficiente "scommentare" le seguenti righe:

 ofs.impl = pairtree
 ofs.storage_dir = /var/lib/ckan/default

go!

Facciamo partire jetty:
 $ /usr/local/jetty/bin/jetty.sh start
Facciamo partire il paster server:
 $ cd /usr/lib/ckan/default/src/ckan $ paster serve /etc/ckan/default/development.ini
Andiamo su CKAN all'indirizzo http://<url>:5000



RIFERIMENTI

  Istanza del CKAN installata nella stesura di questo tutorial


 Il blog lavorocoidati di Marcello Mazzotti

  Il blog opendatabassaromagna di Franco Morelli

Il sito di Marcello Mazzotti