Google Compute EngineのCentOS7にiDempiere8.2をインストールする
CentOS Streamの登場により、CentOS8のサポート切れが、2021年12月末という事で、CentOS7にiDempiere/JPiereをインストールする事もあるかと思いますので、ここにCentOS7に、iDempiere8.2/JPiere8.2をインストールする方法について調査及び研究し、その成果をまとめておきたいと思います。※CentOS7は、2024年6月30日までサポートされるようです…。
基本的な流れは、他のLinuxディストリビューションでも同じになります。
ページ内目次
- インスタンスを作成する
- OpenJDK11のインストール
- unzipのインストール
- PostgreSQLのインストールと初期設定
- iDempiere or JPiereのダウンロード
- iDempiere8.2/JPiere8.2のインストール(デプロイ)
- 日本語環境にする
インスタンスを作成する
Google Compute Engine(以下、GCE)でCentOS7のインスタンスを作成して下さい。
GCEのインスタンスを作成する方法や、そのインスタンスへのアクセス方法については、このコンテンツでは省略します。知りたい方は下記のコンテンツを参照して下さい。
sudo yum -y install unzip
PostgreSQLのインストールと初期設定
iDempiere8.2で使用しているPostgreSQLのドライバーは42.2.18です。このドライバーに対応しているPostgreSQLを使用して下さい。
※JPiere8.2のPostgreSQLのダンプファイルは、PostgreSQL11から取得しています。そのためJPiere8.2を使用する場合は、PostgreSQL11もしくはPostgreSQL12をオススメします。PostgreSQL13を使用する場合は、いったんPostgreSQL12にリストアして、そこから再度ダンプファイルを取得して、PostgreSQL13にリストアする事をオススメします。
iDempiere or JPiereのダウンロード
iDempiereをインストールしたい場合は、iDempiereのインストールパッケージをダウンロードして下さい。JPiereをインストールしたい場合は、JPiereのインストールパッケージをダウンロードして下さい。
iDempiereのダウンロード
iDempiereのインストールパッケージはSourceForgeで公開されています。
iDempiereコミュニティーが用意しているインストールパッケージは、バージョンアップしたタイミングのインストールパッケージと、日々ビルドされているインストールパッケージが用意されています。ここでは、日々ビルドしているインストールパッケージをダウンロードします。
Path : Files > v8.2 >Daily-server
- idempiereServer8.2Daily.gtk.linux.x86_64.zip
JPiereのダウンロード
JPiereのインストールパッケージはOSDNで公開しています。
◆https://ja.osdn.net/projects/jpiere/
JPiereのインストールパッケージは、概ね半年の間隔で最新のインストールパッケージを公開しています。
ダウンロード > リリース一覧
下記のファイルをダウンロードして下さい。
- JPiereServer82.Linux.x86_64.zip … JPiere8.2のインストールパッケージ
- ExpDat.jar … PostgreSQLのダンプファイル
【注意】JPiereのインストールパッケージには、iDempiereも含まれています。
JPiereは、iDempiereを日本商慣習対応させるためのプラグイン群ですが、OSDNで配布しているJPiereのインストールパッケージには、iDempiereも含めたシステム全体として配布しています。そのため、JPiereをインストールするのに、予めiDempiereをインストールしておくような事は不要です。
【補足説明】本番環境にはソースコードからビルドしたインストールパッケージを使用して下さい。
iDempiereのインストールパッケージもJPiereのインストールパッケージも、公開されているインストールパッケージは検証用です。本番環境で使用する際には、ソースコードからビルドしたインストールパッケージを使用して下さい。そしてビルドしたソースコードはGitHubなどに大切に保管しておいて下さい。
iDempiere8.2/JPiere8.2のインストール(デプロイ)
ダウンロードしたiDempiere8.2もしくはJPiere8.2のインストールパッケージを、GCEのインスタンスに転送して下さい。
Zipファイルの解凍
◆iDempiereの場合
iDempiereの場合は、idempiereServer8.2Daily.gtk.linux.x86_64.zipの中に、iDempiereのサーバーデイレクトリとダンプファイルの両方が入っています。そのためまずは、idempiereServer8.2Daily.gtk.linux.x86_64.zipを解凍します。
- idempiereServer8.2Daily.gtk.linux.x86_64.zip -> idempiere.gtk.linux.x86_64ディレクトリ
sudo unzip idempiereServer8.2Daily.gtk.linux.x86_64.zip
解凍したidempiere.gtk.linux.x86_64ディレクトリの中に、idempiere-serverディレクトリ(以下、%idempiere-server%)があり、このディレクトリがiDempiereの本体となります。
解凍するとディレクトリ階層がかなり深くなるので、少し浅い所に移動しておきます。
下記のコマンドは%idempiere%を 「/usr/local/etc/」に移動させる例です。「/usr/local/etc/」の部分は、適宜変更して下さい。
sudo cp -r idempiere.gtk.linux.x86_64/idempiere-server/ /usr/local/etc/
◆JPiereの場合
JPiereの場合は、JPiereServer82.Linux.x86_64.zipを解凍すると、JPiereサーバーデイレクトリ(以下、%jpiere-server%)になります。また、ダウンロードしたExpDat.jarを解凍すると、PostgreSQLのダンプファイルになります。
- JPiereServer82.Linux.x86_64.zip -> jpiere-serverデイレクトリ
- ExpDat.jar -> ExpDat.dmpファイル
sudo unzip JPiereServer82.Linux.x86_64.zip
sudo unzip ExpDat.jar
PostgreSQLのダンプファイルのリストア
◆iDempiereのダンプファイル
iDempiereのPostgreSQLのダンプファイルは、%idempiere-server%/data/seedデイレクトリにあるAdempiere_pg.jarファイルです。Adempiere_pg.jarファイルをZip解凍します。
sudo unzip Adempiere_pg.jar
解凍すると、Adempiere_pg.dmpファイルになります。このファイルをPostgreSQLにリストアます。
psql -d idempiere -U adempiere -f Adempiere_pg.dmp
◆JPiereのダンプファイル
JPiereのPostgreSQLのダンプファイルは、iDempiereのダンプファイルとは異なりますので気を付けて下さい。OSDNからJPiereのインストールパッケージと一緒にダウンロードしたダンプファイルを使って下さい。
psql -d idempiere -U adempiere -f ExpDat.dmp
【注意】JPiereのインストールにはAdempiere_pg.jarは使用しない!!
JPiereのインストールパッケージと一緒にダウンロードした、ExpDat.jarを解凍してリストアして下さい!!
iDempiere/JPiereの初期セットアップ
ここからは、iDempiereもJPiereも同じ手順です。
◆idempiereファイルの権限をゆるくする
idempiere-serverディレクトリの直下にあるidempiereファイルの権限をゆるくしないと、初期セットアップがパーミッションエラーになるので、ゆるくしておきます。
sudo chmod 777 idempiere
◆console-setup-alt.sh の JAVA変数の修正
Javaの変数を修正します。
(例) /usr/lib/jvm/jre-11-openjdk-11.0.11.0.9-1.el7_9.x86_64/bin/java
(例) /usr/lib/jvm/jre-11-openjdk-11.0.14.1.1-1.el7_9.x86_64/bin/java
sudo chmod 777 console-setup-alt.sh
vi console-setup-alt.sh
[Insert]キーで、編集モード。
[Escape]キーで、編集モード終了。
[:wq] で 保存してエディタを終了。
◆JPiereの追加対応
JPiere8.2のインストールパッケージをWindows10で作成しているためだと思われますが、console-setup-alt.shを実行すると、改行コードの違いによるエラーになってしまいます。それを未然に防ぐために、再度、console-setup-alt.shファイルを開いて、[dos]から[unix]へ切り替えて下さい。
再度console-setup-alt.shファイルを開きます。
vi console-setup-alt.sh
console-setup-alt.shファイルを開いたら下記を入力して、[dos]から[unix]に切り替えます。
:se ff=unix
保存して終了です。
:wq
◆console-setup-alt.shの実行
console-setup-alt.shを実行して、初期セットアップを行います。
sudo sh console-setup-alt.sh
- Java Home [/usr/lib/jvm/java-11-openjdk-11.0.11.0.9-1.el7_9.x86_64] ※自動入力(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ユーザーのパスワード
【データベースサーバー】
- 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]
◆Error Saving File
idempiereEnv.propertiesファイルの書き込みに失敗する事があります。
03:08:51.861===========> ConfigurationData.save: Cannot save Properties to /usr/ local/etc/jpiere-server/idempiereEnv.properties - org.adempiere.exceptions.Ademp iereException: File does not exist or canno execute /usr/local/etc/jpiere-server /utils/setVar.sh [1]
Error Saving File
Failed to save changes.
file=/usr/local/etc/jpiere-server/org.adempiere.install/build.xml exists=false
Buildfile: build.xml
このエラーに遭遇したら、いったんidempiereEnv.propertiesを削除して、もう一回、初期セットアップを実行して下さい。
sudo rm idempiereEnv.properties
もう一度、console-setup-alt.shを実行して、初期セットアップを行います。
sudo sh console-setup-alt.sh
iDempiereの起動
$ sudo sh idempiere-server.sh &
これで、iDempiereが起動されます。
iDempiere or JPiereの初期セットアップをデフォルトのポート(8080)で設定した場合は、下記のURLにアクセスしてみて下さい。iDempiereのログイン画面が表示されれば完了です!!
- http://ドメイン(or IP):8080/webui/
いわゆるオレオレ証明書ですが、httpsでもアクセスする事ができます。httpsでアクセスする場合、通常ブラウザが警告をだすと思いますが、それを無視すれば下記のURLでアクセスできます。
- hppts://ドメイン(or IP):8443/webui/
iDempiere or JPiereの初期セットアップをWebポートを[80]、SSLポートを[443]に指定した場合は下記のURLでアクセスする事ができるはずです。
- http://ドメイン(or IP)/webui/
- https://ドメイン(or IP)/webui/
もちろん、オレオレ証明書ではない、ちゃんとしたサーバー証明書を使ってSSL/TLSの設定をする事もできます。
サポーターズコンテンツ
◆Error
下記のようなエラーがでたら、idempiereEnv.propertiesファイルを削除して、もう1回「console-setup-alt.shの実行」をして下さい。
===================================
Starting iDempiere Server
===================================
idempiere-server.sh: line 54: @JAVA_HOME@/bin/java: No such file or directory
$sudo yum -y install ibus-kkc vlgothic-*
$sudo localectl set-locale LANG=ja_JP.UTF-8
【オプション対応】
”ja_JP.UTF-8”にして文字化けした場合、下記の"en_US.UTF-8"を試してみて下さい。
$sudo localectl set-locale LANG=en_US.UTF-8
そして、下記の対応を行って下さい。