I need to install multiple iDempiere instances in one server. The customized packages are different in build and the db they are using. Is there any way to deploy both of it in one server and access like localhost:8080/client1, localhost:8080/client2 . Any help appreciated.
-
It's not clear why you want to do that but I think you could change the ports for every server installation like `localhost:9090` `localhost:1010` and so on. Also, you could just create new clients in idempiere the software is good enough for separation of concerns. – Y. Leonce Eyog Dec 04 '14 at 20:50
3 Answers
When I want to reference several application servers I need to copy the path of various installations and change the database name and port of each application :
/opt/idempiere-server-production/ (on port 8080 for example) for production
And
/opt/idempiere-server-test/ (on port 8081 for example) for test
the way you said is not possible, because the idempiere server for webapp is known as

- 454
- 5
- 13
Running multiple instances of idempiere on a single server is not too difficult. Here is what you need to take care of:
- Install the instances into different directories. The instances do not need to share any common files. So you are just fine making a full installation for each instance.
- Make sure each instance uses its own data base. Use different names for the instance data bases.
- Make sure the idempiere server instances use different tcp ports.
- If you really should need to use a single port to access all of the instances you could use a http server like apache or ngnix to do define virtual hosts. Proxying or use of rewrite rules will then allow you to do the desired redirections. (I am using subdomains and apache mod_proxy to do the job)
- There is another benefit to using subdomains for browser access: If all your server instances use the same host name the client browser will sometimes not be able to keep cookies from different instances apart, which can lead to a blocked session as discussed here in the idempiere google group.
- Use different DB user names. The docs advise not to change the default user name Adempiere and this is ok for a single instance installation. Still if you use a single DB user for all of your instances you will run into trouble once you need to restore a database from a backup file. The RUN_DBRestore.sh will delete and recreate the DB user which is not possible when the user owns more than one DB.
- You can run all of your instances as services in parallel. Before the installation of another instance rename the service script:
sudo mv /etc/init.d/idempiere /etc/init.d/idempiere-theInstance
. Of course you will need to do some book keeping work wth the service controller of your OS to ensure that the renamed services are started as desired. - The service controller talks to the iDempiere server via the OSGI console. For this to work without problems in a multi instance environment you need to assign a different telnet port number to each of the instances: in the editor of your choice open the file
/etc/init.d/iDempiere
. Find the lineexport TELNET_PORT=12612
and change the port number to something else.
Please Note:
- OS specific descriptions in this guide are for Ubuntu 16/18 or Debian, if on another OS you need to do some research.
- I have been using the described approach to host idempiere versions 5 and 6 for some time now and did not have any problems so far. Still make sure you do your own thorough tests if you want to go that route.
- If you run into any problems (and maybe even manage to solve them) please report back to the community. (by giving your own answer to this question or by posting to the idempiere google group) Thanks!

- 1,149
- 9
- 17
You can have as many setups on your server as you like. When you run the setup to create your properties, simply chose other web ports for each installation. You also may need to slightly change the webservers configuration if they have some default ports.

- 6,175
- 2
- 31
- 50