tohokuaikiのチラシの裏

技術的ネタとか。

ckanを始めてみる

Getting started — CKAN 2.7.0a documentationを参考に始めてみる。CKANはバージョン2.7

CKANコマンドについて

CKANコマンドは、/usr/bin/ckanを直接使うのではなくpasterコマンドを使うことになる。

pasterコマンドを使うためには一旦ckanのシェルに入り、更にckanプロジェクトのルートディレクトリにcdする必要がある。

以下、インストール時にはroot権限だが一般ユーザーckanを作成してそこから実行している。

$ . /usr/lib/ckan/default/bin/activate
$ cd /usr/lib/ckan/default/src/ckan

とする。

これをやらないで普通にpasterコマンドを実行しようとすると

$ paster sysadmin add seanh -c /etc/ckan/default/production.ini
The program 'paster' is currently not installed. You can install it by typing:
apt-get install python-pastescript

と言われる。また、ckanプロジェクトのルートディレクトリに入らないと

(default)$ paster sysadmin add seanh -c /etc/ckan/default/production.ini
Command 'sysadmin' not known (you may need to run setup.py egg_info)

と言われたりする。

というわけで、

# su - ckan
$ . /usr/lib/ckan/default/bin/activate
(default)$ cd /usr/lib/ckan/default/src/ckan/
(default)$

とする。

管理ユーザーを追加

管理画面にログインするための管理ユーザーを作る。seanhという管理アカウントの場合は下記のckanコマンドを打つ。

(default)$ paster sysadmin add seanh -c /etc/ckan/default/production.ini
User "seanh" not found
Create new user: seanh? [y/n]y
Password:
Confirm password:
Creating seanh user
Added seanh as sysadmin

パスワードを入力して完了。

sysadminコマンドはその他にも色々と機能がある。

(default)$ paster sysadmin --help
Usage: paster sysadmin [options] Gives sysadmin rights to a named user

    Usage:
      sysadmin                      - lists sysadmins
      sysadmin list                 - lists sysadmins
      sysadmin add USERNAME         - add a user as a sysadmin
      sysadmin remove USERNAME      - removes user from sysadmins

Gives sysadmin rights to a named user

Options:
  -h, --help            show this help message and exit
  -v, --verbose
  -c CONFIG, --config=CONFIG
                        Config file to use.
  -f FILE_PATH, --file=FILE_PATH
                        File to dump results to (if needed)

より詳しくは、sysadminガイドを読むと良い。

テストデータの投入

これもckanコマンドのcreate-test-dataで。

(default)$ paster create-test-data -c /etc/ckan/default/production.ini
Running setup_app() from ckan.websetup
2016-11-02 07:15:06,052 INFO  [ckan.websetup] Creating tables: SUCCESS
Creating basic test data
/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/orm/unitofwork.py:79: SAWarning: Usage of the 'related attribute set' operation is not currently supported within the execution stage of the flush process. Results may not be consistent.  Consider using alternative event listeners or connection-level operations instead.
  sess._flush_warning("related attribute set")
Creating basic test data: Complete!

Warningが出たけど2件のデータが投入された。 f:id:tohokuaiki:20161102161736p:plain

データ操作については、Database Management — CKAN 2.7.0a documentation を参考。

設定ファイル

設定ファイルは /etc/ckan/default/production.ini をいじって、apache restartさせる。

設定ファイルの細かいところは、Configuration Options — CKAN 2.7.0a documentationを参照。