在開始安裝的動作之前, 我們先假設欲安裝至的目錄為 $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。

Posted by yungyuc at 21:55, 0 comment, 0 trackback.
Add a trackback
Add a comment

Your name. (required)

Your personal website. (optional)

Your email address. Will not show in page. (suggested, but optional)

Text format is "Plain Text".

Enter "cqcbK"
© hover year to navigate month: powered by django