Archivos

Instalando OpenERP en Debian Lenny

OpenERPOpenERP es una de las mejores soluciones en software libre para el sector empresarial y de negocios. Tiene muy bien estructurado el esquema de extensiones de modulos y puede adaptarse fácilmente a cualquier escenario de negocios.
Existen paquetes preparados para instalarlo en Debian Squeeze (testing), pero no los hay para Debian Lenny (stable), se puede instalar desde las fuentes bajando algunas dependencias a mano y haciendo algunos ajustes, pero esa no es la Debian Way ;) . Se puede descargar los paquetes de Squeeze a mano e instalarlos pero igual hay que resolver algunas dependencias, así que una opción es utilizar directamente los repositorios de Squeeze en Lenny. Esto podría ocasionar algunos problemas en algún servidor en producción, por que algunos paquetes pueden ser actualizados a versiones más recientes y romper dependencias con otros, por eso hay que tener en cuenta esto antes de hacer algo así y estar atento a los cambios que se van a realizar antes de instalar cualquier cosa.

  • Lo primero que hacemos es modificar la lista de repositorios y agregar una línea con algún repositorio de Squeeze, puede ser una de las mismas que tenemos en “/etc/apt/sources.list” y se cambia “stable” o “lenny” por “squeeze“, guardamos los cambios y actualizamos la lista de paquetes con “aptitude update”.
  • OpenERP trabaja con PostgreSQL así que vamos a necesitar instalarlo, este se instala como una recomendación de OpenERP y al estar usando los repositorios de Squeeze va a solicitar instalar la ultima versión disponible, a la fecha es la 8.4, así que si ya se tiene instalado el servidor PostgreSQL se usa la siguiente línea para instalar solo el servidor de OpenERP y las dependencias necesarias:aptitude install --without-recommends openerp-server
    Con esto instalamos solo lo necesario para tener el servidor de OpenERP corriendo.
  • Luego podemos instalar algunas otros paquetes de los recomendados por el paquete openerp-server
    aptitude install python-imaging python-openssl python-pyparsing libxslt1-dev
  • Necesitamos un usuario postgresql para el servidor openerp, lo podemos crear con el siguiente comando:
    su - postgres -c "createuser --createdb --no-createrole --pwprompt openerp"
    Con esta línea estamos creando un usuario llamado “openerp” se puede usar otro nombre, además va a pedir una contraseña que es la que vamos a utilizar posteriormente para hacer la conexión a la BD
  • Tenemos que editar el archivo /etc/openerp-server.conf para agregar el password del usuario de la BD
  • Reiniciamos el servicio openerp:
    /etc/init.d/openerp-server restart

Con estos pasos ya tenemos configurado y funcionando el servidor OpenERP, lo que queda es configurarlo, eso lo podemos hacer utilizando el cliente OpenERP, existe una versión escrita en GTK, que se puede instalar directamente con: aptitude install openerp-client. La otra forma, es usar el cliente web, como estás usando un servidor lo podemos instalar en la misma máquina y acceder desde cualquier máquina directamente solo usando un navegador. No hay un paquete Debian aún para el cliente web, existe uno que están preparando, pero no funcionó bien luego de instalarlo, así que utilicé la opción de instalarlo a mano, los pasos para hacerlo funcionar serían los siguientes:

  • Descargamos el cliente web de la página de OpenERP
  • El cliente web está escrito en Python y necesitamos instalar algunas librerías para que pueda funcionar correctamente, podemos instalar estos paquetes con la siguiente línea:
    sudo aptitude install python-cherrypy3 python-formencode python-simplejson python-mako python-pybabel
  • Este cliente ejecuta un servicio que corre por defecto en el puerto 8080, así que podemos ejecutarlo desde donde queramos, en mi caso copié el contenido de la carpeta en/opt/openerp-web/, desde ahí podemos probarlo ejecutando el comando: 
    python openerp-web.py
    Si no genera ningún error, ya esta funcionando perfectamente y podemos acceder desde cualquier navegador con la dirección: http://ip.del.servidor:8080, al ingresar la primera vez se necesita configurar la BD y crear la instancia que vamos a usar, además de poder crear usuarios.

Lo ideal sería configurar el cliente para que se inicie como un servicio del sistema y no tener que estar levantando cada vez que queramos usarlo, para esto podemos hacer lo siguiente:

  • El cliente web provee un script que podemos utilizar para usarlo como un servicio del sistema, este script lo podemos copiar a la carpeta /etc/init.d :
    cp /opt/scripts/openerp-web /etc/init.d/
  • Debes modificar ese script, buscamos la línea donde aparece “DAEMON” que contiene la ruta donde está el ejecutable del cliente web y ponemos la que corresponde con nuestra instalación:
    DAEMON=/opt/openerp-web/openerp-web.py
  • Tambien es necesario copiar el archivo de configuración del cliente web a la carpeta /etc:
    cp config/openerp-web.cfg /etc/
  • Esto es opcional, pero podemos crear la carpeta de logs y darle los permisos necesarios:
    mkdir -p /var/log/openerp-web
    chmod -R openerp:adm /var/log/openerp-web
  • Luego, lo más importante, configurar openerp-web para que sea cargado al arrancar el sistema, lo hacemos con el comando update-rc.d de Debian:
    update-rc.d openerp-web start 70 2 3 4 5 . stop 20 0 1 6 .
  • Y listo, una vez realizado esto, simplemente podemos iniciar el servicio con el comando:
    /etc/init.d/openerp-web start

Con estos pasos podemos tener OpenERP completamente funcionando en un servidor con Debian Lenny, si hicieron la parte de utilizar directamente los repositorios de Debian Squeez debe volver a quitarlos del archivo /etc/apt/sources.list para evitar problemas en próximas actualizaciones.

Se puede configurar el cliente web para que funcione directamente con Apache, y poder accederlo usando https, eso lo estaré publicando en otra entrada ;)

2 comments to Instalando OpenERP en Debian Lenny

  • A ver si me puedes ayudar por favor, he levantado el cilente openerp-web y luego voy a probar el en el browser http://localhost:8080/
    Aparece la pagina inicial de logeo pero me sale el mensaje “Servidor no encontrado…”
    Tengo que tener levantado tambi´en el servidor puro es decir openerp-server? o no? porque tambien lo he hecho pero nada, no he tocado los archivos de configuracion.

  • Si, debes tener el servidor corriendo en esa máquina. Puedes usar un servidor remoto, pero debes indicarlo en el archivo de configuración config/openerp-web.cfg en la parte que pone: server.socket_host = “0.0.0.0″ cambias el 0.0.0.0 por el servidor que vas a usar.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">