Google Compute EngineのCentOS8にiDempiere7.1をインストールする

 Google Compute Engine(GCE)のCentOS8のインスタンスにiDempiere7.1 (OpenJDK11、PostgreSQL11)をインストールする方法を調査及び研究し、その成果をまとめています。

 基本的な流れは、他のLinuxディストリビューションでも同じになります。

インスタンスを作成する

Google Compute Engine(以下、GCE)でCentOS8のインスタンスを作成します。

Google Compute Engine
Google Compute Engine

GCEのインスタンスを作成する方法や、そのインスタンスへのアクセス方法については、このコンテンツでは省略します。知りたい方は下記のコンテンツを参照して下さい。

OpenJDK11のインストール

下記のコンテンツを参照して、CentOS8にOpenJDK11をインストールして下さい。

PostgreSQL11のインストールと初期設定

  iDempiere7.1で使用しているPostgreSQLのドライバーは42.2.5です。このドライバーに対応しているPostgreSQLを使用して下さい。

推奨は、PostgreSQL10もしくはPostgreSQL11です。

unzipのインストール

 iDempiereのインストールパッケージがZIP圧縮さているので、解凍するためにインストールします。

sudo yum -y install unzip

iDempiereのダウンロード

iDempiereのインストールパッケージはSourceForgeで公開されています。

Filesメニューの中にある、v7.1フォルダを作成します。

v7.1フォルダの中には、2種類のインストールパッケージが用意されています。

  • daily-server … Jenkinsで毎日ビルドされているインストールパッケージです。
  • server … iDempiereが7.1にバージョンアップされた時点のインストールパッケージです。

daily-serverのインストールパッケージは、マイグレーションスクリプトの適用が必要になる場合がありますので、iDempiereに不慣れな方には、あまりおススメできません。そのためこのコンテンツでは、server フォルダにあるインストールパッケージを使用します。

このコンテンツでは、idempiereServer7.1gtk.linux.x86_64.zipを使用して行きます。

curl -OL https://sourceforge.net/projects/idempiere/files/v7.1/server/idempiereServer7.1.gtk.linux.x86_64.zip

 上記コマンドで、インストールパッケージをLinuxの任意のデイレクトリにダウンロードする事ができます。ネットにつながらない環境の場合は、WinSCP等を使用して、iDempiereのインストールパッケージをサーバーに転送して下さい。

 このコンテンツでは、/usr/local/etcデイレクトリの配下にiDempiereのインストールパッケージがある想定で説明します。

iDempiereのインストール

圧縮されているインストールパッケージを解凍する

sudo unzip idempiereServer7.1.gtk.linux.x86_64.zip

 

解凍するとディレクトリ階層がかなり深くなるので、少し浅い所に移動しておきます。

sudo cp -r idempiere.gtk.linux.x86_64/idempiere-server/ /usr/local/etc/

 

iDempiereの初期セットアップ

◆idempiereファイルの権限をゆるくする

idempiere-serverディレクトリの直下にあるidempiereファイルの権限をゆるくしないと、初期セットアップがパーミッションエラーになるので、ゆるくしておきます。

sudo chmod 777 idempiere

 

◆console-setup-alt.sh の JAVA変数の修正

JAVAの変数を修正します。/usr/lib/java/jdk-11.0.2/bin/java を設定して下さい。

sudo chmod 777 console-setup-alt.sh

vi console-setup-alt.sh

[Insert]キーで、編集モード。

[Escape]キーで、編集モード終了。

[:wq] で 保存してエディタを終了。

 

◆console-setup-alt.shの実行

console-setup-alt.shを実行して、初期セットアップを行います。

sudo sh console-setup-alt.sh

  • Java Home [/usr/lib/java/jdk-11.0.2] ※自動入力(Default)
  • iDempiere Home [/user/local/etc/idempiere-server] ※自動入力(Default)

 【SSLの設定】

  • Key Store Password [myPassword] ※自動入力(Default)
  • (ON) Common Name [root] ※自動入力(Default)
  • (OU) Organization Unit [iDempiereUser] ※自動入力(Default)
  • (O) Organization [root] ※自動入力(Default)
  • (L) Local/Town [MyTown] ※自動入力(Default)
  • (s) State []
  • (c) Country(2 Char) [US] ※自動入力(Default)

【アプリケーションサーバー】

  • Application server host Name [GCEのインスタンス名]
  • Application Server Web Port [80]
  • Application Server SSL Port  [443]

【データベースサーバー】

  • DB Already Exists? (Y/N)   [Y]
  • Database Type  [2] ※PostgreSQL
  • Database Server Host name  [localhost] ※自動入力(Default)
  • Database Server Port  [5432] ※自動入力(Default)
  • Database Name  [idempiere] ※自動入力(Default)
  • Database user  [adempiere] ※自動入力(Default)
  • Database password  [adempiere] ※自動入力(Default)
  • Database System User Password   [] ※postgresユーザーのパスワード

【メールサーバー】

  • Mail Server Host Name  [localhost] ※自動入力(Default)
  • Mail User Login  []
  • Mail User Password  []
  • Administrator Email  []
  • Save changes (Y/N)  [Y]

 

◆エラー対応

Windows環境で、Linuxのインストールパッケージを作成すると、下記のエラーにより、console-setup-alt.shが実行できない場合があります。

console-setup-alt.sh: line 5: $'\r': command not found

console-setup-alt.sh: line 32: syntax error: unexpected end of file

このエラーは、改行コードの違いによるものですので、viで開くと、下の方に[dos]形式と表示されており、Windowsの改行コードを使用している事がわかります。

下記の操作を行って、改行コードをLinux用に変換して保存します。

vi console-setup-alt.sh

:se ff=unix

:wq

 

iDempiereの起動

$ sudo sh idempiere-server.sh &

 

日本語環境にする

IBusのインストール

日本語入力に対応して、ibus-kkcをインストールします。

sudo yum install ibus-kkc

 ibus-kkcをインストールしても、下記のエラーが出るようでしたら、CentOS8を再起動してみて下さい。

◆java.lang.reflect.InvocationTargetException

iDempiereにログインして、このExceptionに遭遇したら、上記の日本語環境対応を行って下さい。

 

PDFのトーフ(□)対応

IBusをインストールしても、レポートのPDF表示において、日本語がいわゆる豆腐(□)に表示されることがあります。その場合は、下記の対応も行って下さい。

オープンソースのERP iDempiereの日本商慣習対応ディスリビューション