OpenERP master en el base, PostgreSQL 9.3.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.3/static/auth-methods.html
- Existen plantillas para los archivo de configuración de Postgres que se pueden modificar para cada proyecto.
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 e sla solución ideal, debería poder hacerlo el propio buildout, pero de momento queda así)
$ sudo apt-get install libreadline-dev
- Descargar el repositorio de buildouts :
$ git clone https://github.com/Pexego/Buildouts.git
- [EN REVISIÓN] Hacer checkout de la rama deseada según proyecto
$ git checkout <rama>
- 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]
- Y por último, si se desea usar la receta de OpenERP de desarrollo se hará lo siguiente. ÇYA se ha publicado un anueva versión con soporte para Odoo con lo que , en principio no parece necesario:
- descargar receta de openerp del repo de anybox en launchpad, en el archivo de configuración de buildout poner la ruta al repo de anybox.
$ bzr branch lp:anybox.recipe.openerp
- Lanzar buildout (el -c [archivo_buildout] se usa cuando no tiene el nombre por defecto buildout.cfg)
$ 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:9002
- Si fuera necesario hacer update all, se puede parar desde el supervisor y en la consola hacer:
$ cd bin
$ ./upgrade_openerp
- oddo se lanza en el puerto 9069 (se pude configurar en otro)
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 = 9002 (9001 default supervisord)
postgres_port = 5434 (5432 default postgres)
- Generar Apache and Nginx config for virualhost with Buildout
Rastislav Kober, http://www.kybi.sk