オープンソースのERP iDempiere7.1をインストールするために、オープンソースのデータベースPostgreSQL11をCentOS8にインストールする方法について、調査及び研究し、その成果をまとめています。
Step1:PostgreSQLをYumリポジトリに登録する
sudo dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
rpm -qi pgdg-redhat-repo
Step2:PostgreSQL11をCentOS8にインストールする
sudo dnf module disable postgresql
sudo dnf clean all
sudo dnf -y install postgresql11-server postgresql11
dnf info postgresql11-server postgresql11
Step3:データベースの初期化と自動起動の設定
データベースの初期化
sudo /usr/pgsql-11/bin/postgresql-11-setup initdb
自動起動
sudo systemctl enable --now postgresql-11
Step4:初期設定
postgresql.confの設定
ファイルのパス : /var/lib/pgsql/11/data/postgresql.conf
ファイルを編集するために、権限の設定をゆるくする。
sudo chmod 777 /var/lib/pgsql/
sudo chmod 777 /var/lib/pgsql/11/
sudo chmod 777 /var/lib/pgsql/11/data
sudo chmod 777 /var/lib/pgsql/11/data/postgresql.conf
vi /var/lib/pgsql/11/data/postgresql.conf
listen_address = 'localhost'のコメントアウトを解除 -> 先頭の"#"を削除
[Insert]キーで、編集モード。
[Escape]キーで、編集モード終了。
[:wq] で 保存してエディタを終了。
pg_hba.confの設定
ファイルのパス : /var/lib/pgsql/11/data/pg_hba.conf
ファイルを編集するために、権限の設定をゆるくする。
sudo chmod 777 /var/lib/pgsql/11/data/pg_hba.conf
vi /var/lib/pgsql/11/data/pg_hba.conf
- METODをtrustに修正
- レプリケーション関連の設定はとりあえず”#”でコメントアウト
[Insert]キーで、編集モード。
[Escape]キーで、編集モード終了。
[:wq] で 保存してエディタを終了。
アクセス権限の再設定
/var/lib/pgsql/11/dataのアクセス制限を700か750にしないとPostgreSQLの再起動が行えないので、サクセス権限の再設定を行う。
sudo chmod 700 /var/lib/pgsql/11/data
※700にしないと、PostgreSQLが起動できない。
※PostgreSQL11からは、initdbのオプション指定で700でなくても起動できるようになった様子(参照: https://www.sraoss.co.jp/tech-blog/pgsql/11-0/ )
PostgreSQLの再起動
設定の変更を有効にするためにPostgreSQLを再起動
sudo systemctl restart postgresql-11
【補足】PostgreSQLのスタートとストップのコマンド
◆開始
sudo systemctl start postgresql-11
◆終了
sudo systemctl stop postgresql-11
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