Posts tagged ‘Zope’

ERP5 への道 — 導入編4

はじめに

前回、「ERP5への道 — 導入編3」で ERP5 のインストールまでこぎ着けたものの、そのまま手付かずになっていた。久しぶりに ERP5 を触ってみようと思ったら、buildout を利用したインストールが出来ることが分かった。ちなみに buildout のことは知らなかったのだが、Zope 環境で動作するプロダクトなどを配布ならびにインストールするための make のようなものと理解した。

手順の概略

インストール手順は基本的に erp5.org の Web サイトに記載されている情報に従った。

以降で具体的な手順について順番に記載していくが、ここでの内容は次の環境で実施したものである。

  • OS : Mandriva 2010.0 on 32 bits x86 CPU
  • HOST : VMware Player 3.0.1 (メモリ割り当て 768MB、HDD 20GB、NAT 接続)

RPM パッケージのダウンロード

まずリポジトリを設定してから buildout に必要な RPM モジュール群をインストールする。実際の作業は root アカウントで実施した。

# urpmi.addmedia –update nexedi http://www.nexedi.org/static/mandrivalinux/2010.0/i586/
# urpmi.addmedia –distrib –mirrorlist ‘http://api.mandriva.com/mirrors/basic.2010.0.i586.list’
# urpmi task-erp5-buildout

この手順によって ERP5 に必要なバージョンの Python と Zope などに加えて MySQL もインストールされる。

各モジュールのインストール途中で「複数バージョンが存在するので、どれをインストールするのか?」といった趣旨の問い合わせがある。Python などが必ずしも最新バージョンをインストールするわけではないことと関連していると思うが、すでにインストール済みのバイナリパッケージなどのバージョンを調べながら、出来るだけ一致したバージョンのものを選択したほうが良いと思う。

MySQL の設定

前項の手順を踏むと MySQL がインストールされているはずなので、そこに ERP5 用のデータベースとユーザを登録する。

  • データベース名 : erp5
  • ユーザ名 : erp5user

この名前はこれから実行する buildout で作られるbuildout.cfg 内にデフォルトで設定されている値である。データベース名などを変更するときは、buildout.cfg も編集する必要がある。

buildout の準備

ここからの作業は一般ユーザアカウントで実行する。buildout を実行する前に buildout を実行するユーザのホームディレクトリに ~/.buildout/default.cfg というディレクトリとファイルを作っておく。default.cfg の中身は次のようになる。

[buildout]
# Directory where built dependencies will be shared
eggs-directory = /home/<CHANGETHIS>/.buildout/eggs
# Directory to store downloads
download-cache = /home/<CHANGETHIS>/.buildout/download-cache

さらに default.cfg 内で指定した位置に eggs と download-cache ディレクトリを作っておく。この設定をしておくとキャッシュが有効となって buildout を繰り返した時の処理時間が短縮される。これらのディレクトリには buildout の実行ユーザが読み書き可能なパーミッションを設定する。

buildout の実行

まず ERP5 の buildout パッケージを取り出す。

$ cd <YOUR_WORKING_DIRECTORY>
$ svn co https://svn.erp5.org/repos/public/experimental/erp5.buildout/

ここで https を指定しているにも関わらず、証明書が自己生成のものなので確認を求められる。画面に表示される証明書情報を一応確認した上で、常に承認する旨の回答を選択しておく。

チェックアウトが完了すると、現在のディレクトリには erp5.buildout というディレクトリが作られる。そのディレクトリに入ってから、bootstrap/bootstrap.py と bin/buildout コマンドを実行すれば、erp5 のインストールが完了する。

$ cd erp5.buildout/
$ python2.4 -S bootstrap/bootstrap.py
$ python2.4 -S bin/buildout

実はここまでの記述は原本の HowToUseBuildout とは若干異なっている。原本では apt-get を使って gcc などの開発環境を整えているが、こちらではすでに urpmi コマンドを使って完了している。また、原本では データベース名が erp5db となっているが、buildout.cfg にデフォルト設定されている名前が erp5 となっているので、ここでもデータベース名は erp5 としている。さらに原本では buildout 実行時に python にはオプション指定が無いが、erp5.buildout/README.TXT をみると -S オプションを指定するようになっている。実は -S オプションの意味が十分に把握できていないのだが、ここでは -S を付けて実行している。

また buildout の途中で SOAP 関連のライブラリ欠如のためにエラーが出る。恐らく urpmi task-erp5-buildout では SOAP がインストール対象となっていないことが原因と思われる。このままでもインストールは完了して zope/erp5 は立ち上がるが、buildout 実行前に SOAP 関連のライブラリなどを手作業でインストールしておけばエラー発生は回避できると思う。

buildout コマンドを実行すれば、あとは erp5 のインストール完了を待つだけなのだが、実際には処理が途中でフリーズしたように見える現象に遭遇した。その時のプロセス状況を確認してみると、途中の svn co を実行したまま待ち状態になっているようなのだ。このままではどうしようもないので、一旦処理を中断してからもう一度 buildout コマンドを実行してみると、今度は最後まで実行が完了する、といったことを数回経験した。止まってしまうところは毎回異なるので、原因はつかめていないのだが、その後に ERP5 は問題なく実行できている。VMware Server 環境だとこのようなことは発生しないという報告もあるので、VMware あるいは マシン 固有の問題なのかもしれない。

buildout 終了後、次のコマンドで zope を立ち上げる。

$ bin/zopectl fg

なお fg の代わりに –help を指定すれば fg 以外のオプション機能を確認することができる。

続いてブラウザで次の URL にアクセスして ERP5 のログイン認証画面となれば、一応インストール作業が完了したものとする。

http://localhost:18080/erp5

ここでユーザ名 zope、パスワード zope を入力すれば ERP5 のトップ画面にアクセスすることができる。

日本語リソース導入のためのビジネステンプレート導入

ERP5 のメニュー表記などを日本語表示するためには、日本語化のためのビジネステンプレートを導入する。まず始めにHow To Install Business Templates における “Install Business Template from repositories” の項に記載されている手順に従って erp5_l10n_ja というローカライゼーション用のビジネステンプレートをインストールする。

  1. ERP5 トップ画面左上の “My favourites” メニューから “Manage Business Templates” を選択する。
  2. メニューバーにある “Import/Export” アイコン(青と赤の横矢印がすれ違うデザイン)をクリックする。
  3. “Update Repositories Informations” 画面になるので、そこにあるテキストエリアにリポジトリの URL http://www.erp5.org/dists/snapshot/bt5/ を入力してから、下部にある “Update Repositories Information” ボタンを押す。
  4. 同じ画面に成功メッセージが表示されたら、セレクトメニューから “Install Business Template” を選択する。画面にはインストール可能なビジネステンプレート一覧が表示される。
  5. 一覧から erp5_l10n_ja を探してチェックボックスで選択したら、画面最下部にある “Install Business Templates from Repositories” ボタンを押す。
  6. 確認画面になるので “Validate Installation” ボタンを押す。
  7. 画面右上にある言語選択メニューに “日本語” という選択肢が追加されていることを確認する。これを選べばメニューなどが日本語で表示されるようになる。

これで日本語化された ERP5 を利用できるようになる。

最後に

buildout による ERP5 のインストールは、途中で想定外の動作に遭遇するなど、まだ完全に把握できていない状態である。そのため本稿の内容には間違った記述や誤解が含まれている可能性があり、それらをご指摘いただければ幸いである。

ERP5 への道 — 導入編3

はじめに

実は前回の「導入編2」ですべての準備が整ったと思っていたが、実はまだもう少しやることがあった。そのあたりのメモ。

MySQL

ERP5 のプラットフォームになっている Zope は独自のオブジェクトデータベースを持っているはずなので、何で MySQL なのかと思ったのだが、インデクス利用の高速化を図るためのオプションらしい。このあたりは勉強会主催者ロングフィールドさんの説明による。

Mandriva のインストール工程で MySQL は入らなかったようなので、このタイミングで導入しておく。

urpmi mysql-max

ERP5 プロダクトの最適化

前回すでに ERP5 のパッケージを導入済みだが、subversion のリポジトリ経由でアップデートすることも可能のようだ。

http://www.erp5.org/DownloadSourceCode

ただし、この方法でのアップデートの可否は erp5-dev メーリングリストなどを参考にしながら判断するように、との注意書きも添えられている。今回は試しにチェックアウトを実行してみた。もちろん事前に subversion のパッケージも入れておく。ちなみにチェックアウト先である $INSTANCE_HOME/Products は、今回の環境では /usr/lib/erp5/lib/python/Products となっている。

ERP5 サイトの作成

ここで Zope の管理画面に入るため、Web ブラウザで次の URL にアクセスする。

localhost:9080/manage

続いて画面右端にある “Accelerated HTTP Cashe Manager” と書いてあるプルダウンメニューより “ERP5 Site” という選択項目を選んで “Add” ボタンを押す。そうすると ERP5 ポータルサイトのプロパティと、MySQL 接続用の情報を入力する画面になる。とりあえずすべてデフォルトのまま “Create a new ERP5 site instance” ボタンを押すと、ERP5 のサイトが作られて管理画面左側のフォルダ一覧表示欄に erp5 という新しいフォルダが出来上がる。ここの処理が完了するまではしばらく時間が掛かる。たぶん 5分から 10分程度は掛かったと思う。これでようやく本当に ERP5 にアクセスできる環境が出来たようだ。

しかしロングフィールドさんによると、さらに「ERP5 コアモジュールの最新化」「ERP5 ビジネステンプレートのインストール」といった作業が必要らしい。コアモジュールの最新化って前述の最適化と違うのか? まだまだ ERP5 への道は長そうだ。

今回はここまで。

ERP5 への道 — 導入編2

はじめに

本稿は Mandriva のインストールを解説した「導入編1」に続いて、ERP5 のインストール手順を記述する。ERP5 はアプリケーションフレームワークとして Zope を利用しており、またその Zope は Python で記述されている。現在、Python のバージョンは 2.6 が主流だが、すでに 3.0.1 もリリースされていて 2.x 系から 3.x 系への移行が始まっている状況にある。ところが Zope 2.x の動作には Python 2.3 や 2.4 が必要となっている。Zope の開発が止まっているわけではないのだが、極めて慎重にプロジェクトを進めていることによるものと思われる。

実は数年前に Zope/Plone を評価しようとしたのだが、その時も Zope が Python の最新バージョンに対応しておらず、それだけで面倒になって放り出してしまった経験がある。コンパイル時の config オプション指定によって複数バージョンの Python を共存させることが可能であることは、だいぶ後になってから知った。それが可能になったとはいえ、複数バージョンの言語処理系を同時に維持管理することに対しては消極的になってしまう。

今回は Zope に加えて ERP5 もインストールしなければならない。どうなることかと思ったが、幸いなことに ERP5 Community が Zope/Python/ERP5 を一括してパッケージしたものを配布してくれている。これを使えば何の苦労もせずに ERP5 の環境が出来上がる。このパッケージが Mandriva 用にメンテナンスと配布が行われているため、導入編1のような苦労をしても Mandriva をインストールする必要があった。

RPM パッケージを使ったインストール

Mandriva 環境で ERP5 インストールする手順はhttp://www.erp5.org/DownloadRpm に詳しく記述されており、それに従って作業を進めればまず問題はないはず。基本的に RPM を取ってくるリポジトリを指定し、続いてインストールということになるが、Mandriva ではこれらの作業に urpmi というコマンドを使う。自分にはあまり馴染みのないコマンドだったが、CentOS などで使う yum コマンドと同じようなものである。

まずはリポジトリの指定。ここで 2009.1 の部分は Mandriva のバージョンと合わせる必要があるはずなので、Mandriva の版が変わったときは、こちらの指定も変えることになると思う。

urpmi.addmedia –update nexedi http://www.nexedi.org/static/mandrivalinux/2009.1/i586/
urpmi.addmedia –distrib –mirrorlist ‘http://api.mandriva.com/mirrors/basic.2009.1.i586.list’

続いて RPM パッケージのインストール指定。このコマンドを実行すると依存関係によって、70 近い数のパッケージがインストールされる。

urpmi task-erp5
urpmi task-erp5-devel

これで必要なパッケージ群がようやく揃った。

Zope/ERP5 の起動

ERP5 を起動する前に ERP5 (or Zope)専用のアカウントを登録する。

/usr/bin/zopectl-erp5 adduser [user_name] [password]

今回のインストール作業では、ここで大量のワーニングが表示されてしまったが、とりあえず無視して進んでしまっても問題は無いように見えた。しかし、今後 Zope/ERP5 を触ってもう少し状況が分かってきたら、きちんと対処する必要が出てくるのかもしれない。
また、ここで登録したアカウントは ERP5 のものなのか Zope のものなのか、現時点では理解できていないのだが、コマンドから類推すると Zope を統合した ERP5 を稼働させるというイメージなのだろう。

最後に ERP5 の起動コマンドを実行する。今回のインストール作業でどうなっているか確認していないが、/etc/rc.d にスクリプトを追加すれば、OS 起動時に ERP5 が自動的に立ち上がるようにできるのは、他のサービスの取扱いとまったく同じ。

/etc/init.d/erp5 start

Zope/ERP5 アプリケーションサーバのデフォルト画面には、localhost のポート 9080 にアクセスすれば良い。また、/manage にアクセスしてから、前述で登録したアカウントで認証を受ければ、管理用の画面にたどり着ける。

localhost:9080
localhost:9080/manage

これでやっと ERP5 を触れる状態になった。ここまで到達するのに時間と労力が必要だったが、実は TioLive という SaaS 型の ERP5 サービスを無償で試せたり、即 ERP5 が立ち上がる LiveCD が配布されているので、これらを利用したほうが ERP5 への近道かもしれない。

ERP5 への道 — 導入編1

はじめに

先日(有)ロングフィールドさんが主催した Zope/ERP5 勉強会に参加した。この勉強会は複数回の開催が予定されていて、今回は Zope と EPR5 の実行環境の作り方が話題の中心だった。これが結構手間の掛かる作業だったので、備忘録として書き留めておくことにする。

勉強会ということで、ノート PC 上の VMWare Server に Mandriva Linux をインストールし、これを Zope と ERP5 のベース環境とする。本稿では Mandriva のインストールを終えるところまでを記載する。なお、OS インストールにかなり時間が掛かったが、これは使用したノート PC の HDD が非力によるものと思う。

PC のスペック : Pentium M 1.2GHz/1GB memory/80GB Ultra ATA HDD (1.8inch)

ところでなぜ Mandriva なのかということだが、ERP5 の開発元である Nexedi 社の標準的な開発環境が Mandriva なので、ERP5 との相性が良いということらしい。どちらも同じフランス発祥の OSS であることも関係しているのかもしれない。

VMWare Server のインストール

これは別の記事で既に書いてある手順に従う。現時点で入手可能な最新版は 2.0 だが、ロングフィールドさんによると使い勝手の点から 1.0.9 を推奨するとのこと。ちなみに最近リリースされたばかりの VMWare Player 最新版では、自分で仮想マシンを作ることができるようになったらしいので、Server の代わりに Player を使えるかもしれない。

Mandriva の iso イメージファイルを入手

iso イメージファイルは Mandriva の Web サイトから入手できるが、ここから直接ダウンロードできるのは英語版だけである。日本語版も用意されているが、こちらを手に入れるためには BitTorrent を使う必要がある。日本語版の iso イメージファイル名は次のとおり。これは GNOME 版だが KDE 版もあるようだ。

mandriva-linux-one-2009.1-GNOME-africa-asia-cdrom-i586.iso

BitTorrent 用の .torrent ファイルは次の URL で入手できる。

http://torrent.mandriva.com/public/

また BitTorrent が使えなくても、Linux ディストリビューションを配布している理研などのミラーサイトでも、この iso イメージファイルを見つけることができる。

http://ftp.riken.go.jp/Linux/mandrake/official/iso/2009.1/mandriva-linux-one-2009.1-GNOME-africa-asia-cdrom-i586.iso

仮想マシンに OS をインストールする工程では、イメージファイルを HDD に置いたまま使うので、DVD-R などに焼く必要はない。

仮想マシンの作成

iso イメージファイルを入手できたら、VMWare Server で仮想マシンを作る。”Virtual machine configuration” で “Typical” を選択し、OS 一覧にある Mandriva を選ぶ。同じリストに Mandriva の前身である Mandrake が並んでいるので、間違えて選ばないようにする。

“Network connection” は NAT を選ぶ。今回のインストール作業では bridged を選ぶと、Mandriva 仮想マシンからネットワークへの接続が出来ないという現象に悩まされた。同一環境で Ubuntu を仮想マシンとしてインストールしたときは bridged でも大丈夫だったので、Mandriva 特有の現象かもしれないと考えている。なお、ここで bridged を選択したとしても、後で簡単に変更することが可能である。

“Disk capacity” はデフォルト値 8GB のままで大丈夫。ここで “Allocate all disk space now” のチェックを外したほうが良い。そうしないと最初から 8GB 分の初期化を行おうとするため非常に時間が掛かるし、ディスク容量も無駄に確保してしまう。もうひとつのオプションである “Split disk into 2GB” をチェックすると、仮想マシン用に確保される実ファイルが 2GB ごとに分割される。今回はチェックしなかったので、OS インストール終了後にはおよそ 2.6 GB程度のファイルが出来上がっていた。

ディスクの Allocate を指定しなければ、ここはあっというまに完了するはず。Allocate のチェックを入れると、初期化が始まってしまって途中でキャンセルができない。

仮想マシンが出来上がったら VMWare のコンソールに戻り、追加した仮想マシンの Device 情報を一部変更する。仮想マシンに割り当てられるメモリはデフォルトで 256MB だが、今回はこれを 512MB に変更してみる。ちなみにホストの実メモリは1GB。この値も後からいつでも変更可能だが、多めに設定しておけばインストールが多少は早くなるかも、と考えた。

OS のインストールはホストマシンの CD-ROM/DVD デバイス経由でももちろん可能だが、HDD 上の iso イメージファイルから直接起動することもできる。そのため一時的に CD-ROM デバイスの Connection 情報を “Use ISO image” に変更し、同時に iso イメージファイルを置いてあるパスを指定しておく。

OS インストール

ここまでの設定を完了したら “Start this virtual machine” を実行する。CD-ROM デバイス情報を切り替えているので、指定の iso イメージファイルがライブ CD として認識され、CD 版の Mandriva が立ち上がる。ここはとても時間が掛かる。ノート PC の非力な HDD(1.8 inch) が影響しているのか、起動するだけで 10分以上も掛かった。

VMWare の仮想マシンに Linux をインストールするときは CUI モードにするか、GUI を使うのであれば VMWare をフルスクリーンにしないと、インストールが極端に遅くなるといった情報もあった。しかし Mandriva のインストールに CUI モードはなさそうなので、フルスクリーン状態で起動すれば多少は時間を短縮できるのかもしれない。

仮想 CD-ROM から無事に Mandriva が起動すると、GNOME デスクトップが表示される。そこに “Live インストール” アイコンがあるので、これをクリックすると仮想マシンの HDD に対して Mandriva のインストールが始まる。このとき「不要なパッケージ削除」という処理があるのだが、これにもまた時間が掛かる(おおよそ 7-8 分だったか)ので焦らず気長に待つ。

その後、MANDRIVA’S PRODUCT RANGE 2009 Spring というスプラッシュ画面と、進捗を表示するプログレスバーが表示される。詳細が表示されないのでよく分からないが、ここでパッケージ群が HDD にインストールされている模様。この工程は 40分程度で完了し、最後にブートローダのインストール画面が出て終わり。

一旦シャットダウンし仮想マシンの CD-ROM デバイス設定を、iso イメージファイルからホストマシンの実ドライブに変更しておく。この時点で iso イメージファイルは削除しても構わない。

ここでもういちど仮想マシンを起動すると、スーパーユーザと一般ユーザのアカウント作成を求められる。これですべての初期インストール作業は終了となる。画面は一般ユーザでログインした後の GNOME デスクトップになっているので、念のためインターネットに接続できるかどうかを確認しておく。当初 bridge 設定のままインストールしたとき、インターネットにアクセス出来ない状況になってしまったが、NAT に変えてリブートしたら問題なく接続できた経緯がある。

これからさらに頑張ってパッケージ群を最新のものにアップデートする。RPM 用の GUI 管理ツールがあるので、これを利用する。この作業が完了するのにおおよそ 30分。これでようやく完了となるが、とにかく時間が掛かった。つい最近、まったく同じ VMWare 環境に Ubuntu をインストールしたときは、もう少し短時間でインストールが終了したように思う。

そして最後に必需品の emacs を RPM マネージャ経由でインストールしようとしたらトラブル発生。

以下のパッケージは選択できません:
– xemacs-21.4.22-3mdv2009.1.i586 (libXaw3d.so.7 が依存を満たしていないために)

そもそも libXaw3d.so.7 というライブラリはインストールされていない。/usr/lib の下に libXaw.so.7 なんていうのがあったので、試しにシンボリックリンクを設定してみたりしたのだが状況は変わらなかった。結局、RPM でインストールすることを諦め、後ほどソースコードからインストールすることにして終わる。

このあと Zope と ERP5 をインストールするのだが、長くなってしまったので以降は「導入編2」に続く。