JPiere8.2もしくはJPiere9をインストールするために、オープンソースのデータベースPostgreSQL12をCentOS7にインストールする方法について、調査及び研究し、その成果をまとめています。
Step1:PostgreSQLをYumリポジトリに登録する
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Step2:PostgreSQL12をCentOS7にインストールする
PostgreSQLと追加モジュール(contrib)をインストールします。iDempiereでは、contribもインストールすることが推奨されています。
sudo yum -y install postgresql12-server postgresql12-contrib
バージョンの確認。インストールが完了したら、それを確認するために、インストールしたPostgreSQLのバージョンを確認しておきましょう!
psql --version
Step3:データベースの初期化と自動起動の設定
データベースの初期化
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
自動起動
PostgreSQLの自動起動設定
sudo systemctl enable postgresql-12
Step4:初期設定
postgresql.confの設定
ファイルのパス : /var/lib/pgsql/12/data/postgresql.conf
ファイルを編集するために、権限の設定をゆるくする。
sudo chmod 777 /var/lib/pgsql/
sudo chmod 777 /var/lib/pgsql/12/
sudo chmod 777 /var/lib/pgsql/12/data
sudo chmod 777 /var/lib/pgsql/12/data/postgresql.conf
vi /var/lib/pgsql/12/data/postgresql.conf
listen_address = 'localhost'のコメントアウトを解除 -> 先頭の"#"を削除
[Insert]キーで、編集モード。
[Escape]キーで、編集モード終了。
[:wq] で 保存してエディタを終了。
pg_hba.confの設定
ファイルのパス : /var/lib/pgsql/12/data/pg_hba.conf
ファイルを編集するために、権限の設定をゆるくする。
sudo chmod 777 /var/lib/pgsql/12/data/pg_hba.conf
vi /var/lib/pgsql/12/data/pg_hba.conf
- METODをtrustに修正
- レプリケーション関連の設定はとりあえず”#”でコメントアウト
[Insert]キーで、編集モード。
[Escape]キーで、編集モード終了。
[:wq] で 保存してエディタを終了。
アクセス権限の再設定
/var/lib/pgsql/12/dataのアクセス制限を700か750にしないとPostgreSQLの再起動が行えないので、アクセス権限の再設定を行う。
sudo chmod 700 /var/lib/pgsql/12/data
※700にしないと、PostgreSQLが起動できない。
※PostgreSQL11からは、initdbのオプション指定で700でなくても起動できるようになった様子(参照: https://www.sraoss.co.jp/tech-blog/pgsql/11-0/ )
PostgreSQLの再起動
設定の変更を有効にするためにPostgreSQLを再起動
sudo systemctl restart postgresql-12
【補足】PostgreSQLのスタートとストップのコマンド
◆開始
sudo systemctl start postgresql-12
◆終了
sudo systemctl stop postgresql-12
Step5:iDempiereをインストールするための設定
adempiereユーザーロールの作成
sudo su - postgres
psql -U postgres -c "CREATE ROLE adempiere SUPERUSER LOGIN PASSWORD 'adempiere'"
logout
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のデータベースのリストア
psql -d idempiere -U adempiere -f ExpDat.dmp
【補足説明】iDempiereとJPiereとはダンプファイルが異なります。
iDempiereの環境を構築する場合とJPiereの環境を構築する場合とでは、リストアするダンプファイルが異なりますので、注意して下さい!!
【iDempiereのダンプファイル】
- iDempiereサーバーのData -> seed の中にある、Adempiere_pg.jar
【JPiereのダンプファイル】
- JPCSのDataフォルダの中にある、ExpDat.dmpファイル
その他
iDempiereデータベースの削除
dropdb -U adempiere idempiere