How To Install and Setup Odoo/OpenERP 7.0 on Ubuntu 12.04 VPS/Amazon EC2

OpenERP 7.0 is a major upgrade and a new Long Term Support release. OpenERP is one of the most well-known open-source ERP solution that exists today. OpenERP is an open source alternative to SAP ERP, Oracle E-Business Suite, Microsoft Dynamics, Netsuite and other enterprise resource planning software.


OpenERP is release under the terms of GNU Affero General Public License (AGPLv3), OpenERP is free to use and share.

In this blog I will show you how easy you can setup OpenERP 7.0. There are two method that you can use to install OpenERP

With first method its very easy to install OpenERP but its not gives us that much control to customize the OpenERP. In this blog we will focus on second method.

Step 1: Setup your Ubuntu 12.04 server

After the server started for the first time you need to update the package list of the server.

sudo apt-get update

Above command will downloads the package lists from the repositories and “updates” them to get information on the newest versions of packages and their dependencies.

Now you are ready to start openerp installation.

Step 2: PostgreSQL Server Installation and Configuration

Install PostgreSQL Server using following command.

sudo apt-get install postgresql

Setup a PostgreSQL user for OpenERP. You may need to login as postgres user first.

openerp@swapnil-laptop:/$ sudo su postgres

password: XXXXXXXXXX

Now create PostgreSQL user openerp using the following command:

postgres@swapnil-laptop:/$ createuser --createdb --username postgres --no-createrole
--pwprompt openerp
Enter password for new role: XXXXXXXXXX
Enter it again: XXXXXXXXXX
Shall the new role be a superuser? (y/n) y

Option explanations:

--createdb : the new user will be able to create new databases
--username postgres : createuser will use the postgres user (superuser)
--no-createrole : the new user will not be able to create new users
--pwprompt : createuser will ask you the new user's password
openerp : the new user's name

Step 3: OpenERP Server Installation

Installing the required packages. Use following single commands to install all required python libraries.

 sudo apt-get install python-lxml python-mako python-dateutil python-psycopg2 python-pychart python-pydot python-tz python-reportlab python-yaml python-vobject python python-dev build-essential python-setuptools python-pip python-babel python-mock python-docutils python-Jinja2 python3-jinja2

Download the latest openerp server source using the following command.

cd /opt/

sudo wget

sudo tar xvzf ~/openerp-7.0-latest.tar.gz

Rename the extracted folder

sudo mv openerp-7.0-20140328-001256 openerp

Setup openerp using following command

cd /opt/openerp

sudo python install

Step 4: Creating a configuration file for OpenERP Server

Copy openerp-server.config file to /etc we need to change it’s ownership and permissions use your system user name in my case its openerp.

sudo cp openerp-7.0/install/openerp-server.conf /etc/

sudo chown openerp: /etc/openerp-server.conf

sudo chmod 640 /etc/openerp-server.conf

The above commands make the file owned and writable only by the openerp user and group and only readable by openerp and root.

To allow the OpenERP server to run initially, you should only need to change one line in this file. Toward to the top of the file change the

db_host = localhost

db_port = 5432

db_user = openerp   // user created in postgres for openerp

db_password = openerp

One other line we might as well add to the configuration file now, is to tell OpenERP where to write its log file. To complement my suggested location below add the following line to the openerp-server.conf file:

 logfile = /var/log/openerp/openerp-server.log

Once the configuration file is edited and saved, you can start the server manually just to check if it actually runs.

Step 5: Installing the boot script

For the final step we need to install a script which will be used to start-up and shut down the server automatically and also run the application as the correct user.

Similar to the configuration file, you need to either copy it or paste the contents of this script to a file in /etc/init.d/ and call it openerp-server.

Copy content of  openerp-server to your openerp server boot script.

Do following changes in /etc/init.d/openerp-server file


USER= openerp

Once it is in the right place you will need to make it executable and owned by root:

sudo chmod 755 /etc/init.d/openerp-server

sudo chown root: /etc/init.d/openerp-server

In the configuration file there’s an entry for the server’s log file. We need to create that directory first so that the server has somewhere to log to and also we must make it writeable by the openerp user:

 sudo mkdir /var/log/openerp

sudo chown openerp:root /var/log/openerp

 Step 6 : Testing the server

To start the OpenERP server type:

sudo /etc/init.d/openerp-server start

You should now be able to view the logfile and see that the server has started.

sudo tail -f /var/log/openerp/openerp-server.log

If the log file looks OK, now point your web browser at the domain or IP address of your OpenERP server (or localhost if you are on the same machine) and use port 8069. The url will look something like this:


Step 7: Automating OpenERP startup and shutdown

If everything above seems to be working OK, the final step is make the script start and stop automatically with the Ubuntu Server. To do this type:

 sudo update-rc.d openerp-server defaults

You can now try rebooting you server if you like. OpenERP should be running by the time you log back in.

For Amazon EC2 you need to allow 8069 port in your EC2 Security Group.

Hope you find this tutorial helpful. Feel free to ask questions! Don’t forget to like or to leave a comment if its really help you.


1 thought on “How To Install and Setup Odoo/OpenERP 7.0 on Ubuntu 12.04 VPS/Amazon EC2”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s