What is Odoo?
Odoo – Previously known as OpenERP is a powerful, opensource product built in Python and released under the AGPL license, with hundreds of free apps to help in building and customizing our own ERP in very short span of time. It has a very simple and interactive UI that makes it popular among the users. It comes up with many useful and comprehensive apps like CRM, Accounting, E-Commerce, WMS(Warehouse Management System), KMS(Knowledge Management System), IM(Instant Messaging), Purchase, POS, Fleet Management, Payroll, HR, Business Intelligence etc.. and users can choose and install apps as per their requirements to boost their business.Even users can add/edit fields on any page simply by turning on the “Developer Mode” – which makes it easy to customize from front end.
For online demo of Odoo apps, you can sign up here and take a free tour: https://accounts.odoo.com/web/signup
Odoo v8 setup:
Odoo has released its latest stable version i.e., V8 on 18th September 2014 with some new features and bug fixes.
Odoo can be set up in Windows, Ubuntu, CentOS, but for better performance & safety it recommends Ubuntu.
Odoo uses Postgresql database server and switching the Db server involves rewriting the entire ORM – which is a very big task.
Following are the steps to install Odoo v8 on ubuntu 14.04 LTS:
Step:1
Make sure you have freshly installed Ubuntu 14.04 LTS with everything up-to-date
sudo apt-get update && upgrade -y
Step:2
Now let’s install all the necessary Python libraries.
sudo apt-get install python-dateutil python-decorator python-docutils python-feedparser \ python-gdata python-gevent python-imaging python-jinja2 python-ldap python-libxslt1 python-lxml\ python-mako python-mock python-openid python-passlib python-psutil python-psycopg2 python-pybabel \ python-pychart python-pydot python-pyparsing python-pypdf python-reportlab python-requests \ python-simplejson python-tz python-unittest2 python-vatnumber python-vobject python-werkzeug \ python-xlwt python-yaml wkhtmltopdf
Step:3
Create the Odoo user that will run the application
sudo useradd openerp -m -s /bin/bash
Step:4
Install and configure the Postgresql DB server
sudo apt-get install postgresql sudo su - postgres createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt openerp Enter password for new role: ******** Enter it again: ******** exit
Step:5
Install the Odoo server. (Install git in case you don’t have it)
sudo apt-get install git
Switch to Openerp user and check out Odoo source repository where you want
sudo mkdir /home/openerp
sudo chown -R openerp:openerp openerp
sudo chmod -R 750 openerp
cd /home/openerp/
sudo su - openerp -s /bin/bash
git clone -b 8.0 https://github.com/odoo/odoo.git
Step:6
The default configuration file of the server is: /home/openerp/odoo/debian/openerp-server.conf
We’ll copy this config file and put it inside /etc/
sudo cp /home/openerp/odoo/debian/openerp-server.conf /etc/ sudo chown openerp:openerp /etc/openerp-server.conf sudo chmod 640 /etc/openerp-server.conf
Now we need to edit this config file as shown below:
db_password = False
addons_path = /home/openerp/odoo/addons
logfile = /var/log/openerp-server.log
If you are developing a custom module for openerp and its source code is present in a different location, suppose I’m developing a module named import_export which is present in /var/www/projects/ then, in order to load this module along with the other addons of openerp, we have to include this in the addons list of the above config file as :
addons_path = /home/openerp/odoo/addons, /var/www/projects/
Once the config file is edited and saved, then we can execute the following commands to check the server actually runs.
sudo su openerp -s /bin/bash /home/openerp/odoo/openerp-server
If we end up with end up with a few lines eventually saying OpenERP is running and waiting for connections then we are all set. Now just hitCTRL+C stop the server and exit to leave openerp user account.
Step:7
Default ports for Odoo are:
Odoo without IM module(i.e., without psycopg2) : 8069
Odoo with IM module enabled (i.e., with psycopg2) : 8072
Postgresql DB server for Odoo : 5432
Note: IM module is Instant Messaging. To enable this module in Openerp we need to run the server using openerp-gevent which requires the python-psycopg2 library. In this case Openerp server will be run on 8072 port.
But if we don’t want this IM module, then we can run openerp-server instead of openerp-gevent and in that case Openerp server will be run on 8069 port.
We can now run Odoo server in different ways.
1. From supervisorctl:
If you don’t have supervisor process manager, you can install it by:
apt-get install supervisor
Once supervisor is all set, then we need to edit the supervisor.conf file (/etc/supervisor/supervisord.conf) to add Openerp as a program.
[program:openerp] command=python /home/openerp/odoo/openerp-gevent -c /etc/openerp-server.conf numprocs=1 directory=/home/openerp/odoo/ stdout_logfile=/var/log/openerp-server.log autostart=true autorestart=true user=openerp stopsignal=KILL
If you are developing any custom module and want to keep on updating it each time we restart the server, to reflect your changes, then you need to append -u <your module name> at the end of the command shown above i.e., suppose my module name is import_export then:
command= python /home/openerp/odoo/openerp-gevent -c /etc/openerp-server.conf -u import_export
The -c is followed by the config file of openerp and -u for updating modules.-u all stands for updating all modules
The command line options for Openerp are available here:
https://doc.odoo.com/6.0/developer/1_1_Introduction/4_command_line/
Now once the supervisorconf is set, then we have to update it first to read the changes and restart the server:
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl restart openerp
Then on the browser we have to type the following url and reload:
If we are using openerp-gevent (which is for IM module) then url will be :[hostname]:8072
For example: localhost:8072
Otherwise if we are running it with openerp-server (without IM module) then it will use port 8069:
For example: localhost:8069
2. As a service:
To run Odoo as service we have to do the following:
sudo cp /home/openerp/odoo/debian/init /etc/init.d/openerp sudo vim /etc/init.d/openerp
change DAEMON=/usr/bin/openerp-server
to DAEMON=/home/openerp/odoo/openerp-server
save the file and exit
Now put Odoo as a service:
sudo update-rc.d -f openerp start 20 2 3 4 5
And start your Odoo/Openerp service as:
sudo service openerp start
*** Enjoy Openerp V8 ***