在開始安裝的動作之前, 我們先假設欲安裝至的目錄為 $ZOPE_CUSTOM=/var/lib/zope-custom , 以之為後續安裝動作的根目錄。
自原始碼安裝 Python 2.3.4
取得 Python-2.3.4.tgz 套件, 解到 $ZOPE_CUSTOM/archive/Python-2.3.4 目錄內, 準備從原始碼建立專供 Zope 使用的 Python 執行環境。
configure Python 時,應該預先準備好:
- readline 的 header files, 讓 Python 互動環境可以使用 readline 所提供的行內編輯功能。 以 Debian 作業系統為例,應該要安裝 libreadline4-dev 這個開發用套件。
- Zope 的運作需要 zlib,故也需要 zlib 的 header files。 在 Debian 下,是由 zlib1g-dev 這個套件所提供。
我們將 Python 2.3.4 安裝到 $ZOPE_CUSTOM/python-2.3.4 這個目錄裡面, 所以要用 ./configure --prefix=$ZOPE_CUSTOM/python-2.3.4 來組態原始碼。 組態之後用 make install 進行編譯與安裝。
Python 的中文化 (cjkcodecs)
在自訂的 Python 內安裝 cjkcodecs (也可額外安裝 iconvcodecs), 你可以在解開該套件檔之後, 於其目錄內進行安裝:
$ZOPE_CUSTOM/python-2.3.4/bin/python setup.py install
如果直接執行 ./setup.py install ,會安裝到系統的 Python 程式庫中, 則 Zope 無法使用它們,並不是我們所要的結果。
安裝 Zope 2.7.3
在 configure 時指定安裝目錄為 $ZOPE_CUSTOM/zope-2.7.3 , 並且指定使用我們自己建立的 Python 版本 $ZOPE_CUSTOM/python-2.3.4:
./configure --prefix=$ZOPE_CUSTOM/zope-2.7.3 \ --with-python=$ZOPE_CUSTOM/python2.3.4/bin/python
接著用 make 建立 Zope 2.7.3 版,編譯好了之後, 再用 make install 把建立好的檔案複製到 $ZOPE_CUSTOM/zope-2.7.3 裡面。
建立 Zope instance
我們準備把 instance 安裝在 $ZOPE_CUSTOM/instance 裡, 預設的 instance 就叫作 default ,用以下的指令進行:
$ mkdir $ZOPE_CUSTOM/instance $ cd $ZOPE_CUSTOM/instance $ $ZOPE_CUSTOM/zope-2.7.3/bin/mkzopeinstance.py \ -d $ZOPE_CUSTOM/instance/defaut -u <admin>:<passwd>
其中 mkzopeinstance.py 的 -u 參數指定的是該 instance 預設的使用者名稱和密碼。 如果沒有加上這個參數,程式會在執行後向你提示輸入這一組資訊, 之後等到 instance 建立完畢之後,就要用這組帳號和密碼登入 Zope。
instance 建立完畢之後,還需要進行設定。 先編輯 $ZOPE_CUSTOM/instance/default/etc/zope , 找到 <http-server> ,把 address 改為 38080 (或是你喜歡的埠號), 而 <ftp-server> 也要作相應的修改。 然後,找到 effective-user , 設定為 effective-user zope (或是你要用來執行 Zope 的使用者名稱)。 編輯完這些設定之後,存檔,回到 default instance 目錄下, 把所有檔案的擁有者重設為 zope:zope ,俾使 Zope 得以正確啟動。
最後,切換到 default instance 目錄下, 執行 ./bin/runzope ,Zope 即應可正常啟動。
Zope 的中文化 (cjksplitter)
在 $ZOPE_CUSTOM/instance/default/Products 裡安裝 cjksplitter-0_7.tgz 這個 Product。 安裝的方法,是只要把包裝檔的內容解到 Products 目錄內即可, 唯解開後的擁有者與權限須注意 (所有的 Products 在安裝時均須注意擁有者與權限)。
不過,即使安裝了這個 product, reStructuredText 物件仍然不能正常顯示中文。 這是 reStructuredText 物件的問題, 不是 docutils 的限制 (COREBlog rST 的中文即可正常被處理)。
Zope 的 init.d script
舉我們目前的安裝為例,以下的 init.d script 可以用作系統層級的服務管理:
PATH=/bin:/usr/bin:/sbin:/usr/sbin ZOPECTL=/var/local/lib/zope-custom/instance/default/bin/zopectl export TZ="Hongkong" test -f $ZOPECTL || exit 0 case "$1" in start|stop|restart|force-reload) $ZOPECTL $1 ;; *) echo "Usage: /etc/init.d/zope {start|stop|restart|force-reload}" exit 1 ;; esac exit 0
我們將此檔案存為 /etc/init.d/zope-custom-default 。 未來若有建立其它 instance 的機會,可據此檔修改另一獨立的 script。
Plone 2.0.5
解開 Plone-2.0.5.tar.gz 包裝檔, 將其中 Plone-2.0.5 目錄內的所有次目錄移到 $ZOPE_CUSTOM/Products 內。 不要忘記取代權限。
Plone 的中文化 (zopechinapak)
安裝 zopechinapak-0_4.tgz product。
- Previous: 舞HiME 第十一話 『光と闇の輪舞(ロンド)』 @2004/12/12
- Next: うたかた 第十一話 別離の波動 @2004/12/16
Please send trackback to: http://blog.seety.org/everydaywork/2004/12/13/147/trackback/.