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

Made with Slides.com