Upload
chengjen-lee
View
227
Download
7
Embed Size (px)
Citation preview
CKAN 技術介紹 (基礎篇 )
李承錱 (Sol)
中央研究院資訊科學研究所
本著作採用創用 CC 「姓名標示 -相同方式分享」授權條款台灣 3.0版
6
安裝:經由 Ubuntu套件
● 優點:最簡單方便● 缺點:需安裝於特定環境 (64-bit Ubuntu 12.04)、一台主機僅能執行一
CKAN實體、不適於開發環境● 步驟
1.安裝必須系統套件: nginx、 apache2 (網頁伺服器 )、 libapache2-mod-wsgi (Python網頁程式溝通介面 )、 libpq5 (資料庫函式庫 )
2.自官方下載 .deb套件檔案並安裝3.安裝、初始化資料庫4.安裝Solr搜尋引擎5.啟動mod-wsgi模組與 apache2
8
安裝:經由原始碼
● 推薦方式,以下教學以此法為主● 優點:可自訂安裝位置、一主機可執行多個CKAN實體、可安裝於非Ubuntu系統 *
● 缺點:步驟繁複、易引發套件相依性問題● 步驟
1.安裝必須系統套件2.建立Python虛擬環境 (Virtual Environment)
3.自GitHub下載CKAN程式碼並安裝於前一步驟建立之虛擬環境4.建立CKAN環境設定檔5.安裝、初始化資料庫6.安裝Solr搜尋引擎7.啟動開發環境 (paster)或開始部署 (apache2+nginx)
*仍須滿足套件相依性要求
9
擴充套件與外掛
● 擴充套件 (Extension):由多個外掛所組成,可擴充多項功能
● 外掛 (Plugin):擴充功能的最小單位
擴充套件 ckanext-spatial:提供地理相關功能
外掛 wms_view
提供wms預覽功能
外掛 geojson_view
提供 geojson預覽功能
...
11
安裝詳細步驟
● 官方教學文件– http://docs.ckan.org/en/ckan-
2.3/maintaining/installing/index.html● 中文版教學文件 (對應 CKAN 2.2,僅供參考 )
– https://ckan-docs-tw.readthedocs.org/– 中文搜尋支援安裝教學– 部分擴充套件之詳細安裝教學
13
管理與維護
● 環境設定檔 production.ini*
– 位置: /etc/ckan/default
*或 Development.ini. **http://docs.ckan.org/
系統功能開關
系統全域變數設定
設定欲啟用之外掛 (Plugins)
部分外掛之功能開關與變數設定
文件 **: Maintainer’s guide » Config File Options
14
管理與維護
● 後台管理指令 Paster
– 進行系統管理相關操作 (即所謂系統開發員權限 )● 如:建立使用者、初始化資料庫等
– 指令參考: http://docs.ckan.org/en/ckan-2.3/maintaining/paster.html 進入 Python虛擬環境
paster user list:列出使用者清單--plugin=ckan:指定 CKAN程式-c:指定環境設定檔位置
輸出結果
文件 : Maintainer’s guide » Command Line Interface
15
管理與維護
● Solr搜尋索引定義檔 schema.xml
– 位置 * : /etc/solr/conf
– 定義搜尋索引 (可搜尋 )欄位
*實務上,會將修改後之 schema.xml置入網站客製擴充套件目錄
中文搜尋定義
空間搜尋定義
16
管理與維護
● 系統存取 /錯誤記錄檔– 位置: /var/log/apache2
– ckan_default.error.log:網頁程式錯誤傾印– ckan_default.custom.log:網站存取紀錄
17
管理與維護
● 備份內容– 程式目錄: /usr/lib/ckan/default/src/
– 資料庫– 實體 (上傳 )檔案儲存目錄
● 由環境設定檔之 ckan.storage_path變數定義– 環境設定檔 Production.ini
– 伺服器設定檔 (apache、 nginx)
18
管理與維護
● 補充:關於程式目錄– CKAN主程式為 AGPL授權,修改之原始碼必須釋出– 建議上傳至GitHub (以美國 data.gov為例 )
1.建立一GitHub組織,存放所有欲開放之程式如:GSA (美國總務署 )
2. Fork (複製 ) CKAN主程式而非建立新儲存庫 (repository)
3.建立分支版本 (git branch)放置主程式之修改 若遇官方升級,再使用 git merge合併升級 若有功能提升或錯誤修正,適時提交原專案
19
升級
● CKAN版本命名原則M.m.p (例: 2.2.2)
M大版本更新
(Major Releases)
● 更新週期 >1年● 重大程式架構與 API調整● 有不可逆之資料庫升級
m小版本更新
(Minor Releases)
● 更新週期約 3個月● 小幅更動程式架構● 仍可能有資料庫升級
p增補更新
(Patch Releases)
● 不定時更新● 錯誤修正、安全性更新● 無資料庫升級
20
升級
● 升級前– 閱讀新版更改紀錄 (changelog),留意對應調整– 測試自行修改內容及擴充套件與新版本之相容性
● nosetests --ckan --with-pylons=test-core.ini ckan● 即使網站操作正常,仍需留意系統記錄檔之輸出,避免網站修改部分使用到已過時 (deprecated)方法等
– 進行完整備份 (透過 paster db dump指令 )
21
升級
● 升級中
1. 下載最新程式碼2.安裝新相依套件3.安裝新主程式4.重啟 Solr (若有 Solr定義變動 *)
5.升級資料庫 (若有資料庫變動 *,透過 paster db upgrade指令 )
6.重建 Solr搜尋索引7.重新啟動伺服器
*參考 changelog說明
23
基礎篇重點摘要
● CKAN關鍵技術:Python、 HTML、 JavaScript、 SQL、 Linux
● 三種安裝方式 (建議使用原始碼安裝 )
● 後台管理指令 Paster、設定檔、記錄檔之功能● 日常備份內容
– 修改之主程式需釋出● 升級前、中、後應注意事項