Personal tools
You are here: Home Zope&Plone Tips Plone 2.1.3 -> 2.5.3-final アップグレード
Document Actions

Plone 2.1.3 -> 2.5.3-final アップグレード

by maru last modified 2007-07-04 00:14

Plone 2.1.3 から 2.5.3-final にアップグレードして、本鯖で稼働させました。

【環境】

  • Python-2.3.5 (Linux) → Python-2.4.4 (Linux)
  • PIL-1.1.5 → PIL-1.1.6
  • Zope-2.8.6-final (Linux) → Zope-2.9.7-final (Linux)
  • Plone-2.1.3 → Plone-2.5.3-final
  • ATPhoto-1-0-alpha1 → ATPhoto-1-0-alpha1 build 53
  • COREBlog2-0.9b → COREBlog2-0.982b

新環境もろもろインストール

 Plone-3.0.x系が本格稼働しそうな今日この頃。今頃かよ!ってツッコミが来そうなタイミングでの移行ですが、キニシナイw

 Plone-2.1.x系 から Plone-2.5.x系 へのアップグレードは Plone-2.5.1へのアップグレード で試験的にやってOKだったので、ほぼその手順通りでいけるはずです。

 で、新環境をインストールする際、必要なtar玉をかき集めてたら、Plone-2.5.3-UnifiedInstaller.tgz なるものを発見。(plone本家 の”Get Plone 2.5.3 for Linux”のリンク先のやつね) これでやってみようかな。

 うーん、こりゃ楽ですわ。 このtar玉にPython やら Zope やら必要なものが全部入ってるし、install.sh で一発インスコできる始末。・・・普通ならそうなんですが、インストール先ディレクトリが気に入らなかったので install.sh を参照しつつ手動で prefix とか変えて作業しましたけどねorz

 と言うわけで、この一式セットでごっそりとこんな感じでインストール。

----- zlib-1.2.3 -----
[root@ns1 packages]# tar zxvf zlib-1.2.3.tar.gz
[root@ns1 zlib-1.2.3]# ./configure -s
[root@ns1 zlib-1.2.3]# make test
[root@ns1 zlib-1.2.3]# make install

----- Python-2.4.4 -----
[root@ns1 packages]# tar zxvf Python-2.4.4.tgz
[root@ns1 Python-2.4.4]# ./configure --prefix=/opt/python-2.4.4 \
--with-readline --with-zlib
[root@ns1 Python-2.4.4]# make
[root@ns1 Python-2.4.4]# make install

----- ReportLab-2.0 -----
[root@ns1 packages]# tar zxvf ReportLab_2_0.tgz
[root@ns1 reportlab_2_0]# mv reportlab \
/opt/python-2.4.4/lib/python2.4/site-packages/.

----- PyXML-0.8.4 -----
[root@ns1 packages]# tar zxvf PyXML-0.8.4.tar.gz
[root@ns1 PyXML-0.8.4]# /opt/python-2.4.4/bin/python ./setup.py build
[root@ns1 PyXML-0.8.4]# /opt/python-2.4.4/bin/python ./setup.py install

----- jpegsrc.v6b -----
[root@ns1 packages]# tar zxvf jpegsrc.v6b.tar.gz
[root@ns1 jpeg-6b]# ./configure CFLAGS='-fPIC'
[root@ns1 jpeg-6b]# make
[root@ns1 jpeg-6b]# make install
[root@ns1 jpeg-6b]# ranlib libjpeg.a
[root@ns1 jpeg-6b]# cp libjpeg.a /usr/local/lib
[root@ns1 jpeg-6b]# cp *.h /usr/local/include

----- PIL-1.1.6 -----
[root@ns1 packages]# tar zxvf Imaging-1.1.6.tar.gz
[root@ns1 Imaging-1.1.6]# /opt/python-2.4.4/bin/python ./setup.py build_ext -i
[root@ns1 Imaging-1.1.6]# /opt/python-2.4.4/bin/python ./selftest.py
[root@ns1 Imaging-1.1.6]# /opt/python-2.4.4/bin/python ./setup.py install

----- ElementTree-1.2.6 -----
[root@ns1 packages]# tar zxvf elementtree-1.2.6-20050316.tar.gz
[root@ns1 elementtree-1.2.6-20050316]# /opt/python-2.4.4/bin/python \
./setup.py build
[root@ns1 elementtree-1.2.6-20050316]# /opt/python-2.4.4/bin/python \
./setup.py install

----- Zope-2.9.7-final -----
[root@ns1 packages]# tar zxvf Zope-2.9.7-final.tgz
[root@ns1 Zope-2.9.7-final]# ./configure \
--with-python=/opt/python-2.4.4/bin/python \
--prefix=/usr/local/zope/Zope-2.9.7
[root@ns1 Zope-2.9.7-final]# make
[root@ns1 Zope-2.9.7-final]# make install

----- make zopeinstance -----
[root@ns1 packages]# /usr/local/zope/Zope-2.9.7/bin/mkzopeinstance.py \
-d /var/zope/Plone-2.5.3
Please choose a username and password for the initial user.
These will be the credentials you use to initially manage
your new Zope instance.

Username: ****
Password:
Verify password: 
[root@ns1 packages]#

----- Plone-2.5.3-final -----
[root@ns1 packages]# tar zxvf Plone-2.5.3-final.tar.gz
[root@ns1 packages]# mv ./Plone-2.5.3-final/* /var/zope/Plone-2.5.3/Products/.
[root@ns1 packages]# cd /var/zope/Plone-2.5.3/Products
[root@ns1 Products]# mv ./CacheFu/CacheSetup .
[root@ns1 Products]# mv ./CacheFu/CMFSquidTool .
[root@ns1 Products]# mv ./CacheFu/PageCacheManager .
[root@ns1 Products]# mv ./CacheFu/PolicyHTTPCacheManager .

----- TextIndexNG3-3.1.14 -----
[root@ns1 packages]# tar zxvf TextIndexNG3-3.1.14.tar.gz
[root@ns1 packages]# mv TextIndexNG3 /var/zope/Plone-2.5.3/Products/.
[root@ns1 packages]# cd /var/zope/Plone-2.5.3/Products/TextIndexNG3/\
extension_modules
[root@ns1 extension_modules]# cd /var/zope/Plone-2.5.3/Products/\
TextIndexNG3/extension_modules
[root@ns1 extension_modules]# /opt/python-2.4.4/bin/python ./setup.py install

 ちなみに、install.sh でインストールするとデフォルトで ZEO を使うの環境になるっぽいんですが、訳分からんのでこの辺はやってません。・・・というかそれ以前に ZEO ってなに?(;´Д`)

Python site-package追加

 上記は必要最小限のインストールなので以下のモジュールを「/opt/python2.4.4/bin/python setup.py install」でゴリゴリ追加インストール。

  • pykf (pykf-0.3.4.tgz) COREBlog2 で使用。本家は相変わらず鯖脂肪状態なので探したらココにあった。
  • JapaneseCodecs (JapaneseCodecs-1.4.11.tar.gz)

 さらに、pykf が Zope 上で使えるように、allow_module()を行うプロダクトを作ってぶち込んでおきます。これをやっておかないとなに?そのモジュール?って怒られちゃうので。

各Productインストール

今まで使用している以下のProductを $[INSTANCE]/Products に展開。大分新しくなってるものもありますな。

utf-8環境設定などして取りあえずまっさらZODBで起動

 これは前回の Plone-2.5.1へのアップグレード を参照。zope.conf の設定とか、sitecustomize.py 設置とか。

 んで、parmissionとかの設定をして、取りあえずデータなしで起動して問題等あるか確認。

[root@ns1 packages]# cd /var/zope
[root@ns1 zope]# chown -R hoge:hoge Plone-2.5.3
[root@ns1 zope]# cd Plone-2.5.3/bin
[root@ns1 bin]# ./zopectl start

 一通りいじってみましたが、問題なさそうなのでいよいよ 2.1.x系の Data.fs ( FileSystemStorage で使ってるディレクトリ内すべてのデータも移行をお忘れなく)をぶち込んで再起動& Migrate しまくります。

Migrationとか

 まぁこれも Plone-2.5.1にうpしたときと変わりませんな。以下のところをしらみつぶしに Migration しまくりますw

  1. プロダクトを追加・削除画面 にて再インストールしろとなってるものはすべて再インスコ。
  2. Zope管理インターフェース(ZMI) (ploneのトップね)で「!」マークが出てるところの Migrate タブに行ってMigrate。・・・と言っても、今回は「 /portal_migration 」のところだけでしたな。
  3. 更にZMI/portal_catalogAdvanced に行き、「Clear and Rebuild」を押して、カタログを再構築(一応ね)。

 これで Migration は完了。あとは customize した page_templateやらのマージを行い、アップグレード作業完了っと。

 今回はUnicodeDecodeErrorとか文字化けとか出ずにすんなり行きました。暫く動かして event.log を見てもエラーっぽいログは吐き出されてないようです。(・∀・) Plone-2.5.1 で出てたエラーも出てないし。

javascriptが・・・

portal_javascript画面 うーん。問題なく動いてるな~と思ってたんですが、 ATPhoto でちょっとおかしいところが出てきちゃいましたorz Plone-2.1.x系では動いていたjavascriptがなんかうまく動いてくれないときがあるんです 。・゚・(ノД`)・゚・。

 で、その問題の切り分けをしてみると、どうも ZMIの /portal_javacript で、各jsファイルの設定値である「Compression type」が関係していて、これを「safe」にするとおかしくなっちゃうようです。実際、ATPhotoに関連するjsファイルのCompression typeを「none」にしてみたところちゃんと動くようになりました。

 なんだかよく分かりませんが取りあえず暫定として、「Debug/development mode」をONにして稼働させてます。

・・・つか英語翻訳出来ないとかなり泣ける・・・。safeにすると何がどうなってるのかさっぱり分からんorz