Instalación de OpenERP 7 sobre Ubuntu 12.04

Buen día tengan todos.

Para esta entrada me he basado en la Wiki de openerp.org.ve

Intentare explicar como instalar OpenERP 7.0 sobre la plataforma Ubuntu 12.04, en la Wiki que me base me sirvió de mucha ayuda, pero aquí intentare poner mi granito de arena complementando las instrucciones para que todo función OK, ya que faltaban algunas cosas por considerar, por ejemplo, la dependencia python-unittest2, entre otros.

Un punto a mencionar es que, descargaremos también los modulos de la localización mexicana.

Instalar dependencias

Abriendo una Terminal, debemos instalar las dependencias necesarias, tanto de python, como las mismas herramientas y aplicaciones, Postgresql, Bazaar, etc.

user$ sudo apt-get install bzr bzr-gtk bzrtools graphviz postgresql postgresql-client-common python python-dateutil python-dev python-egenix-mxdatetime python-egenix-mxdatetime python-feedparser python-gdata python-hippocanvas python-imaging python-ldap python-libxml2 python-libxslt1 python-lxml python-mako python-matplotlib python-numpy python-openid python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-setuptools python-simplejson python-tz python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi python-psutil python-docutils docutils-common docutils-doc python-jinja2 python-mock python-pygments python-roman python-unittest2

 Configuración PostgreSQL

Verificar la versión de PostgreSQL que se instaló.

user$ sudo su postgres
postgres$ psql --version
psql (PostgreSQL) 9.1.10
contains support for command-line editing

Debemos editar el archivo pg_hba.conf, para esto, podemos utilizar cualquier editor, en este ejemplo usaré nano:

user$ sudo nano /etc/postgresql/9.1/main/pg_hba.conf

Agregar la siguiente linea al archivo:

local   all         openerp                               md5

ahora, reiniciamos el servidor de Postgres:

user$ sudo service postgresql restart
[sudo] password for user: 
 * Restarting PostgreSQL 9.1 database server                             [ OK ]

Creación de usuario para Postgres

user$ sudo su postgres
postgres$createuser -P openerp
Ingrese la contraseña para el nuevo rol: 
Ingrésela nuevamente: 
¿Será el nuevo rol un superusuario? (s/n) n
¿Debe permitírsele al rol la creación de bases de datos? (s/n) s
¿Debe permitírsele al rol la creación de otros roles? (s/n) n

Una vez creado el usuario en Postgres, ahora debemos crear el usuario en Ubuntu.

Crear usuario openerp en Ubuntu

El usuario que agregaremos es el que se usara para ejecutar el servidor OpenERP, cabe mencionar que OpenERP no puede ni debe ejecutarse con un usuario Administrador.

user$ sudo adduser openerp
Añadiendo el usuario `openerp' ...
Añadiendo el nuevo grupo `openerp' (1002) ...
Añadiendo el nuevo usuario `openerp' (1002) con grupo `openerp' ...
Creando el directorio personal `/home/openerp' ...
Copiando los ficheros desde `/etc/skel' ...
Introduzca la nueva contraseña de UNIX: 
Vuelva a escribir la nueva contraseña de UNIX: 
passwd: contraseña actualizada correctamente
Cambiando la información de usuario para openerp
Introduzca el nuevo valor, o presione INTRO para el predeterminado
    Nombre completo []: 
    Número de habitación []: 
    Teléfono del trabajo []: 
    Teléfono de casa []: 
    Otro []: 
¿Es correcta la información? [S/n] s

Una vez creado el usuario openerp, se creará tambien el directorio local del usuario dentro de home/

Crear directorios

Crear la estructura de directorios para la instancia de nuestro servidor.

user$ sudo su openerp
openerp$ cd /home/openerp
openerp$ mkdir instancias
openerp$ mkdir instancias/estable
openerp$ mkdir instancias/estable/7.0

Descargar el Código

El código será descargado desde Launchpad. Usaremos bzr para lograrlo.

openerp$ cd /home/openerp/instancias/estable/7.0
openerp$ bzr branch lp:openobject-server/7.0 server 
openerp$ bzr branch lp:openobject-addons/7.0 addons 
openerp$ bzr branch lp:openerp-web/7.0 openerp-web 
openerp$ bzr branch lp:openerp-mexico-localization/7.0 localization

*Editado (24-abr-2014) La ultima linea para descargar la localizacion mexicana antes de esta edicion del articulo estaba asi:

openerp$ bzr branch lp:openerp-mexico-localization localization

Esto yano debera usarse de esta manera, ya que de ser asi estariamos descargando el Trunk, y nosotros necesitamos ya la version Estable de la Version 7.0 de OpenERP.

Pido una disculpa por no haber observado antes esto, y esta es la razon que algunos les lanze errores al momento de configurar la localizacion mexicana.

Después de unos minutos el proceso de descarga termina indicándonos el numero de revisión sobre la cual se descargaron las fuentes.

Lo siguiente es crear un nuevo directorio para englobar todos los modulos en dicho directorio, generando enlaces simbolicos:

openerp$ mkdir /home/openerp/instancias/estable/7.0/modules
openerp$ cd /home/openerp/instancias/estable/7.0/modules
openerp$ ln -sf ../addons/* .
openerp$ ln -sf ../localization/* .
openerp$ ln -sf ../openerp-web/addons/* .

Probando el servidor

Ahora lo que debemos de hacer es probar nuestro servidor, ejecutarlo por vez primera, la opción -s genera un archivo de configuración:

openerp$ cd /home/openerp/instancias/estable/7.0/server
openerp$ python openerp-server -w 1 -r openerp --addons-path=../modules -s

2013-11-27 17:14:47,007 5037 INFO ? openerp: OpenERP version 7.0
2013-11-27 17:14:47,008 5037 INFO ? openerp: addons paths: /home/openerp/instancias/estable/7.0/modules
2013-11-27 17:14:47,009 5037 INFO ? openerp: database hostname: localhost
2013-11-27 17:14:47,009 5037 INFO ? openerp: database port: 5432
2013-11-27 17:14:47,009 5037 INFO ? openerp: database user: openerp
2013-11-27 17:14:47,997 5037 INFO ? openerp.addons.google_docs.google_docs: GData lib version `%s GData-Python/2.0.14` detected
2013-11-27 17:14:48,705 5037 INFO ? openerp.service.wsgi_server: HTTP service (werkzeug) running on 0.0.0.0:8069
2013-11-27 17:14:48,707 5037 INFO ? openerp: OpenERP server is running, waiting for connections...

Después, detenemos el servidor, en la misma terminal debemos hacer Ctrol + c, para interrumpirlo.

Creamos un directorio en donde colocar nuestro archivo de configuración generado:

openerp$ mkdir /home/openerp/instancias/config 
openerp$ cp ~/.openerp_serverrc /home/openerp/instancias/config/estable_70.conf

De aqui en adelante podremos ejecutar nuestro servidor con:

openerp$ cd /home/openerp/instancias/estable/7.0/server
openerp$ python openerp-server -c /home/openerp/instancias/config/estable_70.conf

Logs de OpenERP

Vamos a crear un directorio para guardar los Logs del sistema OpenERP:

openerp$ mkdir /home/openerp/instancias/logs

Ahora, vamos a agregar/modificar la opción logfile en el archivo de configuración de OpenERP:

openerp$ nano /home/openerp/instancias/config/estable_70.conf

debemos agregar la siguiente opcion:

logfile = /home/openerp/instancias/logs/openerp-server.log

con esto tendremos los Logs de OpenERP en ese archivo dentro nuestro directorio logs para consultas sobre cualquier error o evento.

Iniciar servidor al arranque

Hasta este punto nuestro servidor funciona arrancándolo manualmente, es decir, debemos abrir una terminal y ejecutar  los siguientes comandos:

user$ sudo su openerp
openerp$ cd /home/openerp/instancias/estable/7.0
openerp$ python openerp-server -c /home/openerp/instancias/config/estable_70.conf

Y se detendrá al momento de usar las teclas Ctrl + c en la misma terminal, o bien, al momento de cerrar la terminal.

Lo que haremos ahora, es crear un script de ejecución de OpenERP, y hacer que se ejecute de manera automática al encender la computadora, o bien, dicho script también nos permitirá ejecutar (start), detener(stop) o reiniciar (restart) el servidor OpenERP como un servicio mas de nuestro Linux Ubuntu.


#!/bin/sh
### BEGIN INIT INFO
# Provides:        openerp-server
# Required-Start:    $syslog
# Required-Stop:    $syslog
# Should-Start:        $network
# Should-Stop:        $network
# Default-Start:    2 3 4 5
# Default-Stop:        0 1 6
# Short-Description:    Enterprise Resource Management software
# Description:        Open ERP is a complete ERP and CRM software.
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin

NAME=openerp-server
DESC=openerp-server
SERVEREXE=openerp-server

LOG=TRUE
# path al directorio de instancias de OpenERP
OERPPATH=/home/openerp/instancias

# Default OpenERP server python executable
DAEMON=${OERPPATH}/estable/7.0/server/${SERVEREXE}

# Default server config file
CONFIGFILE=${OERPPATH}/config/estable_70.conf

# Specify the user name (Default: openerp).
USER=openerp

# Assign order (start, stop, restart|force-reload, status)to $ORDER
if [ -z $1 ]; then
   N=/etc/init.d/${NAME}
   echo "Usage: ${NAME} {start|stop|restart|force-reload|status} [openerp-options ]" >&2
   exit 1
fi

ORDER="${1}"
shift

# Additional options that are passed to the Daemon.
PARAM=""
if [ $# -ge 1 ]; then
    while [ ! -z "${1}" ]; do
        PARAM="${PARAM} ${1}"
        shift
    done
fi

test -x ${DAEMON} || exit 0

set -e

start_daemon () {
    #Comprobamos que el usuario que esta ejecutando el comando es root.
    if [ $(whoami) != "root" ]; then
        echo "Por favor, ejecuta el comando como superusuario (sudo)"
        exit 1
    fi

    if [ -f ${PIDFILE} ]; then
        echo "${NAME} already running: `cat ${PIDFILE}`"
        return
    fi

    echo -n "Starting ${DESC}: "
    if [ $LOG = "TRUE" ] ; then
        echo "\nstart-stop-daemon --start --pidfile ${PIDFILE} --chuid ${USER} --make-pidfile --exec ${DAEMON} "
        start-stop-daemon --start --oknodo --background --user ${USER} --chuid ${USER} --name ${NAME} --pidfile ${PIDFILE} --make-pidfile --startas ${DAEMON} -- ${DAEMON_OPTS}
    else
        start-stop-daemon --start --oknodo --background --user ${USER} --chuid ${USER} --name ${NAME} --pidfile ${PIDFILE} --make-pidfile --startas ${DAEMON} -- ${DAEMON_OPTS}
    fi

    echo "${NAME}: `cat ${PIDFILE}`: running."
}

stop_daemon () {
    #Comprobamos que el usuario es root.
    if [ $(whoami) != "root" ]; then
        echo "Por favor, ejecuta el comando como superusuario (sudo)"
        exit 1
    fi

    if [ ! -f ${PIDFILE} ]; then
        echo "${NAME}: not running"
        return
    fi

    echo -n "Stopping ${DESC}: "

    start-stop-daemon --stop --oknodo --pidfile ${PIDFILE} --retry 5

    echo "${NAME}: `cat ${PIDFILE}`: stopped."
    rm -f ${PIDFILE} # remove pidfile
}

status_daemon(){
    echo -n "Checking ${DESC} ${SERVER}: "
    if [ -f ${PIDFILE} ]; then
        echo "`cat ${PIDFILE}` running."
    else
        echo "stopped."
    fi
}

case "${ORDER}" in
    start)
        PIDFILE="/var/run/${NAME}.pid"
        DAEMON_OPTS="--config=${CONFIGFILE} ${PARAM}"
        start_daemon
    ;;

    stop)
        PIDFILE="/var/run/${NAME}.pid"
        DAEMON_OPTS="--config=${CONFIGFILE} ${PARAM}"
        stop_daemon
    ;;

    restart|force-reload)
         PIDFILE="/var/run/${NAME}.pid"
         DAEMON_OPTS="--config=${CONFIGFILE} ${PARAM}"
         stop_daemon
         start_daemon
    ;;

    status)
        PIDFILE="/var/run/${NAME}.pid"
        status_daemon
    ;;

    *)
        N=/etc/init.d/${NAME}
        echo "Usage: ${NAME} {start|stop|restart|force-reload|status} [openerp-options]" >&2
        exit 1
    ;;
esac
exit 0

Guardamos el codigo anterior en un archivo con nombre openerp-server,y lo copiamosal directorio /etc/init.d. Debemos agregarle permisos de ejecución:
user$ sudo cp openerp-server /etc/init.d/
user$ sudo chmod +x /etc/init.d/openerp-server

Lo siguiente, agregar como un servicio openerp-server:

user$ sudo update-rc.d openerp-server defaults
[sudo] password for user: 
 Adding system startup for /etc/init.d/openerp-server ...
   /etc/rc0.d/K20openerp-server -> ../init.d/openerp-server
   /etc/rc1.d/K20openerp-server -> ../init.d/openerp-server
   /etc/rc6.d/K20openerp-server -> ../init.d/openerp-server
   /etc/rc2.d/S20openerp-server -> ../init.d/openerp-server
   /etc/rc3.d/S20openerp-server -> ../init.d/openerp-server
   /etc/rc4.d/S20openerp-server -> ../init.d/openerp-server
   /etc/rc5.d/S20openerp-server -> ../init.d/openerp-server

Ahora bien, hasta aqui ya  solo queda decir que tenemos instalado OpenERP en nuestro equipo ya como un servicio de Linux, por lo que este iniciará en automatico al encender la computadora, bien, podemos reiniciarlo o detenerlo de manera manual, y la manera de hacer es la siguiente:

Iniciar:

user$ sudo service openerp-server start

Reiniciar:

user$ sudo service openerp-server restart

Detener:

user$ sudo service openerp-server stop

Acceso al sistema

Para tener acceso al sistema OpenERP, debemos abrir el navegador que gusten (Firefox, Chrome, etc), y escribir en la barra de direcciones: http://localhost:8069

acceso-openerp

Conclusión

Como conclusión, queda decir que OpenERP es un potente ERP, muy completo en cuanto a aplicaciones empresariales administrativas.

En este caso, se descargo el codigo fuente desde Launchpad a su ultima Revisión (revno), teniendo la certeza de que nuestro codigo esta al día.

He querido colaborar con este conocimiento para todas aquellas personas que como yo, comenzaron a ver el camino del Open Source como una solución viable para implementar en sus lugares de trabajo, y para todas aquellas que gustan de conocer todo este tipo de aplicaciones.

Pido de favor, que cualquier problema, error detectado en este tutorial, me lo hagan saber, y con gusto lo corregiré.

Anuncios

48 comentarios en “Instalación de OpenERP 7 sobre Ubuntu 12.04

    1. Hola Ricardo.

      En que punto es donde te fallo?

      Podrias explicar un poco mas?

      Tal vez no sea algo tan delicado y se podria corregir y asi seguir con la instalación.

      Saludos!

      1. pues hice todo como lo muestras, pero antes de llegar al paso Acceso al sistema ingreso el siguiente comando

        user$ sudo service openerp-server start
        openerp-server: unrecognized service

        y pruebo http://localhost:8069 y efectivamente no lo reconoce, regreso a inicialización manual antes de crear el script

        user$ sudo su openerp
        openerp$ cd /home/openerp/instancias/estable/7.0
        openerp$ python openerp-server -c /home/openerp/instancias/config/estable_70.conf

        y me arroja el siguiente error python: can’t open file ‘openerp-server’: [Errno 2] No such file or directory

  1. Hola Chavamm, me he quedado pasmado con tanta información y tengo una duda, al aver hecho toda la instalación y de funcionar correctamente la instalacion OpenERP ya tendría por defecto el usuario y base de datos, asi como el modulo de facturacion electronica “localización Mexicana Openerp”?

    1. Hola Ricardo,

      Si ya concluiste con la instalación, tal cual esta aqui, cuando entras a localhost:8069 (es algo que me falto, y pido una disculpa), la primer pantalla que te mostrar será la de Crear una nueva base de datos (Actualizaré el Post con una pantalla), Ahi te pide el Master Password, que por default es “admin”, pones el nombre de la base de datos, el password del usuario “admin”, el idioma de la base de datos. Despues solo falta dar click en el botón de Crear. con esto el proceso de creación comienza.

      Una vez concluye el proceso ya entra en el sistema automaticamente con el usuario “admin”, por default te carga los modulos base del sistema, es decir, Configuración, desde ahi tienes que buscar en los modulos locales el “l10n_mx_facturae_pac_sf”, que corresponde al modulo de CFDi.

      Espero haberte ayudado.

      Saludos!

      1. De ante mano gracias por el aporte, ingrese a: Módulos locales /Base y me tira el siguiente error crees que sea por el error antes mensionado.

        OpenERP Server Error

        Client Traceback (most recent call last):
        File “/home/openerp/instancias/estable/7.0/modules/web/http.py”, line 204, in dispatch
        response[“result”] = method(self, **self.params)
        File “/home/openerp/instancias/estable/7.0/modules/web/controllers/main.py”, line 1125, in call_kw
        return self._call_kw(req, model, method, args, kwargs)
        File “/home/openerp/instancias/estable/7.0/modules/web/controllers/main.py”, line 1111, in _call_kw
        records = req.session.model(model).read(*args, **kwargs)
        File “/home/openerp/instancias/estable/7.0/modules/web/session.py”, line 42, in proxy
        result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
        File “/home/openerp/instancias/estable/7.0/modules/web/session.py”, line 30, in proxy_method
        result = self.session.send(self.service_name, method, *args)
        File “/home/openerp/instancias/estable/7.0/modules/web/session.py”, line 103, in send
        raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)

        Server Traceback (most recent call last):
        File “/home/openerp/instancias/estable/7.0/modules/web/session.py”, line 89, in send
        return openerp.netsvc.dispatch_rpc(service_name, method, args)
        File “/home/openerp/instancias/estable/7.0/server/openerp/netsvc.py”, line 292, in dispatch_rpc
        result = ExportService.getService(service_name).dispatch(method, params)
        File “/home/openerp/instancias/estable/7.0/server/openerp/service/web_services.py”, line 626, in dispatch
        res = fn(db, uid, *params)
        File “/home/openerp/instancias/estable/7.0/server/openerp/osv/osv.py”, line 190, in execute_kw
        return self.execute(db, uid, obj, method, *args, **kw or {})
        File “/home/openerp/instancias/estable/7.0/server/openerp/osv/osv.py”, line 132, in wrapper
        return f(self, dbname, *args, **kwargs)
        File “/home/openerp/instancias/estable/7.0/server/openerp/osv/osv.py”, line 199, in execute
        res = self.execute_cr(cr, uid, obj, method, *args, **kw)
        File “/home/openerp/instancias/estable/7.0/server/openerp/osv/osv.py”, line 187, in execute_cr
        return getattr(object, method)(cr, uid, *args, **kw)
        File “/home/openerp/instancias/estable/7.0/server/openerp/osv/orm.py”, line 3623, in read
        result = self._read_flat(cr, user, select, fields, context, load)
        File “/home/openerp/instancias/estable/7.0/server/openerp/osv/orm.py”, line 3744, in _read_flat
        res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
        File “/home/openerp/instancias/estable/7.0/server/openerp/osv/fields.py”, line 1142, in get
        result = self._fnct(obj, cr, uid, ids, name, self._arg, context)
        File “/home/openerp/instancias/estable/7.0/server/openerp/addons/base/module/module.py”, line 156, in _get_desc
        output = publish_string(source=module.description, settings_overrides=overrides, writer=MyWriter())
        File “/usr/lib/python2.7/dist-packages/docutils/core.py”, line 401, in publish_string
        enable_exit_status=enable_exit_status)
        File “/usr/lib/python2.7/dist-packages/docutils/core.py”, line 649, in publish_programmatically
        output = pub.publish(enable_exit_status=enable_exit_status)
        File “/usr/lib/python2.7/dist-packages/docutils/core.py”, line 211, in publish
        self.settings)
        File “/usr/lib/python2.7/dist-packages/docutils/readers/__init__.py”, line 69, in read
        self.parse()
        File “/usr/lib/python2.7/dist-packages/docutils/readers/__init__.py”, line 75, in parse
        self.parser.parse(self.input, document)
        File “/usr/lib/python2.7/dist-packages/docutils/parsers/rst/__init__.py”, line 157, in parse
        self.statemachine.run(inputlines, document, inliner=self.inliner)
        File “/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py”, line 170, in run
        input_source=document[‘source’])
        File “/usr/lib/python2.7/dist-packages/docutils/statemachine.py”, line 237, in run
        context, state, transitions)
        File “/usr/lib/python2.7/dist-packages/docutils/statemachine.py”, line 458, in check_line
        return method(match, context, next_state)
        File “/usr/lib/python2.7/dist-packages/docutils/parsers/rst/states.py”, line 2696, in underline
        source=src, line=srcline)
        File “/usr/lib/python2.7/dist-packages/docutils/utils.py”, line 217, in warning
        return self.system_message(self.WARNING_LEVEL, *args, **kwargs)
        File “/usr/lib/python2.7/dist-packages/docutils/utils.py”, line 188, in system_message
        self.stream.write(msg.astext() + ‘\n’)
        File “/usr/lib/python2.7/dist-packages/docutils/error_reporting.py”, line 183, in write
        self.stream.write(data)
        IOError: [Errno 5] Error de entrada/salida

      2. Hola Ricardo,

        Al parecer son errores por permisos en los directorios.

        intenta lo siguiente:

        sudo chown openerp:openerp /home/openerp/instancias

        Espero ayude.

        Saludos!

  2. gracias, se soluciono el problema y pude entrar a Módulos locales pero no aparece el modulo “l10n_mx_facturae_pac_sf” que me sugieres

    1. Hola Ricardo,

      cuando entras en el listado de modulos, asegurate de que no tiene el filtro de “Instalados”.

      Filtra tu con la palabra “facturae”, o bien con “mx”. En caso de no aparecer, debes asegurarte de que si se descargo la localizacion mexicana en el directorio de “localization”.

      De estar ahi todos los modulos de localizacion mexicana, entonces verifica que se hayan creado los enlaces simbolicos en el directorio de “modules”, es decir, entra a dicho directorio y revisa que esten ahi los enlaces a los modulos con prefijo “l10n_mx”.

      Puedes volverlos a hacer con openerp$ ln -sf ../openerp-web/addons/* .

      Por ultimo, en el menu Configuracion de OpenERP, ejecuta la opcion de “Actualizar lista de Modulos”, con esto OpenERP busca en el directorio “modules” por nuevos addons agregados y los da de alta en el sistema para que esten disponibles para su posterior instalacion.

      Espero ayude este comentario.

      Saludos!

  3. Tengo una duda Chava, hay algunos módulos extras que deseo añadir, los descargue en formato .zip ¿En que directorio debo colocar los archivos y cual seria el proceso para poderlos instalarlos? Me puedes orientar.

  4. Hola que tal, estaba siguiendo todos los pasos, pero cuando quise correr el servicio con la instrucción python openerp-server -w 1 -r openerp –addons-path=../modules -s , me marca el siguiente error “openerp-server: error: option –addons-path: The addons-path ‘../modules’ does not seem to a be a valid Addons Directory!” Soy novato en el tema, ojalá y me pudieras ayudar. Saludos!

    1. Hola Wilfredo,

      Puedes intentar colocando la ruta completa hacia el directorio modules:

      python openerp-server -w 1 -r openerp –addons-path=/home/openerp/instancias/estable/7.0/modules -s

      Verifica que los enlaces simbolicos esten bien dentro del directorio modules.

      Tambien verifica los permisos en todo el directorio de openerp, el propietario debe ser el usuario openerp, puedes hacer esto con un solo comando, estando como usuario normal:

      sudo chown openerp:openerp /home/openerp -R

      Te pedira el password del usuario normal de Ubuntu.

      Espero tus comentarios.

      Saludos!

      1. Ya resolví el problema Chavamm, tenía un error en uno de los pasos. Muchas gracias por tu ayuda!!

  5. Hola chavamm, quisiera preguntarte una cosa, hice todo tal y como lo explicas (felicidades por el post porque es genial) pero al iniciar el servicio me dice que openerp-server: unrecognized service.

    El resto de los procesos no dieron ningún fallo.

    Me puedes ayudar?? que podría ser?

    gracias

    1. Hola Panzzer,

      gracias por la felicitacion.

      Tal vez el problema sea que no se ha copiado el archivo “openerp-server” a /etc/init.d.

      O tal vez no se le dieron los permiso necesarios de Ejecucion a dicho archivo.

      user$ sudo cp openerp-server /etc/init.d/
      user$ sudo chmod +x /etc/init.d/openerp-server

      user$ sudo update-rc.d openerp-server defaults

      Revisa esta parte, ahi es casi seguro que este el problema. Esto te lo digo porque si ya lo hechaste a andar manualmente como lo explico en el post, entonces va a ser esto que te digo.

      Espero que encuentres el fallo y se corrija.

      Saludos!

  6. Buen tutorial chavamm, gracias por responderme en el tema de la Facturacion Electronica, en este segui tus pasos e instale todo bien, pero ahora si tengo un modulo hecho por mi, donde debo ponerlo, en cual carpeta????. Saludos

    1. Hola Luis, que bueno que ya resolviste el problema.

      Lo recomendable es crear tu propio directorio en donde coloques tus modulos propios, despues creas los enlaces simbolicos en el directorio “modules”, asi tendras separados los addons oficiales, los de lozaclizacion y los propios.

      Espero esto complemente un poco mas tu solucion.

      Saludos!

  7. Hola,
    solo pude llegar hasta la 1era instruccion de launchpad.
    Al hacerlo recibo

    /home/openerp/instancias/estable/7.0$ bzr branch lp:openobject-server/7.0 server
    You have not informed bzr of your Launchpad ID, and you must do this to
    write to Launchpad or access private data. See “bzr help launchpad-login”.
    bzr: ERROR: Permiso denegado: «/home/openerp/instancias/estable/7.0/server/.bzr/repository/upload/jtb0lzxq6om106dh8i2x.pack»: [Errno 13] Permiso denegado: u’/home/openerp/instancias/estable/7.0/server/.bzr/repository/upload/jtb0lzxq6om106dh8i2x.pack’

    Ya cree cuenta en launchpad y les escribi pero nada 😦

    Muchas gracias x la asesoría 🙂

    1. Buen dia,

      Eso lo tienes que hacer como el usuario “openerp”

      sudo su openerp
      — Aqui te pedira la contraseña —
      Despues aplicas los comandos de bzr.

      Toma en cuenta que estas descargando los codigos al directorio de trabajo del usuario “openerp”, y si lo estas haciendo como otro usuario no te permitira y te lanzara ese error de denegacion.

      No necesitas una cuenta de launcpad para poder descargar estos codigos, no es necesario, por lo que te comento que este error es de permisos dentro del Ubuntu, no de launchpad.

      Saludos!

      1. Buen dia Chavamm, gracias por la rápida respuesta aunque lo primero que habia hecho era eso, y recibi:

        openerp@servidor-govindas:~/instancias/estable/7.0$ bzr branch lp:openobject-server/7.0 server
        failed to open trace file: [Errno 13] Permiso denegado: ‘/home/openerp/.bzr.log’
        You have not informed bzr of your Launchpad ID, and you must do this to
        write to Launchpad or access private data. See “bzr help launchpad-login”.
        bzr: ERROR: Permiso denegado: «/home/openerp/instancias/estable/7.0/server/.bzr/repository/upload/v9jzch5csktmvryb4vrb.pack»: [Errno 13] Permiso denegado: u’/home/openerp/instancias/estable/7.0/server/.bzr/repository/upload/v9jzch5csktmvryb4vrb.pack’
        El usuario ya tiene permiso en la carpeta, como vi que era por ID Launchpad, cree una para mi cuenta SU, pero luego de hacerlo y unir con una llave SSH por otro mensaje finalmente recibí:

        ConnectionReset reading response for ‘BzrDir.open_2.1’, retrying
        Permission denied (publickey).

        :S

        Estoy en Ubuntu 14.04, agradezco pistas o alternativas 🙂

      2. Con el usuario normal, cuando abres la terminal, ejecuta el comando asi:

        bzr branch lp:openobject-server/7.0 server

        Y observa a ver si no te lanza error asi.

        Claro que se descargara en el home del usuario con el que ejecutas, pero solo es para prueba, y si no te lanza error puedes descargarte ahi todos los branch y luego moverlos al directorio del usuario “openerp”, esto lo puede hacer con el usuario “root”:

        sudo su
        mv server /home/openerp/instancias/estable/7.0/

        Luego cambias el propietario recursivamente a los dirtectorios dentro de /home/openerp

        sudo chown openerp:openerp /home/openerp -R

        Espero te sirva.
        Saludos!

  8. Gracias por el tuto, se ve muy sencillo mañana lo intentare ya me había vuelto chango, pero ya tengo una pregunta hay alguna forma de configurar el servidor para varios clientes y que esto sea transparente parsa ellos? por ejemplo si entramos a http://www.empresa1.com que entre a sus empresas y que no se entere que http://www.elpresa2.com existe y este asu vez entre a sus propias empresas sin interferir con la primera?

    1. Hola ruben, buen dia.
      Gracias por visitar mi Blog.

      Lo que pretendes se me ocurre que puedes hacerlo creando instancias, aunque sea sobre el mismo servidor. Investiga como crear varias instancias de OpenERP.

      Con instancias puedes tener acceso a OpenERP de la siguiente manera:

      http://www.servidor.com:8069 — Para la instancia 1
      http://www.servidor.com:8169 — Para la instancia 2
      http://www.servidor.com:8269 — Para la instancia 3

      etc, etc

      Ya lo demas de los nombres de dominio estoy casi seguro que puedes hacerlo investigando algo sobre servidores DNS. Nunca lo he hecho, seria que algun experto en ese tema nos pudiera comentar y seria de gran ayuda para todos.

      Recibe un cordial Saludo!

  9. Bueno al intentar instalarlo me salia lo siguiente al momento de probar el servidor.

    2014-05-07 19:53:47,107 12694 INFO ? openerp: OpenERP version 7.0
    2014-05-07 19:53:47,107 12694 INFO ? openerp: addons paths: /home/openerp/instancias/estable/7.0/modules
    2014-05-07 19:53:47,108 12694 INFO ? openerp: database hostname: localhost
    2014-05-07 19:53:47,108 12694 INFO ? openerp: database port: 5432
    2014-05-07 19:53:47,108 12694 INFO ? openerp: database user: openerp
    2014-05-07 19:53:47,254 12694 CRITICAL ? openerp.modules.module: Couldn’t load module web
    2014-05-07 19:53:47,255 12694 CRITICAL ? openerp.modules.module: [Errno 1] Operation not permitted: ‘/tmp/oe-sessions-openerp’

    esto lo solucione iniciando sesion como un usuario administrador y aplicando lo siguiente.

    sudo chown openerp:openerp oe-sessions-openerp/

    con eso , el log aparece con todo correcto.

  10. Buenas tardes Chava, primero que nada Chava gracias por el apoyo brindado en estos meses, ya estoy en prubas con el modulo de factura y ya timbra, pero me surgio un error al momento de querer cancelar la factuara que es el siguiente: AttributeError: ‘account.invoice’ object has no attribute ‘sf_cancel’, en este caso no se si sea por los parametros o el certificado, hojala me puedas ayudar, saludos.

    1. Hola Richard, creo haber leido sobre el error, no se que revision del la localizacion estes usando, tal vez cuando instalaste los modulos aun tenia las opciones de cancelar como en el modulo para la version 6 de OpenERP.

      ¿Como es que realizas el preoceso de Cancelacion?

      Con la factura abierta
      ¿haces click sobre el boton de “Cancelar” propio de OpenERP?

      O ¿hay alguna opcion sobre el boton “Mas” con alguna leyenda similar a esta: “Cancel Invoice PAC”? (esto en caso de que aparezca)

      La factura debe cancelarse con el Boton de “Cancelar Factura” propio del modulo de OpenERP, y caso de tener la ultimo opcion que mencione, esa no debe usarse.

      Ese puede ser el problema.

      Espero te sirva de ayuda mi comentario.

      Saludos!

      1. Ok, estoy trabajando sobre la revisión 369 de la localización.

        Para cancelar la factura una vez que esta abierta le doy clic en el botón más y selecciono la opción”Cancelar Factura PAC SF” aunque también me aparece el botón de “Cancelar Factura” propio de OpenERP.

        ¿Entonces la forma correcta de hacerlo es solo presionar sobre el botón Cancelar Factura propio de openerp?

    1. Hola Demodar,
      Solo basta que pongas la IP de tu equipo servidor de OpenERP en un navegador de cualquier equipo dentro de tu red local, incluyendo el puerto por supuesto. ejemplo: http://192.168.1.11:8069

      No hace falta nadamas, a menos que tengas tu servidor con reglas de firewall bloquenado puertos.

      Saludos!

  11. Buenas, yo lo he instalado en un equipo con ubuntu 14.04 server pero al intentar crear una base de datos me salta lo siguiente

    OpenERP Server Error

    Client Traceback (most recent call last):
    File “/home/openerp/instancias/estable/7.0/modules/web/http.py”, line 204, in dispatch
    response[“result”] = method(self, **self.params)
    File “/home/openerp/instancias/estable/7.0/modules/web/controllers/main.py”, line 774, in create
    params[‘create_admin_pwd’])
    File “/home/openerp/instancias/estable/7.0/modules/web/session.py”, line 30, in proxy_method
    result = self.session.send(self.service_name, method, *args)
    File “/home/openerp/instancias/estable/7.0/modules/web/session.py”, line 103, in send
    raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)

    Server Traceback (most recent call last):
    File “/home/openerp/instancias/estable/7.0/modules/web/session.py”, line 89, in send
    return openerp.netsvc.dispatch_rpc(service_name, method, args)
    File “/home/openerp/instancias/estable/7.0/server/openerp/netsvc.py”, line 296, in dispatch_rpc
    result = ExportService.getService(service_name).dispatch(method, params)
    File “/home/openerp/instancias/estable/7.0/server/openerp/service/web_services.py”, line 122, in dispatch
    return fn(*params)
    File “/home/openerp/instancias/estable/7.0/server/openerp/service/web_services.py”, line 167, in exp_create_database
    self._create_empty_database(db_name)
    File “/home/openerp/instancias/estable/7.0/server/openerp/service/web_services.py”, line 136, in _create_empty_database
    cr.execute(“””CREATE DATABASE “%s” ENCODING ‘unicode’ TEMPLATE “%s” “”” % (name, chosen_template))
    File “/home/openerp/instancias/estable/7.0/server/openerp/sql_db.py”, line 161, in wrapper
    return f(self, *args, **kwargs)
    File “/home/openerp/instancias/estable/7.0/server/openerp/sql_db.py”, line 226, in execute
    res = self._obj.execute(query, params)
    ProgrammingError: permission denied to create database

    1. Hola, Gracias por tu visita.

      Tal vez tu a tu usuario de postgrs le fatlo el permiso de Crear bases de datos, esto en el paso:

      “Creación de usuario para Postgres”

      ¿Debe permitírsele al rol la creación de bases de datos? (s/n) s

      Revisalo, tal vez es eso.

      Saludos!

  12. Buenas,

    Acabo de instaler el sistema pero no me deja instalar algunos addons!!!! ¿Cual podrias ser el problema?, y el addon de Point of sale no da la opcion de install.

    Client Traceback (most recent call last):
    File “/opt/openerp/server/openerp/addons/web/http.py”, line 204, in dispatch
    response[“result”] = method(self, **self.params)
    File “/opt/openerp/server/openerp/addons/web/controllers/main.py”, line 1132, in call_button
    action = self._call_kw(req, model, method, args, {})
    File “/opt/openerp/server/openerp/addons/web/controllers/main.py”, line 1120, in _call_kw
    return getattr(req.session.model(model), method)(*args, **kwargs)
    File “/opt/openerp/server/openerp/addons/web/session.py”, line 42, in proxy
    result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
    File “/opt/openerp/server/openerp/addons/web/session.py”, line 30, in proxy_method
    result = self.session.send(self.service_name, method, *args)
    File “/opt/openerp/server/openerp/addons/web/session.py”, line 103, in send
    raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)

    Server Traceback (most recent call last):
    File “/opt/openerp/server/openerp/addons/web/session.py”, line 89, in send
    return openerp.netsvc.dispatch_rpc(service_name, method, args)
    File “/opt/openerp/server/openerp/netsvc.py”, line 296, in dispatch_rpc
    result = ExportService.getService(service_name).dispatch(method, params)
    File “/opt/openerp/server/openerp/service/web_services.py”, line 626, in dispatch
    res = fn(db, uid, *params)
    File “/opt/openerp/server/openerp/osv/osv.py”, line 190, in execute_kw
    return self.execute(db, uid, obj, method, *args, **kw or {})
    File “/opt/openerp/server/openerp/osv/osv.py”, line 132, in wrapper
    return f(self, dbname, *args, **kwargs)
    File “/opt/openerp/server/openerp/osv/osv.py”, line 199, in execute
    res = self.execute_cr(cr, uid, obj, method, *args, **kw)
    File “/opt/openerp/server/openerp/osv/osv.py”, line 187, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
    File “/opt/openerp/server/openerp/addons/base/module/module.py”, line 426, in button_immediate_install
    return self._button_immediate_function(cr, uid, ids, self.button_install, context=context)
    File “/opt/openerp/server/openerp/addons/base/module/module.py”, line 477, in _button_immediate_function
    _, pool = pooler.restart_pool(cr.dbname, update_module=True)
    File “/opt/openerp/server/openerp/pooler.py”, line 39, in restart_pool
    registry = RegistryManager.new(db_name, force_demo, status, update_module)
    File “/opt/openerp/server/openerp/modules/registry.py”, line 233, in new
    openerp.modules.load_modules(registry.db, force_demo, status, update_module)
    File “/opt/openerp/server/openerp/modules/loading.py”, line 354, in load_modules
    loaded_modules, update_module)
    File “/opt/openerp/server/openerp/modules/loading.py”, line 256, in load_marked_modules
    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
    File “/opt/openerp/server/openerp/modules/loading.py”, line 192, in load_module_graph
    load_demo(module_name, idref, mode)
    File “/opt/openerp/server/openerp/modules/loading.py”, line 77, in
    load_demo = lambda *args: _load_data(cr, *args, kind=’demo’)
    File “/opt/openerp/server/openerp/modules/loading.py”, line 124, in _load_data
    tools.convert_xml_import(cr, module_name, fp, idref, mode, noupdate, report)
    File “/opt/openerp/server/openerp/tools/convert.py”, line 959, in convert_xml_import
    obj.parse(doc.getroot())
    File “/opt/openerp/server/openerp/tools/convert.py”, line 852, in parse
    self._tags[rec.tag](self.cr, rec, n)
    File “/opt/openerp/server/openerp/tools/convert.py”, line 810, in _tag_record
    f_val = self.id_get(cr, f_ref)
    File “/opt/openerp/server/openerp/tools/convert.py”, line 829, in id_get
    res = self.model_id_get(cr, id_str)
    File “/opt/openerp/server/openerp/tools/convert.py”, line 838, in model_id_get
    return model_data_obj.get_object_reference(cr, self.uid, mod, id_str)
    File “/opt/openerp/server/openerp/tools/cache.py”, line 18, in lookup
    r = self.lookup(self2, cr, *args)
    File “/opt/openerp/server/openerp/tools/cache.py”, line 46, in lookup
    value = d[key] = self.method(self2, cr, *args)
    File “/opt/openerp/server/openerp/addons/base/ir/ir_model.py”, line 876, in get_object_reference
    data_id = self._get_id(cr, uid, module, xml_id)
    File “/opt/openerp/server/openerp/tools/cache.py”, line 18, in lookup
    r = self.lookup(self2, cr, *args)
    File “/opt/openerp/server/openerp/tools/cache.py”, line 46, in lookup
    value = d[key] = self.method(self2, cr, *args)
    File “/opt/openerp/server/openerp/addons/base/ir/ir_model.py”, line 869, in _get_id
    raise ValueError(‘No such external ID currently defined in the system: %s.%s’ % (module, xml_id))
    ValueError: No such external ID currently defined in the system: base.res_partner_2

    Gracias,

  13. Buen día chava instale la localización mexicana y ahora me arroja le siguiete KeyError: u ‘ l10n_mx_street 3 ‘, segun yo ya he instalado el modulo que permite ver este campo, me podrias orientar que debo hacer para mostrar el campo (N° externo)

    1. Hola Richard,

      Para ver los campos de No. Ext y No. Int. se debe configurar la compañia y poner el pais de México en su direccion.

      De no ser asi, te saldra otro formato de direccion.

      Saludos!

      1. Gracias por tu comentario, al configurar la dirección de la compañia el sistema ya muestra los campos mencionados.

        Mil gracias, un saludo.

  14. hola chavamm una pregunta, no se que hice mal, he seguido todo al pie de la letra pero al ingresar este comando me tira este error
    user$ sudo su openerp
    openerp$ cd /home/openerp/instancias/estable/7.0
    openerp$ python openerp-server -c /home/openerp/instancias/config/estable_70.conf

    python: can’t open file ‘openerp-server’: [Errno 2] No such file or directory

    deje eso hasta terminarlo posteriormente ingrese a localhost:8069 y me dice:

    No handler found.

    espero y me puedas ayudar

    1. Hola @cemar88,
      Segun yo, el error pudiera ser, que no entras al directorio de server:

      openerp$ cd /home/openerp/instancias/estable/7.0/server

      openerp$ python openerp-server -c home/openerp/instancias/config/estable_70.conf

      Intentalo asi, y me cuentas.

      Saludos!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s