Instalar OpenERP

OpenERP | Logo
OpenERP | Logo

Hace bastante que conozco la herramienta OpenERP, que como su nombre indica es un ERP, que por cierto tiene un montón de módulos y puede ayudarnos a llevar toda la gestión de nuestra empresa de una manera muy fácil. Hoy aprenderemos como se instala, y mas adelante intentare enseñaros como funciona (si tengo tiempo).

Yo lo he hecho todo en una maquina virtual y le he dado 128MB de RAM, y tira bastante bien, al menos por ahora,  así que si queréis hacer pruebas yo creo que os vale con unos requisitos bastante pequeños, por lo menos para los módulos básicos.

Lo primero que tenéis que saber es que no funciona con MySQL, si no que su sistema de bases de datos es PostgreSQL. Aquí explico como instalar MySQL, pero esta vez toca otra:

PostgreSQL

PosgreSQL es un sistema de bases de datos como MySQL, solamente que es algo diferente de usar, pero nosotros solamente tenemos que preocuparnos de la instalación y posterior configuración.

apt-get install postgresql

Yo (como sabréis) no uso interfaz gráfica en mis servidores, pero si vosotros la usáis, podéis instalar la interfaz de PostgresSQL:

apt-get install pgadmin3

Con esto ya tenemos instalado PostgreSQL, pero ahora nos queda crear la base de datos que se va a utilizar para OpenERP. Se hace de una manera un tanto especial.

Lo primero que tenemos que hacer es logarnos con el SuperUsuario de PostgreSQL, que por defecto es postgres:

su posrgres

El método de login puede varias de una distribución a otra

Ahora que somos SuperUsuario, creamos el usuario openerp que será el que se dedique a usar PostgreSQL:

createuser openerp

Cuando nos pregunta «Shall the new role be a superuser? (y/n)». Le tenemos que decir que si

De esta manera hacemos posible que OpenERP pueda crear las bases de datos. A si desde el propio cliente podremos crear nuevas bases de datos.

Veamos ahora, la lista de tablas creadas en PostgresSQL:

psql -l

Podemos ver la tabla template1, para usarla solo tenemos que hacer esto:

psql template1

Este ultimo comando nos hace entrar dentro de la template1 y nos toca decirle que openerp sera el usuario con gestión dentro de ella:

alter role openerp with password 'postgres';

Para salir teneis que poner \!

Esto es mas o menos lo que hacíamos en CMSMS cuando creábamos la base de datos con usuario y contraseña.

Si habéis instalado la interfaz gráfica de la que hemos hablado antes, lo tendréis mas sencillo porque podréis hacerlo visualmente.

Instalación de OpenERP

Ahora que ya tenemos la base de datos, podemos empezar la instalación de OpenERP.

Lo primero que necesitamos para que nuestro OpenERP funcione es Python, a si que a por ello:

apt-get install python-lxml python-mako python-egenix-mxdatetime python-dateutil python-psycopg2 python-pychart python-pydot python-tz python-reportlab python-reportlab python-yaml python-vobject

Con Python y todas sus cosillas instaladas podemos bajarnos el Servidor OpenERP de la pagina web de descargas.

Os recomiendo usar el comando wget

En mi caso he cogido la versión mas reciente OpenERP 6.0 y he descargado de Sources & Packages solo el Server, ya que lo demás es para el Cliente web y el cliente de escritorio, que por ahora no vamos a instalar.

Bien, nada mas descargarlo pasemos a instalar-:

tar -xzf openerp-server-6.0.2.tar.gz
cd openerp-server-6.0.2
python setup.py install

Con esto tenemos ya instalado OpenERP.

[error]Si no habéis instalado PostgreSQL, no vais a poder crear las bases de datos para OpenERP[/error]

Si por alguna cosa da un fallo, es porque no tenéis instalado el setup tools de python. Se instala así.

apt-get install python-setuptools


Ahora ya podemos arrancar nuestro servidor OpenERP

openerp-server
Cuidado:
Lanzar el servidor solo puede hacerlo un usuario que no sea el administrador del servidor ni el usuario de postgres, en mi caso root y postgres, hacedlo con otro usuario. Si no tenéis ninguno mas, creadlo.

Una vez lanzado el servicio, si nos desconectamos de la terminal de ese usuario, o por alguna cosa ese usuario se deslogea, perdemos el servidor OpenERP. Esto es porque no se ha lanzado como un demonio.

¿Como hacer esto? Sencillo:

Lo primero que tenemos que hacer es crear el Script de inicio de OpenERP en /etc/init.d/openerp-server

#!/bin/sh
### BEGIN INIT INFO
# Provides:          OpenERP
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: OpenERP Open Source Enterprise Resource Planning
# Description:       OpenERP Open Source Enterprise Resource Planning
### END INIT INFO

NAME=openerp-server
DESC="openERP server"
DAEMON=/usr/local/bin/openerp-server
OPTIONS=$OPENERP_OPTIONS
PIDDIR=/var/run/openerp
PIDFILE=$PIDDIR/openerp.pid
LOGDIR=/var/log/openerp
LOGFILE=$LOGDIR/openerp.log
CONFFILE=/etc/openerp.conf
ERPUSER=openerp
ERPGRP=openerp

[ -n "$OPTIONS" ] || OPTIONS="-c $CONFFILE --pidfile=$PIDFILE --logfile=$LOGFILE $2 $3 $4 $5 $6 $7 $8 $9"

test -x "$DAEMON" || exit 0

. /lib/lsb/init-functions

case "$1" in
        start)
                log_daemon_msg "Starting OpenERP daemon"
                install -o $ERPUSER -g $ERPGRP -m 755 -d $LOGDIR
                install -o $ERPUSER -g $ERPGRP -m 755 -d $PIDDIR
                if ! start-stop-daemon -b -c $ERPUSER -g $ERPGRP --start --quiet --oknodo --exec $DAEMON -- $OPTIONS; then
                        log_end_msg 1
                        exit 1
                fi
                log_end_msg 0
                exit 0
                ;;
        stop)
                log_daemon_msg "Stopping OpenERP daemon"
                start-stop-daemon --stop --quiet --pidfile $PIDFILE
                sleep 1
                if [ -f $PIDFILE ] && ! ps h `cat $PIDFILE` > /dev/null
                then
                    rm -f $PIDFILE
                fi
                log_end_msg 0
                ;;
        restart)
                $0 stop
                sleep 1
                $0 start
                ;;
        status)
                pidofproc -p $PIDFILE $DAEMON >/dev/null
                status=$?
                if [ $status -eq 0 ]; then
                        log_success_msg "OpenERP is running"
                else
                        log_failure_msg "OpenERP is not running"
                fi
                exit $status
                ;;
        *)
                echo ""
                echo -e "Usage: [start|stop|restart|status]"
                echo ""
                exit 1 ;;
esac
exit 0

Por ultimo lo guardamos y le damos privilegios de ejecución:

chmod +x /etc/init.d/openerp-server

Ahora copiamos el archivo de configuración de OpenERP a /etc/openerp.conf, lo podéis encontrar en la propia carpeta que habéis descargado y descomprimido, openerp-server-6.0.2/doc/openerp-server.conf.
El mio es este:

options]
without_demo = True
; This is the password that allows database operations:
; admin_passwd = admin
upgrade = False
verbose = False
netrpc = True
; netrpc_interface =
; netrpc_port =
xmlrpc = True
; xmlrpc_interface =
xmlrpc_port = 8069
db_host = False
db_port = False
; Please uncomment the following line *after* you have created the
; database. It activates the auto module check on startup.
; db_name = terp
db_user = openerp
db_password = False
; Uncomment these for xml-rpc over SSL
; secure = True
; secure_cert_file = /etc/openerp/server.cert
; secure_pkey_file = /etc/openerp/server.key
root_path = None
soap = False
translate_modules = ['all']
demo = {}
addons_path = None
reportgz = False

; Static http parameters
;static_http_enable = False
;static_http_document_root = /var/www/html
;static_http_url_prefix = /

Tendréis que cambiar el usuario si es uno diferente.
Con esto, ya podemos iniciar como demonio nuestro OpenERP

/etc/init.d/openerp-server start

Cliente de Escritorio

La instalación del cliente de escritorio es realmente sencilla, si os descargais la de windows no sera mas que siguiente, siguiente, aceptar.

Para ubuntu, podéis bajarla del propio Centro de software de ubuntu, solamente que estará una versión mas antigua. Si quereis la version nueva, lo primero es instalar los paquetes necesarios:

apt-get install python-gtk2 python-glade2 python-matplotlib python-egenix-mxdatetime python-xml python-tz python-hippocanvas python-pydot

Con esto, descargamos el cliente de OpenERP de su web. Toca instalar:

tar -xzf openerp-client-6.0.2.tar.gz
cd openerp-client-6.0.2
sudo python setup.py install

Facil y sencillo, arrancamos el cliente:

openerp-client

Una vez arrancado, nos conectamos a nuestro servidor (puerto 8070) y listo, ya podemos crear nuestra primera base de datos.

Finalización

Para finalizar quiero comentar que OpenERP es el mejor ERP que conozco hasta ahora, he trabajado cierto tiempo con el y ahora estoy haciendo una implementación 100%. Tiene módulos para prácticamente cualquier cosa y ademas de eso son fáciles de crear y existen expresas que los pueden crear por ti si tu no puedes.

Existen por ejemplo módulos para SugarCRM y para Magento, de manera que puedes llevar la gestión de tu CRM y tu tienda virtual desde un unico ERP, ademas de módulos sobre RRHH, Gastos, Proyectos…etc.

Una maravilla.

Pronto espero dar algún tutorial sobre el uso de OpenERP , a ver si tengo tiempo para ello.