Google Compute EngineのCentOS8にiDempiere7.1をインストールする
Google Compute Engine(GCE)のCentOS8のインスタンスにiDempiere7.1 (OpenJDK11、PostgreSQL11)をインストールする方法を調査及び研究し、その成果をまとめています。
基本的な流れは、他のLinuxディストリビューションでも同じになります。
ページ内目次
GCEのインスタンスを作成する方法や、そのインスタンスへのアクセス方法については、このコンテンツでは省略します。知りたい方は下記のコンテンツを参照して下さい。
PostgreSQL11のインストールと初期設定
iDempiere7.1で使用しているPostgreSQLのドライバーは42.2.5です。このドライバーに対応しているPostgreSQLを使用して下さい。
推奨は、PostgreSQL10もしくはPostgreSQL11です。
sudo yum -y install unzip
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のインストールパッケージがある想定で説明します。
圧縮されているインストールパッケージを解凍する
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表示において、日本語がいわゆる豆腐(□)に表示されることがあります。その場合は、下記の対応も行って下さい。