Skip to content

Comunitea/cmnt_odoo

Repository files navigation

Buildout base para proyectos con OpenERP y PostgreSQL

OpenERP master en el base, PostgreSQL 9.4.4 y Supervisord 3.0

  • Buildout crea cron para iniciar Supervisord después de reiniciar (esto no lo he probado)
  • Supervisor ejecuta PostgreSQL, más info http://supervisord.org/
  • También ejecuta la instancia de PostgreSQL
  • Si existe un archivo dump.sql, el sistema generará la base de datos con ese dump
  • Si existe un archivo frozen.cfg es el que se debeía usar ya que contiene las revisiones aprobadas
  • PostgreSQL se compila y corre bajo el usuario user (no es necesario loguearse como root), se habilita al autentificación "trust" para conexiones locales. Más info en more http://www.postgresql.org/docs/9.4/static/auth-methods.html
  • Existen plantillas para los archivo de configuración de Postgres que se pueden modificar para cada proyecto.

Uso (adaptado)

En caso de no haberse hecho antes en la máquina en la que se vaya a realizar, instalar las dependencias que mar Anybox

  • Añadir el repo a /etc/apt/sources.list:
$ deb http://apt.anybox.fr/openerp common main
  • Si se quiere añadir la firma. Esta a veces tarda mucho tiempo o incluso da time out. Es opcional meterlo
$ sudo apt-key adv --keyserver hkp://subkeys.pgp.net --recv-keys 0xE38CEB07
  • Actualizar e instalar
$ sudo apt-get update
$ sudo apt-get install openerp-server-system-build-deps
  • Para poder compilar e instalar postgres (debemos valorar si queremos hacerlo siempre), es necesario instalar el siguiente paquete (no es la solución ideal, debería poder hacerlo el propio buildout, pero de momento queda así)
$ sudo apt-get install libreadline-dev
  • Crear un virtualenv dentro de la carpeta del respositorio. Esto podría ser opcional, obligatorio para desarrollo o servidor de pruebas, tal vez podríamos no hacerlo para un despliegue en producción. Si no está instalado, instalar el paquete de virtualenv. Es necesario tener la versión que se instala con easy_install o con pip, desinstalar el paquete python-virtualenv si fuera necesario e instalarlo con easy_install
$ sudo easy_install virtualenv
$ virtualenv sandbox --no-setuptools
  • Crear la carpeta eggs (no se crea al vuelo, ¿debería?
$ mkdir eggs
  • Ahora procedemos a ehecutar el buildout en nuestro entorno virtual
$ sandbox/bin/python bootstrap.py -c [archivo_buildout]
$ bin/buildout -c [archivo_buildout]
  • Puede que de error, hay que lanzar el supervisor y volver a hacer bin/buildout:
$ bin/supervisord
$ bin/buildout -c [archivo_buildout]
  • Conectarse al supervisor con localhost:9001
  • Si fuera necesario hacer update all, se puede parar desde el supervisor y en la consola hacer:
$ cd bin
$ ./upgrade_openerp
  • odoo se lanza en el puerto 8069 (se pude configurar en otro)

Configurar OpenERP

Archivo de configuración: etc/openerp.cfg, si sequieren cambiar opciones en openerp.cfg, no se debe editar el fichero, si no añadirlas a la sección [openerp] deñ buildout.cfg y establecer esas opciones .'add_option' = value, donde 'add_option' y ejecutar buildout otra vez.

Por ejmplo: cambiar el nivel de logging de OpenERP

'buildout.cfg'
...
[openerp]
options.log_handler = [':ERROR']
...

Si se quiere ejecutar más de una instancia de OpenERP, se deben cambiar los puertos, please change ports:

openerp_xmlrpc_port = 8069  (8069 default openerp)
openerp_xmlrpcs_port = 8071 (8071 default openerp)
supervisor_port = 9001      (9001 default supervisord)
postgres_port = 5432        (5432 default postgres)

TODO

  • Generar Apache and Nginx config for virualhost with Buildout

Contributors

Creators

Rastislav Kober, http://www.kybi.sk