CKAN 安裝手冊
CKAN平台對於資料科學家是一套非常有用的開放資料發布平台。然而,官方網站的安裝說明[1][2]並不是那麼容易了解。這會讓使用者無法成功安裝CKAN。
以下我們介紹如何在Ubuntu Linux 14.04 LTS (64bits)環境下,使用指令操作,逐步安裝CKAN套件,成功建立CKAN平台。
1.升級你的套件庫
$ sudo apt-get update |
2.裝 apache2, nginx, 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為您剛剛設定的密碼。請根據您的設定取代相對應的字詞。
- 建立目錄,讓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了。
SSL支援
如果加入SSL支援,您在瀏覽或是操作CKAN平台會更加安全。
首先,我們必須申請SSL憑證。如果您的經費不寬裕,建議可以申請Let’s Encrypt,詳細的申請手續在官方網站已經有做介紹,我們在此不多做敘述。
在取得SSL憑證後,請按照Setting up CKAN with SSL [6] 這篇文章進行安裝。
REFERENCE
- CKAN, “Installing CKAN from Package,” CKAN. [Online]. Available: http://docs.ckan.org/en/latest/maintaining/installing/install-from-package.html
- CKAN, “Installing CKAN from Source,” CKAN. [Online]. Available: http://docs.ckan.org/en/latest/maintaining/installing/install-from-source.html
- 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
- 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
- CKAN2 安裝教學. [Online]. Available: http://ckan-docs-tw.readthedocs.io/zh_TW/2.4/install.html
- CKAN, “Setting up CKAN with SSL,”. [Online]. Available: https://github.com/ckan/ckan/wiki/SSL