end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転します

オープンソースERPのadempiere for win をインストール

http://thinkit.co.jp/book/2011/01/17/1929

adempiere(アデンピエレ?)というOSS ERP があるらしく、Think IT に連載が記載されていました。

この連載の第2回にadempiereのinstall方法が詳しく記載されていますが、私の環境(win xp)では、いくつかつまづいたので、ポイントとなった部分を書き留めておきます。

http://thinkit.co.jp/story/2011/01/24/1949

[前準備] PostgreSQL

postgres本体の install (locale=C)

特に難しい部分はありません。
http://www.postgresql.org/ から postgresql-9.0.2-1-windows.exe を取得し、オプションは殆どデフォルト値でinstallしました。

ただし、http://lets.postgresql.jp/documents/tutorial/windows/ 等を参考にAdvanced Options は [Default locale] から C に変更しています。

また、installerの終了後にstack builderというツールも起動しますが、私の場合、使用しませんでした。

postgres install後の設定

ThinkITの記事では、pg_hba.conf を編集することでremoteからのDB接続を許可していますが、
私の場合、DBもadempiereも同じwin xpにinstallするので、この設定は行っていません。

更に記事では、adempiereデータのインポート( RUN_ImportAdempiere.bat )の為に postgresのbinをシステム環境変数PATHへ追加していますが、私の場合、RUN_ImportAdempiere.bat に次の行を追加して、環境変数へ追加しました。

@SET PATH=%PATH%;C:\Program Files\PostgreSQL\9.0\bin
postgresにadempiere用DBの作成

ThinkITの記事には記載されていませんが、adempiere用のDBを作成する必要があります。postgresの管理ツールであるpgAdminIIIを起動し、次のようにadempiere dbを作成して下さい。

[前準備] java

特に難しい部分はありません。
http://java.sun.com/javase/ja/6/download.html から jdk-6u23-windows-i586.exe を取得し、installしました。
更にシステム環境変数のPATHに c:\Program Files\Java\jdk1.6.0_23\bin を追加し、JAVA_HOMEにc:\Program Files\Java\jdk1.6.0_23 を登録しました。

記事にはJAVA_HOMEの設定は記載されていませんでしたが、私の環境ではJAVA_HOMEにjdkをしてしない場合、C:\Adempiere\RUN_setup.bat で保存を実行すると次のようなerrorが発生しました。

C:\Adempiere\build.xml:269: Execute failed: java.io.IOException:
 Cannot run program "jarsigner.exe": CreateProcess error=2, ?w?????t?@?

adempiere本体のダウンロードとインストール

adempiere本体のインストールに特に難しい部分はありません。

http://sourceforge.jp/projects/adempiere/releases/?package_id=5556 からadempiere360_ja_rev001.zip をダウンロードし、これを解凍するだけですので、ThinkITの記事をご覧下さい。

adempiereのサーバ設定

C:\Adempiere\RUN_setup.bat を実行し、私の場合、次の赤枠部分を編集しました。
入力後、「テスト」→「保存」を実行すると、buildが行われ、lib/AdempiereClient.zip も作成されました。

※「保存」実行時に「C:\Adempiere\build.xml:269 ...」のようなエラーが表示された場合は、前述のjavaの部分を参考にして下さい。

adempiereのdata import

C:\Adempiere\utils\RUN_ImportAdempiere.bat を実行するだけですが、私の場合、記事のようにシステム環境変数PATHにpostgresのbinを追加せず、RUN_ImportAdempiere.bat 内で次のようにPATHを追加しました。

@SET PATH=%PATH%;C:\Program Files\PostgreSQL\9.0\bin

adempiere client

C:\Adempiere\RUN_setup.bat の「保存」処理により作成された lib/AdempiereClient.zip にある RUN_Adempiere.bat を実行すると、adempiereのclientが表示されます。

ただし、clientの起動時に次のようなエラーが表示されたので、そのうち調べます。

 - {java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory,
    java.naming.provider.url=jnp://localhost:1099,
    jnp.discoveryTimeout=5000, jnp.timeout=5000,
    java.naming.factory.url.pkgs=org.jboss.naming.client, jnp.sotimeout=5000}
javax.naming.CommunicationException:
Could not obtain connection to any of these urls:
localhost:1099 and discovery failed with error:
javax.naming.CommunicationException:Receive timed out
[Root exception is java.net.SocketTimeoutException:Receive timed out]
[Root exception is javax.naming.CommunicationException:
  Failed to connect to server localhost:1099
  [Root exception is javax.naming.ServiceUnavailableException:
   Failed to connect to server localhost:1099
    [Root exceptionis java.net.ConnectException: Connection refused: connect]]]
        at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1562)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:634)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at org.compiere.db.CConnection.lookup(CConnection.java:1649)
        at org.compiere.db.CConnection.isAppsServerOK(CConnection.java:382)

adempiere server

C:\Adempiere\utils\RUN_Server2.bat を実行すると、adempiereのサーバが起動します。
(私の環境では、起動までに2〜3分要しました)。
ThinkITの記事では、http://localhost/webui/adempiereの画面が表示されるとありますが、私の環境では、https://localhost/webui/ でのみ表示されました。

なぜだろう... これもそのうち調べます。

最後に

とりあえず、adempiereのインストールはできたようですが、adempiereの操作をしていないので、正しく動作するかは分かりません。
ThinkITの連載記事が追加された頃に改めて試してみます。