1.CKANユーザの登録
# sudo useradd -d /usr/lib/ckan -c "CKAN User" ckan -m -s /bin/bash -U
# sudo vi /etc/sudoers.d/90-cloud-init-users
# sudo useradd -d /usr/lib/ckan -c “CKAN User” ckan -m -s /bin/bash -U
# sudo vi /etc/sudoers.d/90-cloud-init-users
1.必要なパッケージをインストールします
# sudo apt-get -y install python3-dev postgresql libpq-dev python3-pip python3-venv git-core solr-jetty openjdk-8-jdk redis-server
# sudo apt-get -y install libxml2-dev libxslt1-dev
2.CKANをPython仮想環境にインストールします
a. CKANをインストールするPython仮想環境(virtualenv)を作成し、アクティブ化します。
# sudo su – ckan
# mkdir -p /usr/lib/ckan/default
# python3 -m venv /usr/lib/ckan/default
b. 推奨setuptoolsバージョンと最新のpipをインストールします。
# . /usr/lib/ckan/default/bin/activate
# pip install setuptools==44.1.0
# pip install --upgrade pip
# pip install -e 'git+https://github.com/ckan/ckan.git@ckan-2.9.3#egg=ckan[requirements]'
# pip install ckanext-pdfview
# pip install ckanext-xloader
# pip install -r https://raw.githubusercontent.com/ckan/ckanext-xloader/master/requirements.txt
# pip install -U requests[security]
3. PostgreSQL データベースのセットアップ
ckan_defaultと呼ばれる新しい PostgreSQL ユーザーを作成
ckan_defaultと呼ばれる新しい PostgreSQL データベースを作成
# sudo -u postgres createuser -S -D -R -P ckan_default
※passwordはpass
# sudo -u postgres createdb -O ckan_default ckan_default -E utf-8
datastoreのユーザ登録 , データベース datastore_defaultを作成
# sudo -u postgres createuser -S -D -R -P -l datastore_default
※passwordはpass
# sudo -u postgres createdb -O ckan_default datastore_default -E utf-8
4. ckan設定ファイル
ckan設定ファイルを作成
# sudo mkdir -p /etc/ckan/default
# sudo chown -R ckan /etc/ckan/
# ckan generate config /etc/ckan/default/ckan.ini
ckan設定ファイルを編集
# vi /etc/ckan/default/ckan.ini
sqlalchemy.url = postgresql://ckan_default:pass@localhost/ckan_default
ckan.site_id = default
ckan.site_url = http://192.168.1.103
solr_url=http://127.0.0.1:8983/solr
ckan.datastore.write_url =
postgresql://ckan_default:pass@localhost/datastore_default ※コメント外し
ckan.datastore.read_url =
postgresql://datastore_default:pass@localhost/datastore_default ※コメント外し
ckan.plugins = stats text_view image_view recline_view pdf_view datastore xloader
ckan.views.default_views = image_view text_view recline_view recline_map_view pdf_view geojson_view
ckan.storage_path = /var/lib/ckan ※コメント外し
ckan.datapusher.formats = csv xls xlsx tsv application/csv application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
ckan.datapusher.url = http://127.0.0.1:8800/
ckan.datapusher.assume_task_stale_after = 3600
ckanext.xloader.jobs_db.uri = postgresql://ckan_default:pass@localhost/ckan_default
5. solrのセットアップ
jettyのポートの修正
# sudo vi /etc/jetty9/start.ini
jetty.port=8080 → 8983
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
solr再起動
# sudo systemctl restart jetty9
6. who.iniリンク
# ln -s /usr/lib/ckan/default/src/ckan/who.ini /etc/ckan/default/who.ini
7. データベースのテーブル作成
# cd /usr/lib/ckan/default/src/ckan
# ckan -c /etc/ckan/default/ckan.ini db init
# ckan -c /etc/ckan/default/ckan.ini datastore set-permissions | sudo -u postgres psql –set ON_ERROR_STOP=1
動作テスト
ckan -c /etc/ckan/default/ckan.ini run
curl -X GET “http://127.0.0.1:5000/api/3/action/datastore_search?resource_id=_table_metadata”
8. ファイルストアの作成
# sudo mkdir /var/lib/ckan
# sudo mkdir -p /var/lib/ckan/default
# sudo chown www-data:www-data /var/lib/ckan
# sudo chown www-data:www-data /var/lib/ckan/default
# sudo chmod u+rwx /var/lib/ckan/default
# sudo mkdir /var/lib/ckan/storage/
# sudo mkdir /var/lib/ckan/storage/uploads/
# sudo mkdir /var/lib/ckan/storage/uploads/user
# sudo chown www-data:www-data /var/lib/ckan/storage/
# sudo chown www-data:www-data /var/lib/ckan/storage/uploads/
# sudo chown www-data:www-data /var/lib/ckan/storage/uploads/user
9. WSGI スクリプト ファイルを作成
WSGI スクリプト ファイルは、CKAN ディストリビューションからコピー
# sudo cp /usr/lib/ckan/default/src/ckan/wsgi.py /etc/ckan/default/
WSGI サーバーを作成する
# pip install uwsgi
# sudo cp /usr/lib/ckan/default/src/ckan/ckan-uwsgi.ini /etc/ckan/default/
# sudo apt-get install supervisor
# sudo service supervisor restart
/etc/supervisor/conf.d/ckan-uwsgi.confの作成
# sudo vi /etc/supervisor/conf.d/ckan-uwsgi.conf
[program:ckan-uwsgi]
command=/usr/lib/ckan/default/bin/uwsgi -i /etc/ckan/default/ckan-uwsgi.ini
; Start just a single worker. Increase this number if you have many or
; particularly long running background jobs.
numprocs=1
process_name=%(program_name)s-%(process_num)02d
; Log files – change this to point to the existing CKAN log files
stdout_logfile=/etc/ckan/default/uwsgi.OUT
stderr_logfile=/etc/ckan/default/uwsgi.ERR
; Make sure that the worker is started on system start and automatically
; restarted if it crashes unexpectedly.
autostart=true
autorestart=true
; Number of seconds the process has to run before it is considered to have
; started successfully.
startsecs=10
; Need to wait for currently executing tasks to finish at shutdown.
; Increase this if you have very long running tasks.
stopwaitsecs = 600
; Required for uWSGI as it does not obey SIGTERM.
stopsignal=QUIT
CKAN管理者の設定
# ckan -c /etc/ckan/default/ckan.ini sysadmin add admin email=seanh@localhost name=admin
xloader開始
# sudo mkdir /var/log/ckan
# sudo cp /usr/lib/ckan/default/src/ckan/ckan/config/supervisor-ckan-worker.conf /etc/supervisor/conf.d
# sudo systemctl restart supervisor