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
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
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';
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.
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]
apt-get install python-setuptools
Ahora ya podemos arrancar nuestro servidor OpenERP
openerp-server
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.