The purpose of this post is to help you set up your iDempiere development environment as quickly and easily as possible. Instead of just telling you how to create your environment, this tutorial does the majority of the work for you while teaching you the steps along the way.
To use the script, install a fresh copy of Ubuntu Linux 20.04 LTS on (a) AWS using a Large instance or (b) a local server. Copy the following command (all at once) and paste it in your Ubuntu terminal.
sudo apt-get -y update; sudo apt-get -y install mercurial; hg clone https://bitbucket.org/cboecking/idempiere-installation-script; chmod 766 idempiere-installation-script/*.sh; ./idempiere-installation-script/idempiere_install_script_master_linux.sh -D -P Silly -l &>output.txt; nano /opt/chuboe/idempiere_installer_feedback.txt
The above command downloads the script from the source code repository, makes the script executable, launches the idempiere_install_script_master_linux.sh script, and writes all feedback to a file called output.txt. The idempiere_install_script_master_linux.sh script does the majority of the work.
It takes about 20 minutes for the script to execute if you have a fast internet connection. It could take hours if your internet connection is slow.
Before You Install
Please note that this script uses the ‘-B’ option to download the latest version of iDempiere. Please check here first to make sure the last build of iDempiere was successful (Blue Bubble – and not a Red Bubble). If the last build failed, your installation will fail.
Please read this installation advice before you install iDempiere. Doing so will help you choose the right way to install your environment.
What the Script Does For You
The script does two primary tasks for you:
- Installs the iDempiere server as a service (see this article). After the script successfully completes, you should see iDempiere on your server’s 8080 port: www.YourServerURL:8080/webui.
- Creates your iDempiere development environment by
- installing the Lubuntu desktop,
- installing the Eclipse IDE development environment,
- creating a pristine clone of iDempiere,
- creating a working copy of iDempiere named “myexperiment”,
- installing phpphadmin to help administer PostgreSQL,
- installing a remote desktop so you can connect from any Windows machine.
- Create your Ubuntu Linux 20.04 LTS server. You should use the equivalent of an AWS large instance during the installation process. If you go smaller, you run the risk of running out of memory. Running out of memory causes the script to fail without giving you an obvious error. You can save money and resources by resizing the server to a medium instance after the installation completes.
- Copy and paste the above command to your Linux terminal. Change the -P password option to something other than SillyWilly. Write your password down. It will become your Postgres and adempiere PostgreSQL password.
- Wait for the script to complete… It will take about 20 minutes to complete the installation process if you have a fast internet. It could take hours if you have a slow connection.
- All installation activity is written to output.txt. If you want to check on the status, take a look at the end of this file. Use “nano output.txt” to open the file. Use “Alt+/” to skip to the end of the file. If the script worked, you should see “….. * Service Started”
- Read the script. I worked hard to make the script readable by the average person. It will teach you the major steps in installing both the iDempiere server and the development environment. Pay close attention to the comments. They give you hints about how to use your new tools.
- See if iDempiere is running by navigating to www.YourServerURL.com:8080/webui where YourServerURL is the web address of your server.
- Give your linux user a password using the passwd command after the script completes. If your user is “ubuntu” then use this command to set your password “sudo passwd ubuntu”. Why do you need to give your user a password? The reason is that AWS does not give the ubuntu user a password. This is fine for most situations; however, you need a password to access your server from Windows’ remote desktop.
- Connect via remote desktop using YourServerURL.com. It is that simple. Crazy – I know…
- Copy the Eclipse shortcut from the /home/<user>/dev directory to your desktop. I also recommend that you get rid of the desktop image. Use a flag color to help increase the performance of your remote desktop.
- At this point, you have installed almost everything you need to enhance iDempiere, Open Source ERP. Your next step is to materialize the project in Eclipse (coming very soon…)
Make it Better
If you run into issues or have recommendations for improvement, let me now. Many of the current enhancements came from user feedback. Improvements include script readability. It is critically important that the script be easily understandable by the average IT person. This script is a teaching tool. If you do not understand what is happening, ask!!!
Why Publish This Script?
Open source ERP is amazing! The fact that it is free, is just one cool benefit. Open source ERP positively impacts how you manage the operations of your business. The critical challenge is making Open Source ERP available to the average organization. Installing the software and the development environment should never be a hurdle. My hope and belief is this script removes the arduous tasks and goes a long way in making open source ERP easier to learn. If you agree, please let me know!
General Comments and FAQ
Why t is not working for me?
What are the hardware requirements?
- You can run the server installation script on a micro if only one person is testing. This is very convenient because a micro-sized server is free for the first year in AWS.
- To install the desktop, I recommend you use an AWS Large to perform the installation. This ensures the process has enough memory. You can later resize it to an AWS medium. (AWS Size descriptions – scroll down to the Instance Types section to see the specs).
Designed to run only once. If you run the script multiple times, the section where it configures iDempiere will fail (console-setup.sh). I highly recommend you read this post about installing iDempiere before you try to install.
FYI – The script does not perform a checksum on downloads – only checks to see if the file exists.
Why install the IDE and the server? Be aware that this script installs two versions of iDempiere. The first is the normal server that installs as a service. The second version exists inside your Eclipse IDE. Be aware that you need to perform a ‘sudo service idempiere stop’ before you launch the server inside the Eclipse IDE.
Can you use this script to host iDempiere, Open Source ERP, in the cloud (iDempiere Hosting)? Absolutely yes. I use this script to create production and test instances of iDempiere in the cloud all the time.
Why not create an AMI or iDempiere Virtual Appliance or iDempiere Virtual Machine? The installation process is important and relatively easy. It is valuable to go though this learning process.
How do I connect to phppgadmin? You can connect to phppgadmin by pointing your browser to http://yoururl.com/phppgadmin. The username will be adempiere. The password is set above in your script.
Should I put this server behind a firewall? Most definitely yes. If you are using AWS, simply create a security group and open port 8080 to everyone. The reset of the ports will be safely hidden by default.
What about Windows? This script only runs on Linux. My goal is to make Open Source ERP available to all organizations around the world. Linux helps with this goal. Unfortunately, Windows is a barrier to this goal. The only valid reason to host iDempiere on Windows is because you are not as familiar with Linux. This comment is coming from someone who administered Windows for 10 years. If you want help learning Linux, I can help!!
I hope this helps!!!
What is the best way to Learn iDempiere and ADempiere?
I teach an on-line class that covers how to learn, configure and audit open source ERP. It uses iDempiere as the reference ERP. Here are the course frequently asked questions. I have learned much over the last fourteen years, and I have much to share. I look forward to seeing you there!!
Why consider Open Source ERP?
Open source ERP gives you every opportunity to prove or disprove its ability to support your company’s ERP needs on a timeline that satisfies your organizational needs. With open source ERP, you do not face the same financial constraints nor do you face the same conflicts of interest as with commercial ERP. Instead, you invest in the appropriate skills and knowledge for your people and processes. Best of all – if open source ERP cannot solve your company’s needs, you can safely justify spending the additional $2K to $5K per person per year for life of your commercial ERP to help drive your organization’s success.
Open Source ERP Round Rug Effect
Open Source ERP has what I call a “Round Rug Effect”. If you were to liken the ERP evaluation process to a 10′ x 10′ room, the story would go something like this:
- Oracle, SAP, and Microsoft are a 10′ x 10′ ERP rug in a ten by ten foot room. They cover the room nicely. You will be hard pressed to find a feature or a use case that they do not cover.
- Open Source ERP is like a 10′ round rug in a ten by ten foot room. It will cover the vast majority of the room; however, it will leave the corners bare. The questions are: “Do you live and operate in the corners?” or “Is open source ERP good enough?”. For most, the answers are “sometimes” and “yes”.
If you are in the ERP evaluation mode, you should ask yourself “Should I include open source ERP in my evaluation process?” If you are less than $300M USD revenue, your answer should probably be yes! This answer comes from these concepts:
- Pillars of Cost – Since open source ERP is free, that means that all the cost of proprietary ERP should be allocated to the corners. If you use height to illustrate this allocated cost, the corners turn into tall pillers of cost.
- Cost of Innovation – At first look, the price tag of free open source ERP is the most appealing benefit; however, this benefit soon becomes overshadowed by the flexibility of open source ERP. If organizational leaders take just some of the cost that would otherwise be spent on Oracle or SAP, and they invest it back into the organization’s skills and knowledge of how ERP works, operational efficiency will never look the same again. If you know how to change the system for the better, and you know it will work. Why would you not?
- Monday to Monday Cycle – Business leaders drive innovation in a company. This innovation is no more apparent than in the traditional Monday morning business meeting where a CEO comes in and paints a picture of the next greatest thing. His or her next comments are “Will it work?” and “Make it happen!”. Open source ERP helps your business and IT teams say yes more often. You are no longer completely dependent on a high-priced Oracle Integrators. You are no longer dependent on spending 18% every year to Oracle for software that you have little control over. Your team applies its knowledge of the system and the knowledge of its world-wide resources to create a proof of concept that paints the real picture the following Monday.
- Right Pay Grade – Open source ERP puts the right tools in the right person’s hands at the right pay-grade. there is little more wasteful that paying a $150/hr integrator for something a Jr IT professional should be doing. Open Source ERP removes the artificial barriers that exist in proprietary ERP.
- ERP for Everyone – User licenses/seats are no longer a consideration. This point cannot be stated strongly enough. At first look, you might think this point is about saving money. It is much more than that. You now have the freedom and flexibility of allowing everyone in your company to interact the system that drives your operations. You simply assign the right roles to the right people to give them access to the appropriate information.
ADempiere vs iDempiere vs Openbravo vs Compiere
The ADempiere, iDempiere, Openbravo and Compiere environments are amazingly similar. iDempiere came from ADempiere. ADempiere and Openbravo came from Compiere. Compiere came from Jorg Janke. Jorg came from Oracle. As a result, iDempiere and ADempiere have much in common with Oracle’s ERP in terms of the financial feature set.
This is both good and bad. Good because iDempiere and ADempiere are quite capable to help a company grow beyond $500M USD. Bad because they tend to be more complex in that they account for multiple languages, accounting schemas, currencies, calendars, costing types, costing methods, etc…. If you are a growing organization, and you need a system that will grow with you, and you have the right internal talent/resources, iDempiere or ADempiere will be a big asset for you.
The biggest difference between these products is that ADempiere and iDempiere are pure open source. ADempiere and iDempiere make all feature available for free. Compiere and Openbravo hold back features behind a commercial or paid license.
Here is an article that discusses the differences between iDempiere and ADempiere.
iDempiere and ADempiere vs Odoo
iDempiere/ADempiere (iD/AD) and Odoo (formerly OpenERP) approach ERP from two very different directions. Odoo comes out of the box with very simple options. If you are coming from QuickBooks, and you need a simple ERP system help you manage your business, Odoo will look and feel comfortable.
iD/AD comes out of the box with every feature installed and configured to run a $200M+ USD business. If your business is growing rapidly, and you are willing to invest the time to learn an enterprise accounting system, then iD/AD will give you confidence.
Which one is best for you depends on your internal talent, growth and business complexity. Here is a post to help you learn more.