How to install iDempiere 6.1 on Ubutu 18/Apache2

  1. Install Prerequisites, Follow the guideline from:

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 18.04.1 64 bits
PostgreSQL 9.6.10
PostgreSQL contrib (for UUID support) - already included after postgresql 10
OpenJDK 1.8.0_181 for release 5.1 / OpenJDK 10.0.2 for release 6.1
But this guide can be used in other systems (even Windows) taking care of installing the corresponding packages and using corresponding commands.

1	Install Ubuntu
2	Install PostgreSQL 9.6.10
2.1	Assign a password to user postgres
3	Install OpenJDK
3.1	Install OpenJDK 1.8.0_181 (for release 5.1)
3.2	Install OpenJDK 10.0.2 (for release 6.1)
4	Troubleshooting
4.1	Linux
4.1.1	config postgresql
4.2	Windows
Install Ubuntu
Please refer to

Downloaded and installed Ubuntu Server 18.04.1 LTS

Install PostgreSQL 9.6.10
iDempiere can also run with Oracle 11G or 12C, and also with PostgreSQL >= 9.6, for this tutorial we use postgresql 9.6.10 - see for details

echo "deb bionic-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-9.6 
sudo apt-get install postgresql-contrib-9.6  # not required after postgresql 10
sudo service postgresql start
sudo update-rc.d postgresql defaults
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).

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

Connect to your postgres db instance via psql.
Create 'postgres' role via "CREATE USER postgres" without the double quote.
Alter the role and specify what the role suppose to be. EX. "ALTER USER postgres SUPERUSER CREATEDB" without the double quote.
Then you can proceed to the following steps.

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):

sudo su - postgres
psql -U postgres -c "alter user postgres password 'your_chosen_password'"
Install OpenJDK
Install OpenJDK 1.8.0_181 (for release 5.1)
sudo apt-get install openjdk-8-jdk
Install OpenJDK 10.0.2 (for release 6.1)
sudo apt-get install openjdk-10-jdk
Note: By default Ubuntu 18.04 doesn't have openjdk-10-jdk, it was required to add the repository with:

add-apt-repository ppa:openjdk-r/ppa
And then edit the file /etc/apt/sources.list.d/openjdk-r-ubuntu-ppa-bionic.list and change the first line to:

deb xenial main
And also at the end of the file /etc/apt/sources.list add:

deb xenial-security main

Now you have your prerequisites ready to receive the iDempiere installer

config postgresql
After installing postgres you must check the correct configuration of /etc/postgresql/9.6/main/pg_hba.conf These two entries must be configured to use password (md5):

local   all         all                               md5
host    all         all          md5
NOTE that some guides suggest configuring trust - but that creates a security issue on your postgres server.

  1. Downoad iDempiere 6.1

cd /
mv download idempiereServerDev6.1Daily.gtk.linux.x86_64.deb

  1. Install using Debian Installer
IDempiere Debian Installer
1	Team
2	Goal
3	Known Restrictions
4	How to install
Developer: Carlos Ruiz - GlobalQSS
Sponsor: Zeeshan Hasan - Sysnova
Create an automatic installer for Debian based systems - tested on Ubuntu
Emphasis done in the word automatic - the intention is to ask the user the minimum variables required and do all the necessary steps to leave an iDempiere working
Known Restrictions
This installer just works if postgresql installed on the same machine (it uses direct connection to postgresql - unix sockets to avoid configuring and asking for a postgres password).
It requires to be run as root (this is usual with sudo dpkg)
just PostgreSQL >= 9.1 supported (not oracle or previous postgresql versions)
How to install
It DOES NOT require a graphical system - it can be used in servers
Postgresql >= 9.1
sudo apt-get install postgresql-9.6
sudo apt-get install postgresql-contrib-9.6
sudo apt-get install openjdk-8-jdk
Download the Debian Installer (idempiere.gtk.linux.x86.deb for 32 bits and idempiere.gtk.linux.x86_64.deb for 64 bits). The installer can be downloaded from:
For version 5.1
or for development version
Execute the installer
sudo dpkg -i idempiereServer5.1Daily.gtk.linux.x86_64.deb # or idempiereServer5.1Daily.gtk.linux.x86.deb for 32 bits
this step check the prerequisites, copy the needed files into /opt/idempiere-server and /etc, create idempiere user and group and assign proper permissions to the files, at the end it displays a message to the user "You must run '/etc/init.d/idempiere configure' as the root user to configure the application."
Configure idempiere as root
sudo /etc/init.d/idempiere configure
this step asks the minimum required user variables, fill them properly or just push enter to get the default in square brackets:
HTTP Port [8080]
HTTPS Port [8443]
adempiere db password (this is mandatory - special characters with meaning for linux shell are not allowed in password)
check adempiere db password
postgres password - you can leave the password empty to use the direct connection from postgres user
start at boot [y]
After this the deployment is executed (, the import of the database is done (RUN_ImportIdempiere) and the service is installed to start on boot
To start the server you can reboot the machine or run:
sudo /etc/init.d/idempiere start
  1. Fix error on Installer!topic/idempiere/FJ1DMAyMqhE
    ||Andrea Checchia|
Oct 17

Goodmorning everyone.

I was able to understand the problem: in the file “… / org.adempiere.server-feature / setup.ini” there is the declaration of the startup


While in the “server-iDempiere” package the jar created by build mvn is the following


Modifying this declaration the “” command worked


  • show quoted text -
  1. Install Webmin /Apache2

cd /etc/apache2/site-available/
vi 000-default.conf

<VirtualHost *:80>
    ProxyPreserveHost On

    # Servers to proxy the connection, or;
    # List of application servers:
    # Usage:
    # ProxyPass / http://[IP Addr.]:[port]/
    # ProxyPassReverse / http://[IP Addr.]:[port]/
    # Example:
    ProxyPass /
    ProxyPassReverse /

    ServerName localhost

### to enable ssl, 
###  - uncomment the below virtualhost session
###  - create a directory named /etc/apache2/ssl/
###  - follow these instructions in your new directory
#######  - sudo mkdir /etc/apache2/ssl
#######  - cd /etc/apache2/ssl
#######  - sudo openssl genrsa -des3 -out server.key 1024
#######  - sudo openssl req -new -key server.key -out server.csr
#######  - sudo cp server.key
#######  - sudo openssl rsa -in -out server.key
#######  - sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
#<VirtualHost *:443>
#    ProxyPreserveHost On
#    SSLEngine On
#    SSLProxyEngine On
#    SSLCertificateFile /etc/apache2/ssl/server.crt
#    SSLCertificateKeyFile /etc/apache2/ssl/server.key
#    ProxyPass /
#    ProxyPassReverse /

### to enable ssl with authentication - NOTE: only use one ssl option, 
###  - uncomment the below virtualhost session
###  - Follow the above SSL directions to create your own test cert/key
#<VirtualHost *:443>
#    ErrorLog /var/log/apache2/iDempiereProxy.error.log
#    LogLevel info
#    CustomLog /var/log/apache2/iDempiereProxy.log combined
#    # which db
#    DBDriver pgsql
#    DBDParams "host=localhost port=5432 user=adempiere password=YOUR_PASSWORD_HERE dbname=idempiere"
#    #Connection Pool Management
#    DBDMin 1
#    DBDKeep 2
#    DBDMax 10
#    DBDExptime 60
#    <Proxy *>
#        # core authentication and mod_auth_basic configuration
#        # for mod_authn_dbd
#        AuthType Basic
#        AuthName "Backend auth name"
#        AuthBasicProvider dbd
#        # core authorization configuration
#        Require valid-user
#        # mod_authn_dbd SQL query to authenticate a user
#        AuthDBDUserPWQuery \
#        "SELECT '{SHA}'||encode(digest(password,'sha1'),'base64') as password FROM ad_user WHERE exists (select * from ad_user_roles where ad_user_id = ad_user.ad_user_id) and name = %s"
#        AddDefaultCharset Off
#        Order deny,allow
#        Allow from all
#    </Proxy>
#    ProxyPreserveHost On
#    SSLEngine On
#    SSLProxyEngine On
#    SSLCertificateFile /etc/apache2/ssl/server.crt
#    SSLCertificateKeyFile /etc/apache2/ssl/server.key
#    ProxyPass /
#    ProxyPassReverse /
#    TimeOut 50400

enable apache module for proxy

apache modules needed to support reverse proxy

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html
sudo a2enmod dbd
sudo a2enmod authn_dbd
sudo a2enmod ssl
sudo service apache2 restart
  1. Install Letsencrypt SSL using certbots



\ 20x20 \ 21x21

My groups




Click on a group’s star icon to add it to your favorites

Recently viewed



Usuarios Odoo / OpenERP en España


Bika Health

Privacy - Terms of Service


Webui as root folder

3 posts by 3 authors

\ 13x13

||Eduardo Gil|

Nov 9

Hello community.

I have a domain for example: xxx.Eduardo.Com. I want to point this domain to the system and go directly to login page but without redirect to webui.

Also I would like to have something like xxx.Eduardo.Com/admin to get the admin page for monitor and install plugins and other stuff.

It is something like change root context of jetty to webui and make a different one to the admin.

Have anybody ever done something like this?

Best regards,

Eduardo gil


Nov 10

You have to use apache or nginx proxy to do that.

  • show quoted text -
  • show quoted text -

You received this message because you are subscribed to the Google Groups “iDempiere” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [idempiere+…](javascript:).
To view this discussion on the web visit
For more options, visit




Nov 13

I am using the apache http server to get my users to the webui directory.

The webui directory still appears in the address bar.

Still to me that is sufficiently convenient for the average user.

Here is an excerpt from the server.conf:

<VirtualHost *:80> ServerName Redirect permanent / /

<VirtualHost *:443>
ServerName erp.
SSLEngine On
SSLProxyEngine On
SSLCertificateFile /etc/letsencrypt/live/ /fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/ /privkey.pem

ProxyRequests On
ProxyPreserveHost Off
ProxyPass /
ProxyPassReverse /

ReWriteEngine On
RewriteRule ^/$ /webui/ [R]

This configuration makes sure that the user always lands on

even when he is just typing or explicitly calls the insecure http address with or without addressing the webui dir.

The admin site can be reached through through this config:

<VirtualHost *:80> ServerName Redirect permanent / /

<VirtualHost *:443>
ServerName erpadmin.
SSLEngine On
SSLProxyEngine On
SSLCertificateFile /etc/letsencrypt/live/ /fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/ /privkey.pem

ProxyPreserveHost Off
ProxyPass /
ProxyPassReverse /

  • show quoted text -



Direct link