2010年4月7日水曜日

ERP5をインストールしてみる、の巻き。

知ってる人は知っているフランス生まれのオープンソースのERPパッケージ「ERP5」。
http://www.erp5.org/

開発者(というかCTO)にGRUBの奥地さんがいらっしゃる(いらっしゃった?)ことでも有名。

日本でも事業展開されているようです。
http://www.nexedi.co.jp/

ぶーとろーだーと言えばGRUB。
GRUBと言えばぶーとろーだー。

何だかすごそうっぽいことだけは分かるんですが、ブートローダーが具体的に何をしているのかもよく知りません。
数年前にノートPCにfedoraとwindowsのデュアル環境を構築した際にGRUBさんにはお世話になった記憶がありますが、今の自宅サーバのブートローダーが何なのかも知らない。
そんな私ですが、奥地さんにはお会いしたいしてみたいなー。

やや脱線気味ですが、本題のERP5のインストール。

ERP5は(ほぼ)pythonで書かれており、ZepoというWEBサーバが必要になるようです。
またMandrivaというLinuxディストリビューション上で構築するのが正しいスタイルであるようです。

でもMandrivaLinuxって聞いたこともなかったですし、馴染みのある、CentOSで構築したいじゃない?
(動作確認のために構築したかっただけだし・・・)

MandrivaもRedHatベースのようなんで何とかなるかな、と思って作業し出したのですが、結論から言うと素直にMandrivaにするべきです。
CentOSでの構築方法は全然見つからない。日本語情報はもちろん、英語の情報も全然見つからない。
ERP5のオフィシャルページにもMandriva前提のurpmiコマンド(yumっぽいやつらしい)なんかで説明してあって全然参考にならない。

オフィシャルページには何通りかの構築方法が紹介されていますが、CentOSユーザにはソースをコンパイルする選択肢しかありません。
http://www.erp5.org/Download

コンパイルと言っても、パッケージやインストーラなどが提供されているので慣れれば簡単に構築できると思いますが、コマンドを実行する階層がずれれば続行できなくなったりするなど、なかなか手強いです。


■まず、インストーラを使う方法。

CentOSでは上手く行かない部分があって、結局諦めましたが、ディストリビューションによってはインストーラの使用がもっとも楽だと思います。

http://www.erp5.org/DownloadERP5Installer
ま、ここに書かれている通りなんですが、glibcのバージョンに注意して構築を始めます。

$ tar xzvf erp5-installer
$ cd erp5installer/
$ ./install.sh

 ----------------------------------
|  Checking for required packages  |
 ----------------------------------
Checking for ImageMagick...........Not Installed
Checking for pdftk.................Not Installed
Checking for pdftohtml.............Not Installed
Checking for xpdf..................Not Installed
Checking for MySQL server..........OK

色々と必要なライブラリがあります。
地道に入れていきます。

ImageMagick
http://www.imagemagick.org/script/index.php

pdftk
http://www.accesspdf.com/pdftk/

pdftkはCentOS標準のyumリポジトリにないのでrpm登録。
※参考
http://d.hatena.ne.jp/scientre/20090523/pdftk
※アーキテクチャに注意すること。リンク先はi386、x86は下記rpm。

pdftohtml
http://pdftohtml.sourceforge.net/

$ yum install ImageMagick
$ rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
$ yum install pdftk
$ yum install pdftohtml
#poppler-utilsがインストールされる

ここまでは良かったんですが、この後のxpdfがCentOSにはキツイです。

xpdfはforkしてpopplerというライブラリになったようなのですが、popplerをインストールしてもERP5のインストーラは動いてくれません。
上記pdftohtmlのインストールでpopplerはインストールされているのですが、それでも駄目だと言われます。

yumでxpdf探してもCentOSにはありません。

CentOS用にFedoraのライブラリを提供してくれているサイト(http://centos.karan.org/)のパッケージも見てみましたがxpdfは無いようです(2010/04/07時点)。

CentOS用のxpdfインストールパッケージを書いてくれている人も居るようですが、インストールディレクトリのパスが通らないようで動きませんでした。
http://computingfunnyfacts.blogspot.com/2008/11/xpdf-in-centos.html

仕方がないのでソースからインストールしようとしましたが、Xが必要だとか言われてコンパイルできませんでした。
結局諦めたのですが、途中までの手順です。

※参考
http://install.pocari.org/xpdf-3.html

依存ライブラリインストール
$ yum install freetype
$ yum install t1lib
リンク先のようにyumではなくソースからインストールすると通るのかもしれない。

ソースの取得とパッチの適用からインストールまで

$ wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02.tar.gz
$ wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl1.patch
$ wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl2.patch
$ wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl3.patch
$ wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl4.patch
$ tar xzf xpdf-3.02.tar.gz
$ cd xpdf-3.02
$ patch -p1 < ../xpdf-3.02pl1.patch
$ patch -p1 < ../xpdf-3.02pl2.patch
$ patch -p1 < ../xpdf-3.02pl3.patch
$ patch -p1 < ../xpdf-3.02pl4.patch
この後、いつものように./configureするのですが、オプションの設定がよく分かりませんでした。
※freetype-develとt1lib-develを入れればよかったのかも。

オプション指定せずに./configureしてみたところ、X関係が必要だとかで進みませんでした。

$ yum groupinstall "X Window System"

してみても駄目。結局諦めちゃいました。


■Buildoutを利用する方法

今後、現行のRPMでのインストールなどもbuildoutというインストールシステムへ移行するようです。
http://www.erp5.org/HowToUseBuildout

色々と試してみましたが最終的にはこの方法でインストールしました。
ただ、この方法でZepoサーバも同時にインストールされるはずなんですが、これまでの格闘の際にインストールしていた別のZepoサーバのファイルを参照しにいったりするような構成が出来上がってしまっていまして、ちゃんと切り分けて整理できていない部分もあります。
お約束ですが、試してみる際は、無保証自己責任でお願いします。

上記リンクに「Dependencies:」との記載がありますが、CentOSでは全然上手くいきません。
トライアンドエラーの結果、以下のライブラリをインストールすればコンパイルできるようになりました。
※多分必要ないのもある。もしかするとメモし忘れてるのもあるかもしれない。

$ yum install python-devel
$ yum install glib-devel
$ yum install glib2-devel
$ yum install glibc-devel
$ yum install cyrus-sasl-devel
$ yum install cyrus-sasl-devel
$ yum install openldap-devel
$ yum install libxml2-devel
$ yum install libxslt-devel
$ yum install subversion-devel
$ yum install gcc-c++
$ yum install neon-devel

buidoutパッケージを任意の場所に配置しますが、配置した場所がZepoサーバのインストール先になるので適当な場所にして下さい。

またここから先はroot以外での作業をお勧めします。
最後、サーバを立ち上げる時にrootでは実行できません。
一般ユーザでサーバ起動コマンドを実行しないとエラーになります。
rootでインストールしてしまうと、ファイルのパーミッション変更などが大変です。

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

#MySQLの接続情報を設定ファイルに記述

$ vi buildout.cfg

[buildout]
extends = profiles/development.cfg

[create_erp5_site]
# modify this to reflect your local mysql configuration
# Format:
#     database[@host[:port]] [user [password [unix_socket]]]
#   e.g "erp5db erp5user somepassword" or "erp5db erp5user"
- erp5_sql_connection_string = erp5 erp5user
+ erp5_sql_connection_string = erp5 erp5 erp5
#「erp5_sql_connection_string = 」の後に、DB名、ユーザ名、パスワード
# database[@host[:port]] [user [password [unix_socket]]]

$ python2.4 bootstrap/bootstrap.py
$ python2.4 ./bin/buildout
#cd ./bin
#python2.4 ./buidout
#とかすると動作しない

これでがちゃがちゃコンパイルしてインストールが始まります。
WARNING出し続けながら数十分掛かってインストールが完了します。

インストールが完了すれば、パッケージ直下から以下のコマンドでサーバが起動。

$ ./bin/zopectl fg

上手く行っていれば
http://host:18080
でZepoにアクセスできるはずです。

0 件のコメント:

コメントを投稿