Install Prerequisites

From iDempiere en

Table of Contents | Install Prerequisites | Downloading Installers

In order to run iDempiere you need to have a JDK (not JRE) version of java, and a proper database (PostgreSQL and Oracle are supported).

The examples on this guide are using the following versions:

  • Ubuntu 20.04 64 bits
  • PostgreSQL 13
    • in certain scenarios is required to install PostgreSQL contrib (for UUID support)
  • OpenJDK 11

But this guide can be used in other systems (even Windows) taking care of installing the corresponding packages and using corresponding commands.

Install Ubuntu

Please refer to

Downloaded and installed Ubuntu Server 20.04 LTS

Install PostgreSQL 13


iDempiere can also run with Oracle 11G/12C, and also with PostgreSQL 9.6/10/11/12, for this tutorial we use postgresql 13 - see for details

# Create the file repository configuration:
sudo sh -c 'echo "deb $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# Import the repository signing key:
wget --quiet -O - | sudo apt-key add -
# Update the package lists:
sudo apt-get update
# Install the version 13 of PostgreSQL.
sudo apt-get -y install postgresql-13

In other versions of linux, and also in version postgresql-9.6 you need to install also the package postgresql-contrib corresponding to the version you are installing. In ubuntu postgresql>=10 is included by default, but in other cases is mandatory to install it, otherwise you'll get errors about the generate_uuid() function.
Also, instructions are different for other linux versions, in some you need to create and start the cluster, and also configure the service for auto-start. Please refer to the specific PostgreSQL instructions for such cases.

Assign a password to user postgres

In order to create the database the installer needs to know the password of user postgres, by default this user doesn't have a password in ubuntu (windows installer asks for a password).

Please take note of the password you assign here as it will be required in the setup process:

Steps are (replace your_chosen_password by your preferred):

echo "alter user postgres password 'your_chosen_password'" | sudo su postgres -c "psql -U postgres"

Configure pg_hba.conf

After installing postgres you must check the correct configuration of /etc/postgresql/13/main/pg_hba.conf

The following line requires change of the authentication method:

local   all             all                                     peer

Change to:

local   all             all                                     md5

Please NOTE that some guides suggest configuring trust instead of md5 - but that creates a security issue on your postgres server.

And then reload the configuration:

sudo service postgresql reload

Alternatively, after postgresql 10 you can use the new authentication method scram-sha-256, this requires some additional configuration and checking of your client libraries in all systems accessing your postgresql server, for more information see IDEMPIERE-3959 and postgresql auth-password documentation.

Install OpenJDK 11

sudo apt-get update
sudo apt-get install openjdk-11-jdk-headless

NOTE that openjdk-11-jdk-headless is for server without GUI, if you plan to use UI programs install openjdk-11-jdk instead. Also note that openjdk-11-jre is not sufficient because it doesn't have the jar command used in some scripts.

You can install also openjdk 13 or 14, but as 11 is the long term supported we prefer to recommend 11.

Now you have your prerequisites ready to receive the iDempiere installer


No postgres user

In the event that there's no 'postgres' role in your postgres db, you have to create on your own using the following steps:

  1. Connect to your postgres db instance via psql.
  2. Create 'postgres' role via "CREATE USER postgres" without the double quote.
  3. Alter the role and specify what the role suppose to be. EX. "ALTER USER postgres SUPERUSER CREATEDB" without the double quote.


InvocationTargetException on CentOS

On a CentOS server with minimum version you can get error on home page (by render graph) java.lang.InternalError: java.lang.reflect.InvocationTargetException

Suggested solution:

sudo apt install fontconfig
sudo yum install fontconfig


Most installation problems in Windows are caused by not configured environment variables:

  • PATH must be configured to make the commands psql and jar accessible
  • JAVA_HOME environment variable must be configured

This tutorial is brought to you by Carlos Ruiz from BX Service GmbH. Feel free to improve directly or suggest using the Discussion tab.

Table of Contents | Install Prerequisites | Downloading Installers

Cookies help us deliver our services. By using our services, you agree to our use of cookies.