Home

xloaderインストール

  1. 次に、CKAN仮想環境をアクティブ化します。

. /usr/lib/ckan/default/bin/activate

2. ckanext-xloaderPythonパッケージを仮想環境にインストールします。

pip install ckanext-xloader

3. インストールの依存関係:

pip install -r https://raw.githubusercontent.com/ckan/ckanext-xloader/master/requirements.txt
pip install -U requests[security]

CKAN構成ファイルの設定に追加します。

sudo vi /etc/ckan/default/ckan.ini
ckan.plugins = xloader

またdatapusher、リストにある場合は削除して、両方がデータストアにリソースを読み込もうとしないようにする必要があります。

本番サーバーの場合は、デフォルトのsqliteファイルよりも堅牢なデータベースにジョブ情報を保存することをお勧めします。この行を構成に追加することで、メインのCKAN postgres dbを問題なく使用できますが、値は次のsqlalchemy.urlとおりです。

ckanext.xloader.jobs_db.uri = postgresql://ckan_default:pass@localhost/ckan_default

CKANを再起動します。たとえば、UbuntuでApacheを使用してCKANをデプロイした場合:

mkdir /var/log/ckan
sudo cp /usr/lib/ckan/default/src/ckan/ckan/config/supervisor-ckan-worker.conf /etc/supervisor/conf.d

apache2インストール

apache2のインストール

sudo apt -y install apache2

プロキシー設定ファイル作成

# sudo vi /etc/apache2/sites-available/proxy_ckan.conf
ProxyRequests Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

mod_proxy等組込み。再起動

# sudo a2enmod proxy
# sudo a2enmod proxy_http
# cd /etc/apache2/sites-enabled
# sudo ln -s ../sites-available/proxy_ckan.conf proxy_ckan.conf
# sudo systemctl restart apache2

SSL組込み

$ sudo a2enmod ssl
$ sudo a2ensite default-ssl
$ sudo service apache2 restart

a2コマンド

a2enmod [ [-q|–quiet] module]enable an apache2 module
a2dismod [ [-q|–quiet] module]disable an apache2 module
a2ensite [ [-q|–quiet] site]enable an apache2 site / virtual host
a2dissite [ [-q|–quiet] site]disable an apache2 site / virtual host
a2enconf [ [-q|–quiet] configuration]enable an apache2 configuration file
a2disconf [ [-q|–quiet] configuration]disable an apache2 configuration file
a2query [-m [MODULE]] [-s [SITE]] [-c [CONF]] [-a] [-v] [-M] [-d] [-h]retrieve runtime configuration from a local Apache 2 HTTP server

Webminインストール

  • sudo vi /etc/apt/sources.list

add
deb http://download.webmin.com/download/repository sarge contrib

  • wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add

sudo apt update

sudo apt -y install webmin

sudo ufw allow 10000

CKANインストール

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