Installation and login
The purpose of this lesson is to help you get starting with iDempiere. It includes deciding where to host, how to install, and strategies for best learning how to use it.Before You Start
Before you start installing ADempiere or iDempiere, read this article. It explains your installation options.Getting Started - Choosing between ADempiere and iDempiere
Here is an article that discusses the differences between ADempiere and iDempiere. It should also help you choose between them.Getting Starting – iDempiere Simple Installation Introduction
Here is a quick discussion:- iDempiere makes heavy use of your server's time. To update your server's time zone, run this command: sudo dpkg-reconfigure tzdata
- Linux Primer - offers help with basic Linux and Virtual Box related topics
- Help connecting to AWS server from Windows machine using Putty
- Help connecting to AWS server from a Mac
- Linux commands every ERP Admin should know
- Installing iDempiere for medium-sized companies
Getting Started - iDempiere Installation with Virtual Box
Use the below video as a guide to install Ubuntu in VirtualBox. Once done, you can use the above video's to install iDempiere. https://www.youtube.com/watch?v=nBm7pz9Ok1k After your machine is created and before you install Ubuntu, right-click on your virtual machine and choose settings. Under the Network options, set the “Attached to:” field to “Bridged Adapter”. This setting allows all machines on your local network to see your server. Said another way, this setting adds the server to the network just like any other machine. If you leave the “Attached to:” field at its default value of “NAT”, the server would exist in a little bubble that no one can connect to. https://www.youtube.com/watch?time_continue=343&v=ArcQtZ7kiHI Simple Instructions:- Guest: Virtualbox menu => Devices => Shared Folders => New icon on right
- Path: /home/hostusername/Public
- Auto Mount = Y
- Make Permanent = Y
- Mount Point = leave blank
- Execute the following commands from your guest
- NOTE: following assumes your guest username is 'ubuntu'
- sudo usermod -a -G vboxsf ubuntu
- sudo chown -R ubuntu:ubuntu /media/sf_Public/
iDempiere Installation from a Private Jenkins Server
Deepak contributed an update to the installation script that allows you to install iDempiere from a private project in Jenkins. If you are an integrator or you are selling a private distribution of iDempiere or you are an end user with a proprietary build of iDempiere, this enhancement will make your life much easier and better (and hopefully richer:). It is convenient to be able to use the standard installer.- As always, if you are going to upgrade an existing iDempiere instance, I recommend you start wit a new server. There are many reasons why this is recommended.
- Here are the changes to the normal installation process
- Create a private jenkins build
- Create a user with access to that build. Create an API Token for that user (same jenkins user page as where you specify the user's password).
- Review the chuboe.properties file. You will need to modify this file either at the time of installation (see below for example) or in your local copy/fork.
- Notice the CHUBOE_PROP_JENKINS_AUTHCOMMAND property. Create a copy of this line and add it about 5 lines below the original. You make a copy so that my future changes to the file do not conflict with your changes. The duplicated value at the bottom of the file will override any previous value.
- Update the installation script to point to the new server and build project (see below for example)
Sample Installation Script Command Line using Private Credentials
Note the bolded text represents something different than the normal installation. The sed statements update the properties file. The -j and -J flags tell the installation script where to look for the private repository. sudo apt-get -y update; sudo apt-get -y install mercurial; hg clone https://bitbucket.org/cboecking/idempiere-installation-script; sed -i "s|#CHUBOE_PROP_JENKINS_AUTHCOMMAND|CHUBOE_PROP_JENKINS_AUTHCOMMAND|" idempiere-installation-script/utils/chuboe.properties; sed -i "s|USERNAME_HERE|chuck..becking|" idempiere-installation-script/utils/chuboe.properties; sed -i "s|API_TOKEN_HERE|mypassword|" idempiere-installation-script/utils/chuboe.properties; chmod 766 idempiere-installation-script/*.sh; ./idempiere-installation-script/idempiere_install_script_master_linux.sh -J http://jenkins.logilite.com/ -j logiliteID-3_1-priv -P Silly -u ubuntu -l &>output.txt; nano /opt/chuboe/idempiere_installer_feedback.txt If you are concerned with your password existing in your history, you can issue a "history -c" to clear that session's history.2014-11-21 iDempiere Installation with SSL/https and Apache Login (Firewall)
- Introduction
- 0:02:15 State of the system before config changes
- 0:04:45 Modify the apache config for SSL and Apache authorization form
- 0:07:00 Create your SSL certificate
- 0:09:30 Test the system before I reboot apache
- 0:10:15 Test the system after I reboot apache
- Notes about server clone
- When you clone/image a server that has been enabled with SSL, you need to remove the existing certificate then recreate the ssl from scratch (using the getting started instructions). Removing usually includes (a) removing the redirect from the 000-webui.conf and deleting the conf file created by letsencrypt. This bullet is only relevant if you did not use a wildcard certificate.
Getting Started - "ADempiere" Installation Script
I created a script for installing ADempiere. It is not automated like the iDempiere script; However, it is nice because all you need to do is copy/paste a bunch of commands. The script is located in my bitbucket repository. Here is the path: Installation-Script-Repo=>Source=>adempiere_install_script_master_linux file. Click on the file link to open this file. Copy and paste these commands one at a time into your new Linux server.Development Environment Installation and Execution
Please note this is an advanced topic. If you are new to iDempiere, I do not recommend you perform this step until you have a specific need for a development environment.
- Find the Project or Package Explorer.
- Ctrl+A to highlight all packages/projects
- F5 to refresh (or right-click and select Refresh)
- Wait about 3 minutes for the system to do its thing.
- Execute the following command from terminal
- sudo apt-get install dkms gcc
- VirtualBox => Devices menu item => Insert Guest Additions CD Image => Run from OS prompt
- More about what is installed with the development environment
- Install Eclipse plugins
- Configure Eclipse
- Run iDempiere inside Eclipse
- Note: when reconnecting via remote desktop (from a disconnected session) the existing port is usually 5910
Installing iDempiere on Amazon's PostgreSQL RDS Database
NOTE: as of 2015-07-22, the installation script will now install directly into an AWS RDS instance. NOTE: RDS is now on PostgreSQL 9.4. Ubuntu 14.04 is still on 9.3. To use psql to perform backups, etc.., you need to upgrade your psql using these instructions:- http://www.postgresql.org/download/linux/ubuntu/
- Reference: http://stackoverflow.com/questions/12836312/postgresql-9-2-pg-dump-version-mismatch
- Log into AWS and create a new PostgreSQL RDS instance. Note that you will want to use a VPC. Also note that RDS might not let you use an existing VPC. If so, just let the RDS creation process create a new one for you. Make note of its ID when done. I used the following values during my RDS creation:
- Database User: harp4u - FYI stands for high availability read postgres attempt 4 :)
- Database: harp4db
- Create a new EC2 instance in the same VPC used/created in step 1. This will host your iDempiere application server (appserver).
- Install iDempiere as if you were installing all components on the same machine (appserver + database).
- Verify that iDempiere is running successfully.
- Connect via ssh to your iDempiere server.
- Issue:
-
sudo service idempiere stop
-
- Log into your RDS database using:
-
psql -d harp4db -U harp4u -h harp4.c7uuuoadpu6z.us-east-1.rds.amazonaws.com
- -d is the database created in step 1
- -U is the db user created step 1
- -h is the host URL - this will come from step 1.
-
- Issue the following commands:
-
CREATE ROLE adempiere WITH CREATEDB CREATEROLE LOGIN PASSWORD 'Silly'; -- note that 'Silly' is the same password given during the above iDempiere installation.
-
GRANT adempiere TO harp4u;
-
GRANT rds_superuser TO adempiere;
-
\q
-
- Log into your RDS using your newly created adempiere role:
-
psql -d harp4db -U adempiere -h harp4.c7uuuoadpu6z.us-east-1.rds.amazonaws.com
-
- Issue the following commands:
-
CREATE DATABASE idempiere WITH ENCODING='UNICODE';
-
ALTER ROLE adempiere SET search_path TO adempiere, pg_catalog;
-
\c idempiere
-
CREATE EXTENSION "uuid-ossp";
-
\q
-
- Populate your iDempiere database:
-
psql -d idempiere -U adempiere -h harp4.c7uuuoadpu6z.us-east-1.rds.amazonaws.com -f /opt/idempiere-server/data/seed/Adempiere_pg.dmp &> importResults.txt
-
- cd /opt/idempiere-server
- Run the idempiere setup utility:
-
sudo -u idempiere ./console-setup.sh
- Set the Database Exists = Y
- Change the DB URL to that of your RDS
-
- sudo service idempiere start
-
sudo service idempiere stop
-
psql -d harp4db -U harp4u -h harp4.c7uuuoadpu6z.us-east-1.rds.amazonaws.com
-
ALTER DATABASE idempiere OWNER TO harp4u;
-
DROP DATABASE idempiere;
-
DROP ROLE adempiere;
-
- If you are creating a production system, you should consider creating your initial iDempiere instance as a separate database and application server. The reason is that the script makes performance tweaks when it installs a dedicated appserver and/or database. You will ultimately throw away the initial database; however, if your application server is big enough, you want iDempiere to make the most of the server's potential.