CKAN環境構築(Azure編)

この記事は1年以上前に書かれました。
内容が古くなっている可能性がありますのでご注意下さい。


マイクロソフトのクラウドプラットフォームAzureに、オープンデータのポータルプラットホームとして世界中で使用されているCKANをインストールします。CKANはAGPL v3.0でライセンスされるオープンソースソフトウェアです。

Ubuntu 12.04 64-bit向けにCKANのパッケージが提供されており、これを利用すれば、ソースコードからインストールするよりも簡単にインストールできます。
幸い、AzureでもUbuntu 12.04 64-bitを利用することができますので、Azureに作成したUbuntuの仮想マシンにCKANパッケージをインストールすることにします。

はじめに、Azureの管理ポータルで仮想マシンを作成します。

イメージの選択画面では、Ubuntu Server 12.04 LTSを選択します。

仮想マシン名、ユーザ名等を指定し、

エンドポイントは、

  • リモートで作業するためのSSH(ポート22)
  • CKANを公開するためのHTTP(ポート80)

を設定します。
仮想マシンができたら、SSHでログインして以降の作業を行います。

CKANとミドルウェアのインストール
まず、こちらに従ってCKANパッケージとミドルウェアをインストールします。

$ sudo apt-get update
$ sudo apt-get install -y nginx apache2 libapache2-mod-wsgi libpq5
$ wget http://packaging.ckan.org/python-ckan_2.2_amd64.deb
$ sudo dpkg -i python-ckan_2.2_amd64.deb

apt-get updateでパッケージのリストを取得してから、apt-get installでnginx(エンジンエックス)、apache2等のパッケージをインストールします。
CKANのサイトからwgetコマンドで(Debパッケージ形式の)CKANパッケージをダウンロードし、dpkgコマンドでインストールします。

さらに、PostgrSQLデータベースと全文検索システムSolr(ソーラー)をapt-get installでインストールします。

$ sudo apt-get install -y postgresql solr-jetty

AzureのUbuntuにはJDKが入っていないので、インストールしておきます。

$ sudo apt-get install openjdk-6-jdk

Solrの設定
次に、こちらに従ってSolrの設定をします。

$ sudo vi /etc/default/jetty

でjettyの設定ファイルを開き、以下の記述をします。(それぞれ、初期状態ではコメントになっています)

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

さらに、Solrのスキーマ定義するファイルschema.xmlを、CKANで用意したものと置き換えます。

$ 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

PostgrSQLデータベースの設定
最後に、こちらに従ってPostgrSQLデータベースを設定します。
まず、

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

でPostgreSQLのユーザckan_defaultを作成します。パスワードの入力を促されますので入力します。
次に、

$ sudo vi /etc/ckan/default/production.ini

CKANの設定ファイルを開き、以下の行で

sqlalchemy.url = postgresql://ckan_default:pass@localhost/ckan_default

passの部分を、先ほど入力したパスワードに変更します。

$ sudo ckan db init

でCKAN用のデータベースを初期化します。

CKANの起動とログイン
以上の作業が終了したら、apacheとnginxを再起動します。

$ sudo service apache2 restart
$ sudo service nginx restart

ブラウザで接続し、以下の画面が表示されればインストール成功です。

こちらに従ってCKANを管理するユーザを追加します。
以下のコマンド

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

を実行してから、

$ paster sysadmin add <USERNAME> -c /etc/ckan/default/production.ini

<USERNAME>ユーザを作成します。
パスワードの入力を促されますので入力します。

作成したユーザでログインし、言語を日本語に変更すると、以下の画面が表示されます。