CKAN 安裝手冊

 

CKAN平台對於資料科學家是一套非常有用的開放資料發布平台。然而,官方網站的安裝說明[1][2]並不是那麼容易了解。這會讓使用者無法成功安裝CKAN。

以下我們介紹如何在Ubuntu Linux 14.04 LTS (64bits)環境下,使用指令操作,逐步安裝CKAN套件,成功建立CKAN平台。

1.升級你的套件庫

$ sudo apt-get update

2.裝 apache2nginx, apache的模組 wsgi 以及PostgresSQL的套件 libpq5.

$ sudo apt-get install -y nginx apache2 libapache2-mod-wsgi libpq5

3. 下載CKAN安裝套件
在這裡,你可以有兩種選擇:
(1) 從Google Drive下載我們準備好的deb檔案
URL: https://drive.google.com/file/d/0B6PKt2-xNai_QlNfdEZfY05JRlE/view?usp=sharing
(2) 或是從官方網站上下載deb檔案

$ wget http://packaging.ckan.org/python-ckan_2.5-trusty_amd64.deb

4. 安裝CKAN套件,這通常會花一些時間,請耐心等候。

$ sudo dpkg -i python-ckan_2.5-trusty_amd64.deb

5. 安裝postgresql 資料庫

$ sudo apt-get install postgresql

6. 確認Postgresql是否為 UTF-8。一開始安裝完畢,通常會顯示postgres資料庫編碼為UTF-8

$ sudo -u postgres psql -l

7. 建立資料庫以及對應的資料庫帳號。我們假設資料庫名稱為ckan_default ,欲建立的資料庫帳號也是ckan_default.
輸入以下兩道指令,系統會跳出提示,要求管理員輸入密碼。請記得您的密碼。

$ sudo -u postgres createuser -S -D -R -P ckan_default
$ sudo -u postgres createdb -O ckan_default ckan_default -E utf-8

8. 使用超級管理員權限,編輯位於/etc/ckan/default/production.ini 的檔案。確認以下設定資訊。如果前方已使用分號”;”將此文字註解,請移除此分號。

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

其中ckan_default為PostgresSQL的帳號、ckan_default為PostgresSQL資料庫名稱、pass為您剛剛設定的密碼。請根據您的設定取代相對應的字詞。

  1. 建立目錄,讓CKAN可以支援儲存體(storage)功能。儲存體功能可以讓使用者直接上傳檔案到CKAN平台的儲存空間內。請輸入以下指令:
$ sudo mkdir /var/lib/ckan
$ chown –R www-data:www-data /var/lib/ckan

10. 使用超級管理員權限,編輯位於/etc/ckan/default/production.ini 檔案。請確認以下設定資訊。如果前方已使用分號”;”將此文字註解,請移除此分號。

ckan.storage_path = /var/lib/ckan

11. 下載Solr 5.4.1
請注意!如果從CKAN官方文件中,安裝solr-jetty,Solr的JSP程式碼將無法作用。因此,我們需要手動安裝Solr [3][4] 。
在此我們提供兩個方式進行安裝:
(1) 從雲端硬碟下載我們準備好的鏡像套件:

URL: https://drive.google.com/open?id=0B6PKt2-xNai_Tm9sSnJoZmx1VW8
(2) 或是從官方網站下載solr套件

$ wget http://apache.mirror1.spango.com/lucene/solr/5.4.1/solr-5.4.1.tg

12. 安裝Solr 5.4.1

$ tar xzf solr-5.4.1.tgz solr-5.4.1/bin/install_solr_service.sh –strip-components=2
$ sudo chmod +x install_solr_service.sh
$ sudo ./install_solr_service.sh solr-5.4.1.tgz -f

13. 為Solr準備CKAN專用的schema
在此,我們準備Solr的核心名稱為ckan來表示此CKAN schema,請輸入以下指令進行安裝。

$ sudo su
root@~]# mkdir /var/solr/data/ckan
root@~]# touch /var/solr/data/ckan/core.properties
root@~]# cp -a /opt/solr/server/solr/configsets/basic_configs/conf /var/solr/data/ckan
root@~]# mv /var/solr/data/ckan/conf/schema.xml /var/solr/data/ckan1/conf/schema.xml.orig
root@~]# ln -s /usr/lib/ckan/default/src/ckan/ckan/config/solr/schema.xml /var/solr/data/ckan/conf/schema.xml
root@~]# chown -R solr:solr /var/solr
root@~]# exit

14. [讓Solr支援中文斷詞] Solr預設的斷詞程式,並無法準確進行中文斷詞處理。因此,我們需要另外安裝中文斷詞函式庫[5]。下載 Solr專用的中文斷詞套件mmseg4j。在此我們需要兩個函式庫,分別是mmseg4j-core-x.y.z.jar以及mmseg4j-lang-x.y.z.jar。我們提供mmseg4j.zip壓縮檔位於
https://drive.google.com/open?id=0B6PKt2-xNai_a1luR20wQ0JtenM

15. [讓Solr支援中文斷詞] 下載mmseg4j.zip後,解壓縮取得 mmseg4j-core-1.10.0.jar,  mmseg4j-solr-2.3.0.jar。將這兩個JAR檔案放置於 – /opt/solr/server/solr-webapp/webapp/WEB-INF/lib 資料夾下。

16.[讓Solr支援中文斷詞] 修改位於 /usr/lib/ckan/default/src/ckan/ckan/config/solr/schema.xml 的檔案,使其支援中文斷詞。請謹慎修改以下內容:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100″>

<analyzer type="index">

<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word"/>

<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>

<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1″ generateNumberParts="1″ catenateWords="0″ catenateNumbers="0″ catenateAll="0″ splitOnCaseChange="1″/>

<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>

<filter class="solr.LowerCaseFilterFactory"/>

<filter class="solr.ASCIIFoldingFilterFactory"/>

</analyzer>

<analyzer type="query">

<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word"/>

<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>

<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1″ generateNumberParts="1″ catenateWords="0″ catenateNumbers="0″ catenateAll="0″ splitOnCaseChange="1″/>

<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>

<filter class="solr.LowerCaseFilterFactory"/>

<filter class="solr.ASCIIFoldingFilterFactory"/>

</analyzer>

</fieldType>

17. 重新啟動Solr

$ sudo service solr restart

18. 假設您目前在安裝CKAN的電腦前面,請透過瀏覽器,瀏覽以下網址,以建立Solr的ckan核心。
http://127.0.0.1:8983/solr/admin/cores?action=CREATE&name=ckan&configSet=ckan

19. 使用超級管理用權限,編輯位於/etc/ckan/default/production.ini 檔案,確認以下Solr設定。

solr_url = http://127.0.0.1:8983/solr/ckan

在這個案例中, ckan 為我們在 Solr 使用的核心名稱,所以我們在網址後面加入ckan這個後缀詞。

20. 根據production.ini的設定,初始化CKAN資料庫。在此我們使用Python虛擬環境 VirtualEnv來完成。在以下指令中,(virtualEnv) 表示現在的操作是位於VirtualEnv環境中。

$ . /usr/lib/ckan/default/bin/activate
$ (virtualEnv) cd /usr/lib/ckan/default/src/ckan
$ (virtualEnv) paster db init -c /etc/ckan/default/production.ini
$ (virtualEnv) deactivate

21. 替建立CKAN平台超級管理者帳號,假設我們要建立的超級管理者帳號為admin,請輸入以下指令。

$ . /usr/lib/ckan/default/bin/activate
$ (virtualEnv) cd /usr/lib/ckan/default/src/ckan
$ (virtualEnv) paster sysadmin add admin -c /etc/ckan/default/production.ini
$ (virtualEnv) deactivate

22. 重新啟動apache2 與nginx

$ sudo service apache2 restart
$ sudo service nginx restart

最後,請瀏覽您的網站。如果出現以下畫面,代表您已經成功安裝CKAN了。

Image 39

SSL支援

如果加入SSL支援,您在瀏覽或是操作CKAN平台會更加安全。

首先,我們必須申請SSL憑證。如果您的經費不寬裕,建議可以申請Let’s Encrypt,詳細的申請手續在官方網站已經有做介紹,我們在此不多做敘述。

在取得SSL憑證後,請按照Setting up CKAN with SSL [6] 這篇文章進行安裝。

REFERENCE

  1. CKAN, “Installing CKAN from Package,” CKAN. [Online]. Available: http://docs.ckan.org/en/latest/maintaining/installing/install-from-package.html
  2. CKAN, “Installing CKAN from Source,” CKAN. [Online]. Available: http://docs.ckan.org/en/latest/maintaining/installing/install-from-source.html
  3. Koen Vlasinkel, “How to Install Solr 5.2.1 on Ubuntu 14.04,” Digital Ocean Community. [Online]. Available: https://www.digitalocean.com/community/tutorials/how-to-install-solr-5-2-1-on-ubuntu-14-04
  4. Hvwaldow, “How to Upgrade to SOLR 5.3.1 on Debian Jessie for Use with CKAN,” CKAN. [Online]. Available: https://gist.github.com/hvwaldow/67fecf80a9790b5c9153#filesolr-upgrade-md
  5. CKAN2 安裝教學. [Online]. Available: http://ckan-docs-tw.readthedocs.io/zh_TW/2.4/install.html
  6. CKAN, “Setting up CKAN with SSL,”. [Online]. Available: https://github.com/ckan/ckan/wiki/SSL