Installation Of OpenERP Server 5.0, OpenERP GTK Client 5.0 And OpenERP Web Client 5.0.1 On Ubuntu Server 9.04 & Ubuntu Desktop 9.0.4
This article will show you how to set up openerp-server 5.0.0-3-1 + openerp-client 5.0.0-3-1 + openerp-web 5.0.1 on Ubuntu Server 9.04 & Desktop 9.0.4
Introduction
Open ERP (formerly named Tiny ERP) is the leader open-source ERP/CRM system written mostly in Python and initiated in Belgium. It offers a three-tier web architecture, ease of use and flexibility.
With more than 1000 downloads per day, Open ERP is the most admired and the world’s fastest growing and used free open source management software solution in the world. Small and medium sized companies are now encouraged to use ERP.
Open ERP is very modular, each adoption produces new modules. So they can be installed optionally or not, depending on the need of each enterprise. More than 350 modules of different kinds are available: accounting, finance, stock management, manufacturing, services management, customer relations, sales, project management, document management, internal organization, human resources, direct marketing, e-commerce, point of sale, payroll,… And about 10-20 modules are produced monthly!
For Open Source software, experience has shown that there’s no need to train users for several months on the system, because they can just download it and use it directly. To make this process of learning fast and effective, Open ERP has taken several steps with its large partner network and community e.g. Forum and IRC which are platforms to discuss common topics among community and get help, Open ERP Planet is used to announce new developments in Open ERP, Launchpad is a unique collaboration and Bazaar code hosting platform for software projects. Other then these, detail Documentation is available which serve as a guide to understand and get started with Open ERP.
The latest version of OpenERP (5.0) was released inFebruary 10th 2009. Canonical’s Ubuntu 9.0.4 is the first Linux distribution that provides this release. We will probably have to wait a few months until other distributions (Fedora 12, OpenSuSE 11.3, CentOS, etc) ease the latest updates of OpenERP 5.x. Nevertheless, all these major distributions already offer tinyerp-server and client release 4.2.3 (without including openerp-web).
Major troubles during the setup
The most complicated part is with openerp-web 5.0.1 because of its dependency on TurboGears 1.0.8 . TurboGears 1.0.8 is not supported with the default Ubuntu 9.04 python version (python2.6)
OpenERP Web client 5.0.2 is still under development. This release is being migrated to CherryPy3 dropping the TurboGears framework as a major step to make the Web Client much more faster and easier to deploy. This will greatly reduce the pain of getting started with and deploying of OpenERP Web client. The number of third party dependencies will be reduced to 3-4 pure Python libraries. The initial test results offer almost 3-5 time speed improvement.
The default openerp-server and openerp-web INIT scripts cannot launch their corresponding services as non-root without fixing some technical issues. I will detail what configuration files and scripts have to be modified to avoid this.
Technical procedure. Initial installation and configuration
Upgrade of Ubuntu packages and installation of openerp and pgadmin:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install openerp-server openerp-client pgadmin3
To avoid having some of the labels untranslated in the GTK client, install the language-pack-gnome-YOURLANG-base package. The following command installs the spanish language pack:
$ sudo apt-get install language-pack-gnome-es-base
Postgres Database configuration:
$ sudo vi /etc/postgresql/8.3/main/pg_hba.conf
Replace the following line:
# “local” is for Unix domain socket connections only local all all ident sameuser
with:
#”local” is for Unix domain socket connections only local all all md5
Restart Postgres:
$ sudo /etc/init.d/postgresql-8.3 restart
* Restarting PostgreSQL 8.3 database server [ OK ]
The following two commands will avoid problems with /etc/init.d/openerp-web INIT script:
$ sudo mkdir /home/openerp
$ sudo chown openerp.nogroup /home/openerp
Create a user account called openerp with password “openerp” and with privileges to create Postgres databases:
$ sudo su postgres
$ createuser openerp -P
Enter password for new role: (openerp)
Enter it again:
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n
Quit from user postgres:
$ exit
exit
Edit OpenERP configuration file:
$ sudo vi /etc/openerp-server.conf
Replace the following two lines (we don’t force to use a specific database and we add the required password to gain access to postgres):
db_name = db_user = openerp db_password = openerp
Troubles with Python releases: Python 2.6 is not yet supported by OpenERP 5.0, but it is the default Python release on Ubuntu 9.0.4. We need to launch OpenERP 5.0 with Python 2.5 or earlier. There’s also a problem with python-xml package in Ubuntu so we will reinstall it.
Python 2.5 setup:
$ sudo apt-get install python2.5 python2.5-dev python-profiler
Reinstall python-xml:
$ wget http://freefr.dl.sourceforge.net/sourceforge/pyxml/PyXML-0.8.4.tar.gz
$ tar xvzf PyXML-0.8.4.tar.gz
$ cd PyXML-0.8.4/
$ sudo python2.5 setup.py install
Make the following symbolic link:
$ sudo ln -s /usr/lib/python2.6/dist-packages/oldxml/_xmlplus/utils/boolean.so /usr/lib/python2.5/site-packages/oldxml/_xmlplus/utils/
Force openerp-server to be launched with Python2.5:
$ cd /usr/bin/
$ sudo cp openerp-server openerp-server.ORIG
$ sudo vi openerp-server
Replace the following line:
exec /usr/bin/python ./openerp-server.py $@
with
exec /usr/bin/python2.5 ./openerp-server.py $@
We can now restart openerp-server:
$ sudo /etc/init.d/openerp-server restart
Restarting openerp-server: openerp-server.
Check out the logs:
$ sudo cat /var/log/openerp.log
[2009-06-14 21:06:39,314] INFO:server:version – 5.0.0
[2009-06-14 21:06:39,314] INFO:server:addons_path – /usr/lib/openerp-server/addons
[2009-06-14 21:06:39,314] INFO:server:database hostname – localhost
[2009-06-14 21:06:39,315] INFO:server:database port – 5432
[2009-06-14 21:06:39,315] INFO:server:database user – openerp
[2009-06-14 21:06:39,315] INFO:objects:initialising distributed objects services
[2009-06-14 21:06:39,502] INFO:web-services:starting XML-RPC services, port 8069
[2009-06-14 21:06:39,502] INFO:web-services:starting NET-RPC service, port 8070
[2009-06-14 21:06:39,502] INFO:web-services:the server is running, waiting for connections…
OpenERP is now up and running, connected to Postgres database on port 5432 and listening on ports 8069 and 8070.
$ ps uaxww | grep -i openerp
root 2276 0.0 2.3 185576 23708 ? Sl 13:09 0:00 /usr/bin/python2.5 ./openerp-server.py –config=/etc/openerp-server.conf
$ sudo lsof -i :8069
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
python2.5 2276 openerp 3u IPv4 6515 TCP localhost:8069 (LISTEN)
$ sudo lsof -i :8070
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
python2.5 2276 openerp 5u IPv4 6520 TCP *:8070 (LISTEN)