tohokuaikiのチラシの裏

技術的ネタとか。

ckanをインストールしてセットアップする

データポータルのCMSであるCKANをインストールしたのでその作業メモ. CKANのバージョンは2.7

環境設定

ソースかパッケージ化でインストールできるが、パッケージである.debでインストールしたいのでUbuntu14を用意。

Vagrantで環境を用意

最初、手持ちのUbuntu16でやってみたらミドルウェアのバージョンがうまく合わなくてすんなりいかなかったのでVagrantで新しく用意した。 参考

  • Vagrantをインストールし、cygwinを立ち上げてVagrantBoxを加える。
$ vagrant box add ubuntu14.04 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
$ vagrant init
  • initコマンドでVagrant使用するVagrantBoxをConfigureファイルVagrantfileに記述して起動
  config.vm.box = "ubuntu14.04" # VagrantBox名
  config.vm.network "private_network", ip: "192.168.56.11" # private アドレス
$ vagrant up

CKANをインストールする

パッケージでインストールするの通り進める。

  • Vagrantで作ったばかりのUbuntu14をUpdate
# apt-get update
# apt-get install -y nginx apache2 libapache2-mod-wsgi libpq5 redis-server git-core
  • CKANのdebパッケージファイルをダウンロードしてインストールする
# wget http://packaging.ckan.org/python-ckan_2.5-trusty_amd64.deb
# dpkg -i python-ckan_2.5-trusty_amd64.deb
  • Postgresをインストールしてセットアップ
# apt-get install -y postgresql
  • CKANで使用するDBユーザー「ckan_default」を作る。パスワードが出るので指定する。
# sudo -u postgres createuser -S -D -R -P ckan_default
  • CKANで使用するデータベース「ckan_default」を文字コードUTF-8で作り、ckan_defaultユーザーに権限を与える。
sudo -u postgres createdb -O ckan_default ckan_default -E utf-8
  • チェックする
# sudo -u postgres psql -l
                                     List of databases
     Name     |    Owner     | Encoding |   Collate   |    Ctype    |   Access privileges
--------------+--------------+----------+-------------+-------------+-----------------------
 ckan_default | ckan_default | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 postgres     | postgres     | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0    | postgres     | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
              |              |          |             |             | postgres=CTc/postgres
 template1    | postgres     | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
              |              |          |             |             | postgres=CTc/postgres
(4 rows)

Solrのセットアップ

  • Solr Jettyをインストールする
# apt-get install -y solr-jetty
  • SolrのConfigurationファイル/etc/default/jettyを変更する
NO_START=0            
JETTY_HOST=127.0.0.1  
JETTY_PORT=8983       
  • Solrを起動する
service jetty start
  • Solrの動作チェック
# wget http://localhost:8983/solr/

・・・といってもなんかうまく出てこなかった・・・と思ったらfirewallが入ってたのかも?ま、とりあえず次へ。 * Solrのスキーマを設定・・・元のファイルをとっておき、ckanのSolrをシンボリックリンクする。

# mv /etc/solr/conf/schema.xml /etc/solr/conf/schema.xml.bak
# ln -s /usr/lib/ckan/default/src/ckan/ckan/config/solr/schema.xml /etc/solr/conf/schema.xml
  • Solrを再起動する
service jetty restart

CKANの設定をして起動

  • CKANのConfigureファイルを変更する /etc/ckan/default/production.ini を変更。*********は設定したPostgresアカウントのパスワード
solr_url=http://127.0.0.1:8983/solr
ckan.site_url = http://demo.ckan.org
sqlalchemy.url = postgresql://ckan_default:**********@localhost/ckan_default
  • ckanコマンドでDBを初期化
# ckan db init
  • Apacheとnginxをリスタート
# service apache2 restart
# service nginx restart

ブラウザで先ほど設定したckan.urlを開く

http://demo.ckan.org を開くと下記のようなものが見える。 f:id:tohokuaiki:20161102152410p:plain

んー。

ソースから入れようとしたり、OSを推奨のものに合わせればインストールは簡単かな。