viernes, 16 de noviembre de 2012

Instalación de OpenERP 6.1 en Ubuntu Server (o Debian)




Instalación de OpenERP 6.1 en Ubuntu Server (o Debian)

OpenERP es uno de los gestores de recursos empresariales más importante en la actualidad, esto se debe principalmente a toda la comunidad que aporta en su construcción y mejora continua.

En este caso, abordaremos uno de los principales procesos antes de poder iniciar a usar esta herramienta, como es su instalación, especificamente en Ubuntu Server. Cabe aclarar que esta guia puede ser usada para instalar OpenERP en Debian sin mayores dificultades (en Debian, ingresar al sistema como usuario root y ejecutar los comandos sin "sudo").

Iniciemos:

Lo primero, necesitamos Ubuntu server 10.04 LTS instalado, que por ahora quedará fuera de nuestra explicación.

Ahora tenemos que actualizar el sistema, esto se hace mediante los siguientes comandos :

Actualización de los repositorios:
sudo apt-get update

Iniciamos la actualización del sistema:
sudo apt-get upgrade

A partir de aqui, separaremos la instalacion en dos fases: la primera que se encarga de instalar y configurar la base de datos y la segunda que es la instalacion de OpenERP. La ventaja de hacerlo de esta manera es que podemos usar 2 servidores independientes, así cada uno se encarga de una parte específica.

Fase 1:

Instalando PostgreSQL para OpenERP

Iniciamos creando un usuario de sistema que sera utilizado para el acceso a Postgres, para nuestro ejemplo lo llamaremos "openerp"

sudo addgroup openerp
sudo useradd -m -s /bin/bash -g openerp openerp

Ahora configuramos la contraseña de este usuario, lo hacemos con el siguiente comando:

sudo passwd openerp

Aquí el sistema pedirá la nueva contraseña, al igual que la confirmación de la misma.


Finalizado esto, instalamos Postgres

sudo apt-get install postgresql

En este punto debemos crear el usuario o "rol" con el cual accederemos a PostgreSQL:

(ingresamos como usuario postgres del sistema)
sudo su postgres

(Creamos el rol openerp)
createuser openerp -P

Nos preguntará:

La contraseña, que deberemos escribirla 2 veces
Si queremos que este usuario sea "super usario", pondremos "n"
Si se le permitirá crear bases de datos, pondremos "s"
Si se le permitirá crear otros roles, pondremos "n"

Hay que tomar en cuenta que si la instalación se la hace en inglés deberá responderse en inglés, es decir, en vez de "s" poner "y"

(salimos del usuario postgres)
exit

Que hacer si el servidor es exclusivo para PostgreSQL:

Es necesario habilitar el acceso a este servidor modificando los archivos de configuración de postgres:


La mejor manera de ubicarlos archivos de configuración de postgres es utilizando el siguiente comando:

sudo find / -name postgresql.conf

En mi caso, el archivo de configuración se encuentra en /etc/postgresql/8.4/main/postgresql.conf

Por defecto, tu servidor postgres solamente escuchará en localhost, para permitir el acceso a cualquier host modificaremos la siguiente directiva como está a continuación:

listen_addresses = '*'



Editar el fichero pg_hba.conf:

De manera similar, buscamos el archivo pg_hba.conf con la siguiente instrucción:

sudo find / -name pg_hba.conf
En mi caso, el archivo de configuración se encuentra en /etc/postgresql/8.4/main/pg_hba.conf

La idea es agregar una línea al final del archivo que permita el acceso al servidor, la línea es la siguiente:

host all all 0.0.0.0 0.0.0.0 md5

Una vez realizados estos pasos, debemos reiniciar el servicio postgres para tener acceso desde otro servidor.


Fase 2:

Instalando OpenERP

Aunque se menciona como instalación, realmente aquí lo que se instalarán son las dependencias que OpenERP requiere para funcionar.

OpenERP puede ejecutarse directamente gracias a que ocupa un lenguaje interpretado, en este caso python.

Para comenzar, si estamos trabajando en un servidor diferente al que instalamos postgres, deberemos realizar los siguientes pasos: (si la instalación es en el mismo servidor se puede omitir el paso 1 y 2)


1._ (Actualización de los repositorios y actualización del sistema)
sudo apt-get update
sudo apt-get upgrade

2._ (Creación del usuario openerp)
sudo addgroup openerp
sudo useradd -m -s /bin/bash -g openerp openerp
passwd openerp (pide ingresar 2 veces la contraseña)

Ahora Instalamos los requisitos de OpenERP para que pueda funcionar correctamente, esto lo hacemos con el siguiente comando:

sudo apt-get install python-lxml python-mako python-dateutil python-psycopg2 python-pychart python-pydot python-tz python-reportlab python-yaml python-vobject python-setuptools python-openid python-webdav

Instalamos el Manager de paquetes para python (pip)

sudo easy_install pip

Este nos ayudara a instalar las versiones que OpenERP requiere de los siguientes paquetes:

(werkzeug)
sudo pip install werkzeug

(babel)
sudo pip install babel

Descargando OpenERP y ejecutarlo

Ingresamos como usuario openerp para usar su home como directorio de trabajo

sudo su - openerp (pedirá la contraseña)

Descargamos OpenERP desde la página oficial, para este trabajo usamos el comando wget


wget http://nightly.openerp.com/6.1/releases/openerp-6.1-1.tar.gz

Lo descomprimimos:

tar -zxvf openerp-6.1-1.tar.gz

Ahora, iniciamos OpenERP, hasta este punto si está en el mismo servidor que postgres debería arrancar correctamente, sin embargo, si está instalado en un servidor diferente nos dará un mensaje de error al querer mostrar la lista de bases de datos, esto debido a que no se ha configurado la conexión al servidor de postgres.

cd openerp-6.1-1
./openerp-server


Configurar OpenERP para conectarse a PostgreSQL

OpenERP soporta algunos parámetros desde línea de comandos, existe uno que creara un archivo de configuración en el directorio home del usuario (si estamos como usuario openerp será /home/openerp), el parámetro es "-s".

Pero antes, debemos ingresar como usuario openerp:

sudo su - openerp
cd /home/openerp/openerp-6.1-

 ./openerp-server -s



Una vez ejecutado, se crea el archivo de nombre ".openerp-serverrc".

Cabe anotar que si no se especifica ninguna opción de archivo de configuración este será el archivo que OpenERP use la siguiente vez que inicie.

Ahora, editamos este archivo (como usuario openerp)

nano  /home/openerp/.openerp-serverrc

y buscamos las siguientes opciones que configuraremos con los valores necesarios para conectarse al servidos Postgres:



db_user: Indica el nombre de usuario con el que nos conectaremos, en nuestro caso "openerp"

db_password: La contraseña del usuario que estamos usando, aquí pondremos la contraseña que se configuró al crear el rol para postgres

db_port: Puerto en el cual esta escuchando postgres, por defecto es el 5432

db_host: Dirección IP del servidor, esta dirección dependerá de la configuración de red.

Ejemplo:

db_user = openerp
db_password = clave
db_port = 5432
db_host = 192.168.0.189

Y ahora si, ejecutemos OpenERP (debemos estar en /home/openerp/openerp-6.1-1 y acceder como usuario openerp)

./openerp-server

Eso es todo, en caso de error de conexión a la Base de Datos, debe verificarse la configuración del servidor de PostgreSQL y la información del archivo de configuración de OpenERP.

Espero que este tutorial les sea muy útil!!!

Si deas más información sobre nosotros puedes ingresar a nuestro portal, www.trescloud.com

Saludos!!!