Google Compute EngineのCentOS7の環境にiDempiere3.1をインストールする
Google Compute Engine(GCE)のCentOS7のインスタンスにiDempiere3.1(Java8、PostgreSQL9.4)をインストールする方法を調査及び研究し、その成果をまとめています。
基本的な流れは、Ubuntu12.4LTSでのインストール(前半/後半)と同じですので、詳しくはそちらを参考にして下さい。ここでは、ポイントだけ端的に記載します。
ページ内目次
インスタンスの基本設定
管理の設定
ディスクの設定
ネットワーキングの設定
アクセスとセキュリティの設定
ファイルをダウンロードするwgetコマンドがインストールされていないため、インストールします。
sudo yum -y install wget
iDempiere3.1はJava8で動作します。ここではOracleのJDK8を使用する前提で記述します。JDK8のバージョンは最新のバージョンを確認して使用して下さい。
JDK8のダウンロード
$wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.rpm"
JDK8のインストール
$sudo rpm -ivh jdk-8u66-linux-x64.rpm
JDK8のインストールの確認
javaが正しくインストールされているかどうか確認するために、javaのバージョンを確認します。
$java -version
PostgreSQL9.4のインストールパッケージのダウンロード
$wget http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm
$sudo rpm -ivh pgdg-centos94-9.4-1.noarch.rpm
$sudo yum -y install postgresql94-server postgresql94-devel postgresql94-contrib
パスの設定
initdbを実行するためにパスを通しておきます。
$sudo su
#cd /var/lib/pgsql/
vi .bash_profile
※ファイルの末尾に追加※
export PATH=$PATH:/usr/pgsql-9.4/bin
データベースの初期化
$sudo su
#su - postgres
-bash-4.2$ cd /var/lib/pgsql/9.4
-bash-4.2$ rm -rf data
-bash-4.2$ initdb --encoding=UTF8 --no-locale --pgdata=/var/lib/pgsql/9.4/data --auth=trust
※オプションで--auth=trustと指定する事により、pg_hba.confの認証方法がtrustになります。
自動起動の設定
サーバーの起動時にPostgreSQLも起動するようにします。
$sudo systemctl enable postgresql-9.4
データベースの起動
PostgreSQLに対して操作を行うためPostgreSQLを起動します。
$sudo systemctl start postgresql-9.4
ちなみに$sudo systemctl stop postgresql-9.4で止まります。
postgresユーザのパスワード設定
PostgreSQLをインストールした際に、ユーザー"postgres"が作成されます。初期値ではパスワードは設定されていませんので、ここでパスワードを設定しておきます。
$sudo passwd postgres
adempiereユーザの作成
$sudo su
#su - postgres
-bash-4.2$psql -U postgres -c "CREATE ROLE adempiere SUPERUSER LOGIN PASSWORD 'adempiere'"
iDempiere用のデータベースの作成
$ createdb --template=template0 -E UNICODE -O adempiere -U adempiere idempiere
$ psql -d idempiere -U adempiere -c "ALTER ROLE adempiere SET search_path TO adempiere, pg_catalog"
iDempiereのデータベースのリストア
iDempiereのデータベース(Seed)をリストアします。WinSCP等を使用して、PostgreSQLのダンプファイルをサーバーに転送して下さい。
$ psql -d idempiere -U adempiere -f ExpDat.dmp
postgresql.confとpg_hba.confの編集
必要に応じてpostgresql.confとpg_hba.confを編集して下さい。GCEのCentOS7のインスタンス1つでiDempiereサーバーとPostgreSQLを上記の手順で同居させる分には、初期設定でiDempiereからPostgreSQLにアクセスする事はできます。
$sudo su
#cd /var/lib/pgsql/9.4/data
古いバージョンのPostgreSQLがインストールされないようにする
$sudo su
#vi /etc/yum.repos.d/CentOS-Base.repo
[base]と[updates]に"exclude=postgresql*"を追加
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
exclude=postgresql*
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
exclude=postgresql*
sudo yum -y install unzip
iDempiereをインストールします。WinSCP等を使用して、iDempiereのインストールパッケージをサーバーに転送して下さい。
圧縮されているインストールパッケージを解凍する
$ sudo unzip idempiereServer.gtk.linux.x86_64.zip
$ sudo cp -r idempiere.gtk.linux.x86_64/idempiere-server/ /usr/local/etc/
iDempiereのセットアップ
$ sudo sh console-setup.sh
iDempiereの起動
$ sudo sh idempiere-server.sh &
上記までの手順でiDempiereの起動はできますが、PDFのレポートを表示した時に日本語が□(とーふ)状態で表示されてしまします。この問題を解決するために、日本語関連のパッケージをインストールします。
$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
もしくは、下記を参照して下さい。